package.xml 0000666 115327001610067500000423771 12272324174 010324 0 ustar
sdk
pear.amazonwebservices.com
Official PHP SDK for Amazon Web Services.
The AWS SDK for PHP enables PHP developers to easily work with Amazon Web Services and build scalable solutions with Amazon S3, Amazon DynamoDB, Amazon Glacier, and more.
Michael Dowling
mtdowling
mtdowling@gmail.com
yes
Jeremy Lindblom
jeremeamia
jeremeamia@gmail.com
yes
Ryan Parman
skyzyx
ryan@ryanparman.com
no
2014-01-29
2.5.2
2.5.2
stable
stable
Apache 2.0
This release adds support for dead letter queues to the Amazon Simple Queue Service client.
5.3.3
1.4.0
Guzzle
guzzlephp.org/pear
3.0.3
curl
2.5.2
2.5.2
stable
stable
2014-01-29
Apache 2.0
This release adds support for dead letter queues to the Amazon Simple Queue Service client.
sdk-2.5.2/Aws/AutoScaling/AutoScalingClient.php 0000644 115327001610067500000016157 12272324172 016444 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/autoscaling-%s.php'
))
->build();
}
}
sdk-2.5.2/Aws/AutoScaling/Enum/LifecycleState.php 0000644 115327001610067500000001630 12272324172 016666 0 ustar '2011-01-01',
'endpointPrefix' => 'autoscaling',
'serviceFullName' => 'Auto Scaling',
'serviceType' => 'query',
'resultWrapped' => true,
'signatureVersion' => 'v4',
'namespace' => 'AutoScaling',
'regions' => array(
'us-east-1' => array(
'http' => true,
'https' => true,
'hostname' => 'autoscaling.us-east-1.amazonaws.com',
),
'us-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'autoscaling.us-west-1.amazonaws.com',
),
'us-west-2' => array(
'http' => true,
'https' => true,
'hostname' => 'autoscaling.us-west-2.amazonaws.com',
),
'eu-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'autoscaling.eu-west-1.amazonaws.com',
),
'ap-northeast-1' => array(
'http' => true,
'https' => true,
'hostname' => 'autoscaling.ap-northeast-1.amazonaws.com',
),
'ap-southeast-1' => array(
'http' => true,
'https' => true,
'hostname' => 'autoscaling.ap-southeast-1.amazonaws.com',
),
'ap-southeast-2' => array(
'http' => true,
'https' => true,
'hostname' => 'autoscaling.ap-southeast-2.amazonaws.com',
),
'sa-east-1' => array(
'http' => true,
'https' => true,
'hostname' => 'autoscaling.sa-east-1.amazonaws.com',
),
'cn-north-1' => array(
'http' => true,
'https' => true,
'hostname' => 'autoscaling.cn-north-1.amazonaws.com.cn',
),
'us-gov-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'autoscaling.us-gov-west-1.amazonaws.com',
),
),
'operations' => array(
'AttachInstances' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'AttachInstances',
),
'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,
),
),
),
'CreateAutoScalingGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateAutoScalingGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'AutoScalingGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'LaunchConfigurationName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1600,
),
'InstanceId' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 16,
),
'MinSize' => array(
'required' => true,
'type' => 'numeric',
'location' => 'aws.query',
),
'MaxSize' => array(
'required' => true,
'type' => 'numeric',
'location' => 'aws.query',
),
'DesiredCapacity' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'DefaultCooldown' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'AvailabilityZones' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'AvailabilityZones.member',
'minItems' => 1,
'items' => array(
'name' => 'XmlStringMaxLen255',
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
),
'LoadBalancerNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'LoadBalancerNames.member',
'items' => array(
'name' => 'XmlStringMaxLen255',
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
),
'HealthCheckType' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 32,
),
'HealthCheckGracePeriod' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'PlacementGroup' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'VPCZoneIdentifier' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'TerminationPolicies' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'TerminationPolicies.member',
'items' => array(
'name' => 'XmlStringMaxLen1600',
'type' => 'string',
'minLength' => 1,
'maxLength' => 1600,
),
),
'Tags' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Tags.member',
'items' => array(
'name' => 'Tag',
'type' => 'object',
'properties' => array(
'ResourceId' => array(
'type' => 'string',
),
'ResourceType' => array(
'type' => 'string',
),
'Key' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 128,
),
'Value' => array(
'type' => 'string',
'maxLength' => 256,
),
'PropagateAtLaunch' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'The named Auto Scaling group or launch configuration already exists.',
'class' => 'AlreadyExistsException',
),
array(
'reason' => 'The quota for capacity groups or launch configurations for this customer has already been reached.',
'class' => 'LimitExceededException',
),
),
),
'CreateLaunchConfiguration' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateLaunchConfiguration',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'LaunchConfigurationName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'ImageId' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'KeyName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'SecurityGroups' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'SecurityGroups.member',
'items' => array(
'name' => 'XmlString',
'type' => 'string',
),
),
'UserData' => array(
'type' => 'string',
'location' => 'aws.query',
'maxLength' => 21847,
),
'InstanceId' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 16,
),
'InstanceType' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'KernelId' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'RamdiskId' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'BlockDeviceMappings' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'BlockDeviceMappings.member',
'items' => array(
'name' => 'BlockDeviceMapping',
'type' => 'object',
'properties' => array(
'VirtualName' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
'DeviceName' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
'Ebs' => array(
'type' => 'object',
'properties' => array(
'SnapshotId' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
'VolumeSize' => array(
'type' => 'numeric',
'minimum' => 1,
'maximum' => 1024,
),
'VolumeType' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
'DeleteOnTermination' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
'Iops' => array(
'type' => 'numeric',
'minimum' => 100,
'maximum' => 4000,
),
),
),
'NoDevice' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
'InstanceMonitoring' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
'SpotPrice' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'IamInstanceProfile' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1600,
),
'EbsOptimized' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'AssociatePublicIpAddress' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The named Auto Scaling group or launch configuration already exists.',
'class' => 'AlreadyExistsException',
),
array(
'reason' => 'The quota for capacity groups or launch configurations for this customer has already been reached.',
'class' => 'LimitExceededException',
),
),
),
'CreateOrUpdateTags' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateOrUpdateTags',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'Tags' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Tags.member',
'items' => array(
'name' => 'Tag',
'type' => 'object',
'properties' => array(
'ResourceId' => array(
'type' => 'string',
),
'ResourceType' => array(
'type' => 'string',
),
'Key' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 128,
),
'Value' => array(
'type' => 'string',
'maxLength' => 256,
),
'PropagateAtLaunch' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'The quota for capacity groups or launch configurations for this customer has already been reached.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'The named Auto Scaling group or launch configuration already exists.',
'class' => 'AlreadyExistsException',
),
),
),
'DeleteAutoScalingGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteAutoScalingGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'AutoScalingGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1600,
),
'ForceDelete' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'You cannot delete an Auto Scaling group while there are scaling activities in progress for that group.',
'class' => 'ScalingActivityInProgressException',
),
array(
'reason' => 'This is returned when you cannot delete a launch configuration or Auto Scaling group because it is being used.',
'class' => 'ResourceInUseException',
),
),
),
'DeleteLaunchConfiguration' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteLaunchConfiguration',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'LaunchConfigurationName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1600,
),
),
'errorResponses' => array(
array(
'reason' => 'This is returned when you cannot delete a launch configuration or Auto Scaling group because it is being used.',
'class' => 'ResourceInUseException',
),
),
),
'DeleteNotificationConfiguration' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteNotificationConfiguration',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'AutoScalingGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1600,
),
'TopicARN' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1600,
),
),
),
'DeletePolicy' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeletePolicy',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'AutoScalingGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1600,
),
'PolicyName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1600,
),
),
),
'DeleteScheduledAction' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteScheduledAction',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'AutoScalingGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1600,
),
'ScheduledActionName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1600,
),
),
),
'DeleteTags' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteTags',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'Tags' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Tags.member',
'items' => array(
'name' => 'Tag',
'type' => 'object',
'properties' => array(
'ResourceId' => array(
'type' => 'string',
),
'ResourceType' => array(
'type' => 'string',
),
'Key' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 128,
),
'Value' => array(
'type' => 'string',
'maxLength' => 256,
),
'PropagateAtLaunch' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
),
),
'DescribeAccountLimits' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeAccountLimitsAnswer',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeAccountLimits',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
),
),
'DescribeAdjustmentTypes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeAdjustmentTypesAnswer',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeAdjustmentTypes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
),
),
'DescribeAutoScalingGroups' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'AutoScalingGroupsType',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeAutoScalingGroups',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'AutoScalingGroupNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'AutoScalingGroupNames.member',
'items' => array(
'name' => 'ResourceName',
'type' => 'string',
'minLength' => 1,
'maxLength' => 1600,
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
'maximum' => 50,
),
),
'errorResponses' => array(
array(
'reason' => 'The NextToken value is invalid.',
'class' => 'InvalidNextTokenException',
),
),
),
'DescribeAutoScalingInstances' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'AutoScalingInstancesType',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeAutoScalingInstances',
),
'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,
),
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
'maximum' => 50,
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The NextToken value is invalid.',
'class' => 'InvalidNextTokenException',
),
),
),
'DescribeAutoScalingNotificationTypes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeAutoScalingNotificationTypesAnswer',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeAutoScalingNotificationTypes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
),
),
'DescribeLaunchConfigurations' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'LaunchConfigurationsType',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeLaunchConfigurations',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'LaunchConfigurationNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'LaunchConfigurationNames.member',
'items' => array(
'name' => 'ResourceName',
'type' => 'string',
'minLength' => 1,
'maxLength' => 1600,
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
'maximum' => 50,
),
),
'errorResponses' => array(
array(
'reason' => 'The NextToken value is invalid.',
'class' => 'InvalidNextTokenException',
),
),
),
'DescribeMetricCollectionTypes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeMetricCollectionTypesAnswer',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeMetricCollectionTypes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
),
),
'DescribeNotificationConfigurations' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeNotificationConfigurationsAnswer',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeNotificationConfigurations',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'AutoScalingGroupNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'AutoScalingGroupNames.member',
'items' => array(
'name' => 'ResourceName',
'type' => 'string',
'minLength' => 1,
'maxLength' => 1600,
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
'maximum' => 50,
),
),
'errorResponses' => array(
array(
'reason' => 'The NextToken value is invalid.',
'class' => 'InvalidNextTokenException',
),
),
),
'DescribePolicies' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'PoliciesType',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribePolicies',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'AutoScalingGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1600,
),
'PolicyNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'PolicyNames.member',
'items' => array(
'name' => 'ResourceName',
'type' => 'string',
'minLength' => 1,
'maxLength' => 1600,
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
'maximum' => 50,
),
),
'errorResponses' => array(
array(
'reason' => 'The NextToken value is invalid.',
'class' => 'InvalidNextTokenException',
),
),
),
'DescribeScalingActivities' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ActivitiesType',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeScalingActivities',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'ActivityIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ActivityIds.member',
'items' => array(
'name' => 'XmlString',
'type' => 'string',
),
),
'AutoScalingGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1600,
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
'maximum' => 50,
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The NextToken value is invalid.',
'class' => 'InvalidNextTokenException',
),
),
),
'DescribeScalingProcessTypes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ProcessesType',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeScalingProcessTypes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
),
),
'DescribeScheduledActions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ScheduledActionsType',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeScheduledActions',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'AutoScalingGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1600,
),
'ScheduledActionNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ScheduledActionNames.member',
'items' => array(
'name' => 'ResourceName',
'type' => 'string',
'minLength' => 1,
'maxLength' => 1600,
),
),
'StartTime' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
'location' => 'aws.query',
),
'EndTime' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
'location' => 'aws.query',
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
'maximum' => 50,
),
),
'errorResponses' => array(
array(
'reason' => 'The NextToken value is invalid.',
'class' => 'InvalidNextTokenException',
),
),
),
'DescribeTags' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'TagsType',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeTags',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filters.member',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Values.member',
'items' => array(
'name' => 'XmlString',
'type' => 'string',
),
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
'maximum' => 50,
),
),
'errorResponses' => array(
array(
'reason' => 'The NextToken value is invalid.',
'class' => 'InvalidNextTokenException',
),
),
),
'DescribeTerminationPolicyTypes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeTerminationPolicyTypesAnswer',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeTerminationPolicyTypes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
),
),
'DisableMetricsCollection' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DisableMetricsCollection',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'AutoScalingGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1600,
),
'Metrics' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Metrics.member',
'items' => array(
'name' => 'XmlStringMaxLen255',
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
),
),
),
'EnableMetricsCollection' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'EnableMetricsCollection',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'AutoScalingGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1600,
),
'Metrics' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Metrics.member',
'items' => array(
'name' => 'XmlStringMaxLen255',
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
),
'Granularity' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
),
),
'ExecutePolicy' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ExecutePolicy',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'AutoScalingGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1600,
),
'PolicyName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1600,
),
'HonorCooldown' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'You cannot delete an Auto Scaling group while there are scaling activities in progress for that group.',
'class' => 'ScalingActivityInProgressException',
),
),
),
'PutNotificationConfiguration' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'PutNotificationConfiguration',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'AutoScalingGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1600,
),
'TopicARN' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1600,
),
'NotificationTypes' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'NotificationTypes.member',
'items' => array(
'name' => 'XmlStringMaxLen255',
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
),
),
'errorResponses' => array(
array(
'reason' => 'The quota for capacity groups or launch configurations for this customer has already been reached.',
'class' => 'LimitExceededException',
),
),
),
'PutScalingPolicy' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'PolicyARNType',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'PutScalingPolicy',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'AutoScalingGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1600,
),
'PolicyName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'ScalingAdjustment' => array(
'required' => true,
'type' => 'numeric',
'location' => 'aws.query',
),
'AdjustmentType' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'Cooldown' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'MinAdjustmentStep' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The quota for capacity groups or launch configurations for this customer has already been reached.',
'class' => 'LimitExceededException',
),
),
),
'PutScheduledUpdateGroupAction' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'PutScheduledUpdateGroupAction',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'AutoScalingGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1600,
),
'ScheduledActionName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'Time' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
'location' => 'aws.query',
),
'StartTime' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
'location' => 'aws.query',
),
'EndTime' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
'location' => 'aws.query',
),
'Recurrence' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'MinSize' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'MaxSize' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'DesiredCapacity' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The named Auto Scaling group or launch configuration already exists.',
'class' => 'AlreadyExistsException',
),
array(
'reason' => 'The quota for capacity groups or launch configurations for this customer has already been reached.',
'class' => 'LimitExceededException',
),
),
),
'ResumeProcesses' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ResumeProcesses',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'AutoScalingGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1600,
),
'ScalingProcesses' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ScalingProcesses.member',
'items' => array(
'name' => 'XmlStringMaxLen255',
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
),
),
),
'SetDesiredCapacity' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'SetDesiredCapacity',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'AutoScalingGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1600,
),
'DesiredCapacity' => array(
'required' => true,
'type' => 'numeric',
'location' => 'aws.query',
),
'HonorCooldown' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'You cannot delete an Auto Scaling group while there are scaling activities in progress for that group.',
'class' => 'ScalingActivityInProgressException',
),
),
),
'SetInstanceHealth' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'SetInstanceHealth',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'InstanceId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 16,
),
'HealthStatus' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 32,
),
'ShouldRespectGracePeriod' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
),
'SuspendProcesses' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'SuspendProcesses',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'AutoScalingGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1600,
),
'ScalingProcesses' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ScalingProcesses.member',
'items' => array(
'name' => 'XmlStringMaxLen255',
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
),
),
),
'TerminateInstanceInAutoScalingGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ActivityType',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'TerminateInstanceInAutoScalingGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'InstanceId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 16,
),
'ShouldDecrementDesiredCapacity' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'You cannot delete an Auto Scaling group while there are scaling activities in progress for that group.',
'class' => 'ScalingActivityInProgressException',
),
),
),
'UpdateAutoScalingGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'UpdateAutoScalingGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-01-01',
),
'AutoScalingGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1600,
),
'LaunchConfigurationName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1600,
),
'MinSize' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'MaxSize' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'DesiredCapacity' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'DefaultCooldown' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'AvailabilityZones' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'AvailabilityZones.member',
'minItems' => 1,
'items' => array(
'name' => 'XmlStringMaxLen255',
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
),
'HealthCheckType' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 32,
),
'HealthCheckGracePeriod' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'PlacementGroup' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'VPCZoneIdentifier' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'TerminationPolicies' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'TerminationPolicies.member',
'items' => array(
'name' => 'XmlStringMaxLen1600',
'type' => 'string',
'minLength' => 1,
'maxLength' => 1600,
),
),
),
'errorResponses' => array(
array(
'reason' => 'You cannot delete an Auto Scaling group while there are scaling activities in progress for that group.',
'class' => 'ScalingActivityInProgressException',
),
),
),
),
'models' => array(
'EmptyOutput' => array(
'type' => 'object',
'additionalProperties' => true,
),
'DescribeAccountLimitsAnswer' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'MaxNumberOfAutoScalingGroups' => array(
'type' => 'numeric',
'location' => 'xml',
),
'MaxNumberOfLaunchConfigurations' => array(
'type' => 'numeric',
'location' => 'xml',
),
),
),
'DescribeAdjustmentTypesAnswer' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'AdjustmentTypes' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'AdjustmentType',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'AdjustmentType' => array(
'type' => 'string',
),
),
),
),
),
),
'AutoScalingGroupsType' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'AutoScalingGroups' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'AutoScalingGroup',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'AutoScalingGroupName' => array(
'type' => 'string',
),
'AutoScalingGroupARN' => array(
'type' => 'string',
),
'LaunchConfigurationName' => array(
'type' => 'string',
),
'MinSize' => array(
'type' => 'numeric',
),
'MaxSize' => array(
'type' => 'numeric',
),
'DesiredCapacity' => array(
'type' => 'numeric',
),
'DefaultCooldown' => array(
'type' => 'numeric',
),
'AvailabilityZones' => array(
'type' => 'array',
'items' => array(
'name' => 'XmlStringMaxLen255',
'type' => 'string',
'sentAs' => 'member',
),
),
'LoadBalancerNames' => array(
'type' => 'array',
'items' => array(
'name' => 'XmlStringMaxLen255',
'type' => 'string',
'sentAs' => 'member',
),
),
'HealthCheckType' => array(
'type' => 'string',
),
'HealthCheckGracePeriod' => array(
'type' => 'numeric',
),
'Instances' => array(
'type' => 'array',
'items' => array(
'name' => 'Instance',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'InstanceId' => array(
'type' => 'string',
),
'AvailabilityZone' => array(
'type' => 'string',
),
'LifecycleState' => array(
'type' => 'string',
),
'HealthStatus' => array(
'type' => 'string',
),
'LaunchConfigurationName' => array(
'type' => 'string',
),
),
),
),
'CreatedTime' => array(
'type' => 'string',
),
'SuspendedProcesses' => array(
'type' => 'array',
'items' => array(
'name' => 'SuspendedProcess',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'ProcessName' => array(
'type' => 'string',
),
'SuspensionReason' => array(
'type' => 'string',
),
),
),
),
'PlacementGroup' => array(
'type' => 'string',
),
'VPCZoneIdentifier' => array(
'type' => 'string',
),
'EnabledMetrics' => array(
'type' => 'array',
'items' => array(
'name' => 'EnabledMetric',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Metric' => array(
'type' => 'string',
),
'Granularity' => array(
'type' => 'string',
),
),
),
),
'Status' => array(
'type' => 'string',
),
'Tags' => array(
'type' => 'array',
'items' => array(
'name' => 'TagDescription',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'ResourceId' => array(
'type' => 'string',
),
'ResourceType' => array(
'type' => 'string',
),
'Key' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
'PropagateAtLaunch' => array(
'type' => 'boolean',
),
),
),
),
'TerminationPolicies' => array(
'type' => 'array',
'items' => array(
'name' => 'XmlStringMaxLen1600',
'type' => 'string',
'sentAs' => 'member',
),
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'AutoScalingInstancesType' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'AutoScalingInstances' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'AutoScalingInstanceDetails',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'InstanceId' => array(
'type' => 'string',
),
'AutoScalingGroupName' => array(
'type' => 'string',
),
'AvailabilityZone' => array(
'type' => 'string',
),
'LifecycleState' => array(
'type' => 'string',
),
'HealthStatus' => array(
'type' => 'string',
),
'LaunchConfigurationName' => array(
'type' => 'string',
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'DescribeAutoScalingNotificationTypesAnswer' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'AutoScalingNotificationTypes' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'XmlStringMaxLen255',
'type' => 'string',
'sentAs' => 'member',
),
),
),
),
'LaunchConfigurationsType' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'LaunchConfigurations' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'LaunchConfiguration',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'LaunchConfigurationName' => array(
'type' => 'string',
),
'LaunchConfigurationARN' => array(
'type' => 'string',
),
'ImageId' => array(
'type' => 'string',
),
'KeyName' => array(
'type' => 'string',
),
'SecurityGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'XmlString',
'type' => 'string',
'sentAs' => 'member',
),
),
'UserData' => array(
'type' => 'string',
),
'InstanceType' => array(
'type' => 'string',
),
'KernelId' => array(
'type' => 'string',
),
'RamdiskId' => array(
'type' => 'string',
),
'BlockDeviceMappings' => array(
'type' => 'array',
'items' => array(
'name' => 'BlockDeviceMapping',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'VirtualName' => array(
'type' => 'string',
),
'DeviceName' => array(
'type' => 'string',
),
'Ebs' => array(
'type' => 'object',
'properties' => array(
'SnapshotId' => array(
'type' => 'string',
),
'VolumeSize' => array(
'type' => 'numeric',
),
'VolumeType' => array(
'type' => 'string',
),
'DeleteOnTermination' => array(
'type' => 'boolean',
),
'Iops' => array(
'type' => 'numeric',
),
),
),
'NoDevice' => array(
'type' => 'boolean',
),
),
),
),
'InstanceMonitoring' => array(
'type' => 'object',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
),
),
'SpotPrice' => array(
'type' => 'string',
),
'IamInstanceProfile' => array(
'type' => 'string',
),
'CreatedTime' => array(
'type' => 'string',
),
'EbsOptimized' => array(
'type' => 'boolean',
),
'AssociatePublicIpAddress' => array(
'type' => 'boolean',
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'DescribeMetricCollectionTypesAnswer' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Metrics' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'MetricCollectionType',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Metric' => array(
'type' => 'string',
),
),
),
),
'Granularities' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'MetricGranularityType',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Granularity' => array(
'type' => 'string',
),
),
),
),
),
),
'DescribeNotificationConfigurationsAnswer' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'NotificationConfigurations' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'NotificationConfiguration',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'AutoScalingGroupName' => array(
'type' => 'string',
),
'TopicARN' => array(
'type' => 'string',
),
'NotificationType' => array(
'type' => 'string',
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'PoliciesType' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ScalingPolicies' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'ScalingPolicy',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'AutoScalingGroupName' => array(
'type' => 'string',
),
'PolicyName' => array(
'type' => 'string',
),
'ScalingAdjustment' => array(
'type' => 'numeric',
),
'AdjustmentType' => array(
'type' => 'string',
),
'Cooldown' => array(
'type' => 'numeric',
),
'PolicyARN' => array(
'type' => 'string',
),
'Alarms' => array(
'type' => 'array',
'items' => array(
'name' => 'Alarm',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'AlarmName' => array(
'type' => 'string',
),
'AlarmARN' => array(
'type' => 'string',
),
),
),
),
'MinAdjustmentStep' => array(
'type' => 'numeric',
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ActivitiesType' => 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',
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ProcessesType' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Processes' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'ProcessType',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'ProcessName' => array(
'type' => 'string',
),
),
),
),
),
),
'ScheduledActionsType' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ScheduledUpdateGroupActions' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'ScheduledUpdateGroupAction',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'AutoScalingGroupName' => array(
'type' => 'string',
),
'ScheduledActionName' => array(
'type' => 'string',
),
'ScheduledActionARN' => array(
'type' => 'string',
),
'Time' => array(
'type' => 'string',
),
'StartTime' => array(
'type' => 'string',
),
'EndTime' => array(
'type' => 'string',
),
'Recurrence' => array(
'type' => 'string',
),
'MinSize' => array(
'type' => 'numeric',
),
'MaxSize' => array(
'type' => 'numeric',
),
'DesiredCapacity' => array(
'type' => 'numeric',
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'TagsType' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Tags' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'TagDescription',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'ResourceId' => array(
'type' => 'string',
),
'ResourceType' => array(
'type' => 'string',
),
'Key' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
'PropagateAtLaunch' => array(
'type' => 'boolean',
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'DescribeTerminationPolicyTypesAnswer' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'TerminationPolicyTypes' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'XmlStringMaxLen1600',
'type' => 'string',
'sentAs' => 'member',
),
),
),
),
'PolicyARNType' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'PolicyARN' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ActivityType' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Activity' => array(
'type' => 'object',
'location' => 'xml',
'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',
),
),
),
),
),
),
'iterators' => array(
'operations' => array(
'DescribeAutoScalingGroups' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'limit_key' => 'MaxRecords',
'result_key' => 'AutoScalingGroups',
),
'DescribeAutoScalingInstances' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'limit_key' => 'MaxRecords',
'result_key' => 'AutoScalingInstances',
),
'DescribeLaunchConfigurations' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'limit_key' => 'MaxRecords',
'result_key' => 'LaunchConfigurations',
),
'DescribeNotificationConfigurations' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'limit_key' => 'MaxRecords',
'result_key' => 'NotificationConfigurations',
),
'DescribePolicies' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'limit_key' => 'MaxRecords',
'result_key' => 'ScalingPolicies',
),
'DescribeScalingActivities' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'limit_key' => 'MaxRecords',
'result_key' => 'Activities',
),
'DescribeScheduledActions' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'limit_key' => 'MaxRecords',
'result_key' => 'ScheduledUpdateGroupActions',
),
'DescribeTags' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'limit_key' => 'MaxRecords',
'result_key' => 'Tags',
),
),
),
);
sdk-2.5.2/Aws/CloudFormation/CloudFormationClient.php 0000644 115327001610067500000007723 12272324172 017673 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/cloudformation-%s.php'
))
->build();
}
}
sdk-2.5.2/Aws/CloudFormation/Enum/Capability.php 0000644 115327001610067500000001412 12272324172 016561 0 ustar '2010-05-15',
'endpointPrefix' => 'cloudformation',
'serviceFullName' => 'AWS CloudFormation',
'serviceType' => 'query',
'resultWrapped' => true,
'signatureVersion' => 'v4',
'namespace' => 'CloudFormation',
'regions' => array(
'us-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'cloudformation.us-east-1.amazonaws.com',
),
'us-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'cloudformation.us-west-1.amazonaws.com',
),
'us-west-2' => array(
'http' => false,
'https' => true,
'hostname' => 'cloudformation.us-west-2.amazonaws.com',
),
'eu-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'cloudformation.eu-west-1.amazonaws.com',
),
'ap-northeast-1' => array(
'http' => false,
'https' => true,
'hostname' => 'cloudformation.ap-northeast-1.amazonaws.com',
),
'ap-southeast-1' => array(
'http' => false,
'https' => true,
'hostname' => 'cloudformation.ap-southeast-1.amazonaws.com',
),
'ap-southeast-2' => array(
'http' => false,
'https' => true,
'hostname' => 'cloudformation.ap-southeast-2.amazonaws.com',
),
'sa-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'cloudformation.sa-east-1.amazonaws.com',
),
'cn-north-1' => array(
'http' => false,
'https' => true,
'hostname' => 'cloudformation.cn-north-1.amazonaws.com.cn',
),
'us-gov-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'cloudformation.us-gov-west-1.amazonaws.com',
),
),
'operations' => array(
'CancelUpdateStack' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CancelUpdateStack',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-15',
),
'StackName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'CreateStack' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateStackOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateStack',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-15',
),
'StackName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'TemplateBody' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
),
'TemplateURL' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1024,
),
'Parameters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Parameters.member',
'items' => array(
'name' => 'Parameter',
'type' => 'object',
'properties' => array(
'ParameterKey' => array(
'type' => 'string',
),
'ParameterValue' => array(
'type' => 'string',
),
),
),
),
'DisableRollback' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'TimeoutInMinutes' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
),
'NotificationARNs' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'NotificationARNs.member',
'maxItems' => 5,
'items' => array(
'name' => 'NotificationARN',
'type' => 'string',
),
),
'Capabilities' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Capabilities.member',
'items' => array(
'name' => 'Capability',
'type' => 'string',
),
),
'OnFailure' => array(
'type' => 'string',
'location' => 'aws.query',
),
'StackPolicyBody' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 16384,
),
'StackPolicyURL' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1350,
),
'Tags' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Tags.member',
'items' => array(
'name' => 'Tag',
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Quota for the resource has already been reached.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'Resource with the name requested already exists.',
'class' => 'AlreadyExistsException',
),
array(
'reason' => 'The template contains resources with capabilities that were not specified in the Capabilities parameter.',
'class' => 'InsufficientCapabilitiesException',
),
),
),
'DeleteStack' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteStack',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-15',
),
'StackName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DescribeStackEvents' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeStackEventsOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeStackEvents',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-15',
),
'StackName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1024,
),
),
),
'DescribeStackResource' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeStackResourceOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeStackResource',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-15',
),
'StackName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'LogicalResourceId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DescribeStackResources' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeStackResourcesOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeStackResources',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-15',
),
'StackName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'LogicalResourceId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'PhysicalResourceId' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DescribeStacks' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeStacksOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeStacks',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-15',
),
'StackName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1024,
),
),
),
'EstimateTemplateCost' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EstimateTemplateCostOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'EstimateTemplateCost',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-15',
),
'TemplateBody' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
),
'TemplateURL' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1024,
),
'Parameters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Parameters.member',
'items' => array(
'name' => 'Parameter',
'type' => 'object',
'properties' => array(
'ParameterKey' => array(
'type' => 'string',
),
'ParameterValue' => array(
'type' => 'string',
),
),
),
),
),
),
'GetStackPolicy' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetStackPolicyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetStackPolicy',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-15',
),
'StackName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'GetTemplate' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetTemplateOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetTemplate',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-15',
),
'StackName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'ListStackResources' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListStackResourcesOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListStackResources',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-15',
),
'StackName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1024,
),
),
),
'ListStacks' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListStacksOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListStacks',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-15',
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1024,
),
'StackStatusFilter' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'StackStatusFilter.member',
'items' => array(
'name' => 'StackStatus',
'type' => 'string',
),
),
),
),
'SetStackPolicy' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'SetStackPolicy',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-15',
),
'StackName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'StackPolicyBody' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 16384,
),
'StackPolicyURL' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1350,
),
),
),
'UpdateStack' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'UpdateStackOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'UpdateStack',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-15',
),
'StackName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'TemplateBody' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
),
'TemplateURL' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1024,
),
'StackPolicyDuringUpdateBody' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 16384,
),
'StackPolicyDuringUpdateURL' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1350,
),
'Parameters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Parameters.member',
'items' => array(
'name' => 'Parameter',
'type' => 'object',
'properties' => array(
'ParameterKey' => array(
'type' => 'string',
),
'ParameterValue' => array(
'type' => 'string',
),
),
),
),
'Capabilities' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Capabilities.member',
'items' => array(
'name' => 'Capability',
'type' => 'string',
),
),
'StackPolicyBody' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 16384,
),
'StackPolicyURL' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1350,
),
),
'errorResponses' => array(
array(
'reason' => 'The template contains resources with capabilities that were not specified in the Capabilities parameter.',
'class' => 'InsufficientCapabilitiesException',
),
),
),
'ValidateTemplate' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ValidateTemplateOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ValidateTemplate',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-15',
),
'TemplateBody' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
),
'TemplateURL' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1024,
),
),
),
),
'models' => array(
'EmptyOutput' => array(
'type' => 'object',
'additionalProperties' => true,
),
'CreateStackOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'StackId' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'DescribeStackEventsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'StackEvents' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'StackEvent',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'StackId' => array(
'type' => 'string',
),
'EventId' => array(
'type' => 'string',
),
'StackName' => array(
'type' => 'string',
),
'LogicalResourceId' => array(
'type' => 'string',
),
'PhysicalResourceId' => array(
'type' => 'string',
),
'ResourceType' => array(
'type' => 'string',
),
'Timestamp' => array(
'type' => 'string',
),
'ResourceStatus' => array(
'type' => 'string',
),
'ResourceStatusReason' => array(
'type' => 'string',
),
'ResourceProperties' => array(
'type' => 'string',
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'DescribeStackResourceOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'StackResourceDetail' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'StackName' => array(
'type' => 'string',
),
'StackId' => array(
'type' => 'string',
),
'LogicalResourceId' => array(
'type' => 'string',
),
'PhysicalResourceId' => array(
'type' => 'string',
),
'ResourceType' => array(
'type' => 'string',
),
'LastUpdatedTimestamp' => array(
'type' => 'string',
),
'ResourceStatus' => array(
'type' => 'string',
),
'ResourceStatusReason' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'Metadata' => array(
'type' => 'string',
),
),
),
),
),
'DescribeStackResourcesOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'StackResources' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'StackResource',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'StackName' => array(
'type' => 'string',
),
'StackId' => array(
'type' => 'string',
),
'LogicalResourceId' => array(
'type' => 'string',
),
'PhysicalResourceId' => array(
'type' => 'string',
),
'ResourceType' => array(
'type' => 'string',
),
'Timestamp' => array(
'type' => 'string',
),
'ResourceStatus' => array(
'type' => 'string',
),
'ResourceStatusReason' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
),
),
),
),
),
'DescribeStacksOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Stacks' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Stack',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'StackId' => array(
'type' => 'string',
),
'StackName' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'Parameters' => array(
'type' => 'array',
'items' => array(
'name' => 'Parameter',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'ParameterKey' => array(
'type' => 'string',
),
'ParameterValue' => array(
'type' => 'string',
),
),
),
),
'CreationTime' => array(
'type' => 'string',
),
'LastUpdatedTime' => array(
'type' => 'string',
),
'StackStatus' => array(
'type' => 'string',
),
'StackStatusReason' => array(
'type' => 'string',
),
'DisableRollback' => array(
'type' => 'boolean',
),
'NotificationARNs' => array(
'type' => 'array',
'items' => array(
'name' => 'NotificationARN',
'type' => 'string',
'sentAs' => 'member',
),
),
'TimeoutInMinutes' => array(
'type' => 'numeric',
),
'Capabilities' => array(
'type' => 'array',
'items' => array(
'name' => 'Capability',
'type' => 'string',
'sentAs' => 'member',
),
),
'Outputs' => array(
'type' => 'array',
'items' => array(
'name' => 'Output',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'OutputKey' => array(
'type' => 'string',
),
'OutputValue' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
),
),
),
'Tags' => array(
'type' => 'array',
'items' => array(
'name' => 'Tag',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'EstimateTemplateCostOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Url' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'GetStackPolicyOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'StackPolicyBody' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'GetTemplateOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'TemplateBody' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ListStackResourcesOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'StackResourceSummaries' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'StackResourceSummary',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'LogicalResourceId' => array(
'type' => 'string',
),
'PhysicalResourceId' => array(
'type' => 'string',
),
'ResourceType' => array(
'type' => 'string',
),
'LastUpdatedTimestamp' => array(
'type' => 'string',
),
'ResourceStatus' => array(
'type' => 'string',
),
'ResourceStatusReason' => array(
'type' => 'string',
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ListStacksOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'StackSummaries' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'StackSummary',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'StackId' => array(
'type' => 'string',
),
'StackName' => array(
'type' => 'string',
),
'TemplateDescription' => array(
'type' => 'string',
),
'CreationTime' => array(
'type' => 'string',
),
'LastUpdatedTime' => array(
'type' => 'string',
),
'DeletionTime' => array(
'type' => 'string',
),
'StackStatus' => array(
'type' => 'string',
),
'StackStatusReason' => array(
'type' => 'string',
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'UpdateStackOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'StackId' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ValidateTemplateOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Parameters' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'TemplateParameter',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'ParameterKey' => array(
'type' => 'string',
),
'DefaultValue' => array(
'type' => 'string',
),
'NoEcho' => array(
'type' => 'boolean',
),
'Description' => array(
'type' => 'string',
),
),
),
),
'Description' => array(
'type' => 'string',
'location' => 'xml',
),
'Capabilities' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Capability',
'type' => 'string',
'sentAs' => 'member',
),
),
'CapabilitiesReason' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
),
'iterators' => array(
'operations' => array(
'DescribeStackEvents' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'result_key' => 'StackEvents',
),
'DescribeStacks' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'result_key' => 'Stacks',
),
'ListStackResources' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'result_key' => 'StackResourceSummaries',
),
'ListStacks' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'result_key' => 'StackSummaries',
),
),
),
);
sdk-2.5.2/Aws/CloudFront/CloudFrontClient.php 0000644 115327001610067500000030341 12272324172 016147 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/cloudfront-%s.php',
))
->setExceptionParser(new DefaultXmlExceptionParser())
->setIteratorsConfig(array(
'token_param' => 'Marker',
'token_key' => 'NextMarker',
'more_key' => 'IsTruncated',
'result_key' => 'Items',
'operations' => array(
'ListCloudFrontOriginAccessIdentities',
'ListDistributions',
'ListInvalidations',
'ListStreamingDistributions'
)
))
->build();
}
/**
* Create a signed URL. Keep in mind that URLs meant for use in media/flash players may have different requirements
* for URL formats (e.g. some require that the extension be removed, some require the file name to be prefixed -
* mp4:, some require you to add "/cfx/st" into your URL). See
* http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/WorkingWithStreamingDistributions.html for
* additional details and help.
*
* This method accepts an array of configuration options:
* - url: (string) URL of the resource being signed (can include query string and wildcards). For example:
* rtmp://s5c39gqb8ow64r.cloudfront.net/videos/mp3_name.mp3
* http://d111111abcdef8.cloudfront.net/images/horizon.jpg?size=large&license=yes
* - policy: (string) JSON policy. Use this option when creating a signed URL for a custom policy.
* - expires: (int) UTC Unix timestamp used when signing with a canned policy. Not required when passing a
* custom 'policy' option.
* - key_pair_id: (string) The ID of the key pair used to sign CloudFront URLs for private distributions.
* - private_key: (string) The filepath ot the private key used to sign CloudFront URLs for private distributions.
*
* @param array $options Array of configuration options used when signing
*
* @return string The file URL with authentication parameters
* @throws InvalidArgumentException if key_pair_id and private_key have not been configured on the client
* @throws RequiredExtensionNotLoadedException if the openssl extension is not installed
* @link http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/WorkingWithStreamingDistributions.html
*/
public function getSignedUrl(array $options)
{
if (!extension_loaded('openssl')) {
//@codeCoverageIgnoreStart
throw new RequiredExtensionNotLoadedException('The openssl extension is required to sign CloudFront urls.');
//@codeCoverageIgnoreEnd
}
// Initialize the configuration data and ensure that the url was specified
$options = Collection::fromConfig($options, array_filter(array(
'key_pair_id' => $this->getConfig('key_pair_id'),
'private_key' => $this->getConfig('private_key'),
)), array('url', 'key_pair_id', 'private_key'));
// Determine the scheme of the url
$urlSections = explode('://', $options['url']);
if (count($urlSections) < 2) {
throw new InvalidArgumentException('Invalid URL: ' . $options['url']);
}
// Get the real scheme by removing wildcards from the scheme
$scheme = str_replace('*', '', $urlSections[0]);
$policy = $options['policy'] ?: $this->createCannedPolicy($scheme, $options['url'], $options['expires']);
// Strip whitespace from the policy
$policy = str_replace(' ', '', $policy);
$url = Url::factory($scheme . '://' . $urlSections[1]);
if ($options['policy']) {
// Custom policies require that the encoded policy be specified in the URL
$url->getQuery()->set('Policy', strtr(base64_encode($policy), '+=/', '-_~'));
} else {
// Canned policies require that the Expires parameter be set in the URL
$url->getQuery()->set('Expires', $options['expires']);
}
// Sign the policy using the CloudFront private key
$signedPolicy = $this->rsaSha1Sign($policy, $options['private_key']);
// Remove whitespace, base64 encode the policy, and replace special characters
$signedPolicy = strtr(base64_encode($signedPolicy), '+=/', '-_~');
$url->getQuery()
->set('Signature', $signedPolicy)
->set('Key-Pair-Id', $options['key_pair_id']);
if ($scheme != 'rtmp') {
// HTTP and HTTPS signed URLs include the full URL
return (string) $url;
} else {
// Use a relative URL when creating Flash player URLs
$url->getQuery()->useUrlEncoding(false);
$url->setScheme(null)->setHost(null);
return substr($url, 1);
}
}
/**
* Sign a policy string using OpenSSL RSA SHA1
*
* @param string $policy Policy to sign
* @param string $privateKeyFilename File containing the OpenSSL private key
*
* @return string
*/
protected function rsaSha1Sign($policy, $privateKeyFilename)
{
$signature = '';
openssl_sign($policy, $signature, file_get_contents($privateKeyFilename));
return $signature;
}
/**
* Create a canned policy for a particular URL and expiration
*
* @param string $scheme Parsed scheme without wildcards
* @param string $url URL that is being signed
* @param int $expires Time in which the signature expires
*
* @return string
* @throws InvalidArgumentException if the expiration is not set
*/
protected function createCannedPolicy($scheme, $url, $expires)
{
if (!$expires) {
throw new InvalidArgumentException('An expires option is required when using a canned policy');
}
// Generate a canned policy
if ($scheme == 'http' || $scheme == 'https') {
$resource = $url;
} elseif ($scheme == 'rtmp') {
$parts = parse_url($url);
$pathParts = pathinfo($parts['path']);
// Add path leading to file, strip file extension, and add a query string if present
$resource = ltrim($pathParts['dirname'] . '/' . $pathParts['basename'], '/')
. (isset($parts['query']) ? "?{$parts['query']}" : '');
} else {
throw new InvalidArgumentException("Invalid URI scheme: {$scheme}. Must be one of http or rtmp.");
}
return sprintf(
'{"Statement":[{"Resource":"%s","Condition":{"DateLessThan":{"AWS:EpochTime":%d}}}]}',
$resource,
$expires
);
}
}
sdk-2.5.2/Aws/CloudFront/CloudFrontSignature.php 0000644 115327001610067500000004211 12272324172 016667 0 ustar hasHeader('date') && !$request->hasHeader('x-amz-date')) {
$request->setHeader('Date', gmdate(DateFormat::RFC2822));
}
$stringToSign = (string) $request->getHeader('Date') ?: (string) $request->getHeader('x-amz-date');
$request->getParams()->set('aws.string_to_sign', $stringToSign);
$request->setHeader(
'Authorization',
'AWS ' . $credentials->getAccessKeyId() . ':' . $this->signString($stringToSign, $credentials)
);
}
/**
* Sign a signature string by applying SHA-1 HMAC hashing.
*
* @param string $string The signature string to hash.
* @param CredentialsInterface $credentials Signing credentials.
*
* @return string The hashed signature string.
*/
public function signString($string, CredentialsInterface $credentials)
{
return base64_encode(hash_hmac('sha1', $string, $credentials->getSecretKey(), true));
}
}
sdk-2.5.2/Aws/CloudFront/Enum/GeoRestrictionType.php 0000644 115327001610067500000001510 12272324172 017433 0 ustar '2012-05-05',
'endpointPrefix' => 'cloudfront',
'serviceFullName' => 'Amazon CloudFront',
'serviceAbbreviation' => 'CloudFront',
'serviceType' => 'rest-xml',
'globalEndpoint' => 'cloudfront.amazonaws.com',
'signatureVersion' => 'cloudfront',
'namespace' => 'CloudFront',
'regions' => array(
'us-east-1' => array(
'http' => true,
'https' => true,
'hostname' => 'cloudfront.amazonaws.com',
),
'us-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'cloudfront.amazonaws.com',
),
'us-west-2' => array(
'http' => true,
'https' => true,
'hostname' => 'cloudfront.amazonaws.com',
),
'eu-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'cloudfront.amazonaws.com',
),
'ap-northeast-1' => array(
'http' => true,
'https' => true,
'hostname' => 'cloudfront.amazonaws.com',
),
'ap-southeast-1' => array(
'http' => true,
'https' => true,
'hostname' => 'cloudfront.amazonaws.com',
),
'ap-southeast-2' => array(
'http' => true,
'https' => true,
'hostname' => 'cloudfront.amazonaws.com',
),
'sa-east-1' => array(
'http' => true,
'https' => true,
'hostname' => 'cloudfront.amazonaws.com',
),
),
'operations' => array(
'CreateCloudFrontOriginAccessIdentity' => array(
'httpMethod' => 'POST',
'uri' => '/2012-05-05/origin-access-identity/cloudfront',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'CreateCloudFrontOriginAccessIdentityResult',
'responseType' => 'model',
'summary' => 'Create a new origin access identity.',
'data' => array(
'xmlRoot' => array(
'name' => 'CloudFrontOriginAccessIdentityConfig',
'namespaces' => array(
'http://cloudfront.amazonaws.com/doc/2012-05-05/',
),
),
),
'parameters' => array(
'CallerReference' => array(
'required' => true,
'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the CloudFrontOriginAccessIdentityConfig object), a new origin access identity is created. If the CallerReference is a value you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.',
'type' => 'string',
'location' => 'xml',
),
'Comment' => array(
'required' => true,
'description' => 'Any comments you want to include about the origin access identity.',
'type' => 'string',
'location' => 'xml',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'class' => 'CloudFrontOriginAccessIdentityAlreadyExistsException',
),
array(
'class' => 'MissingBodyException',
),
array(
'class' => 'TooManyCloudFrontOriginAccessIdentitiesException',
),
array(
'class' => 'InvalidArgumentException',
),
array(
'class' => 'InconsistentQuantitiesException',
),
),
),
'CreateDistribution' => array(
'httpMethod' => 'POST',
'uri' => '/2012-05-05/distribution',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'CreateDistributionResult',
'responseType' => 'model',
'summary' => 'Create a new distribution.',
'data' => array(
'xmlRoot' => array(
'name' => 'DistributionConfig',
'namespaces' => array(
'http://cloudfront.amazonaws.com/doc/2012-05-05/',
),
),
),
'parameters' => array(
'CallerReference' => array(
'required' => true,
'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the DistributionConfig object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a distribution but the content of the DistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.',
'type' => 'string',
'location' => 'xml',
),
'Aliases' => array(
'required' => true,
'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'required' => true,
'description' => 'The number of CNAMEs, if any, for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
),
),
),
),
'DefaultRootObject' => array(
'required' => true,
'description' => 'The object that you want CloudFront to return (for example, index.html) when an end user requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/index.html). Specifying a default root object avoids exposing the contents of your distribution. If you don\'t want to specify a default root object when you create a distribution, include an empty DefaultRootObject element. To delete the default root object from an existing distribution, update the distribution configuration and include an empty DefaultRootObject element. To replace the default root object, update the distribution configuration and specify the new object.',
'type' => 'string',
'location' => 'xml',
),
'Origins' => array(
'required' => true,
'description' => 'A complex type that contains information about origins for this distribution.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'required' => true,
'description' => 'The number of origins for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'A complex type that contains origins for this distribution.',
'type' => 'array',
'minItems' => 1,
'items' => array(
'name' => 'Origin',
'description' => 'A complex type that describes the Amazon S3 bucket or the HTTP server (for example, a web server) from which CloudFront gets your files.You must create at least one origin.',
'type' => 'object',
'properties' => array(
'Id' => array(
'required' => true,
'description' => 'A unique identifier for the origin. The value of Id must be unique within the distribution. You use the value of Id when you create a cache behavior. The Id identifies the origin that CloudFront routes a request to when the request matches the path pattern for that cache behavior.',
'type' => 'string',
),
'DomainName' => array(
'required' => true,
'description' => 'Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin, for example, myawsbucket.s3.amazonaws.com. Custom origins: The DNS domain name for the HTTP server from which you want CloudFront to get objects for this origin, for example, www.example.com.',
'type' => 'string',
),
'S3OriginConfig' => array(
'description' => 'A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.',
'type' => 'object',
'properties' => array(
'OriginAccessIdentity' => array(
'required' => true,
'description' => 'The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that end users can only access objects in an Amazon S3 bucket through CloudFront. If you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element. To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element. To replace the origin access identity, update the distribution configuration and specify the new origin access identity.',
'type' => 'string',
),
),
),
'CustomOriginConfig' => array(
'description' => 'A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead.',
'type' => 'object',
'properties' => array(
'HTTPPort' => array(
'required' => true,
'description' => 'The HTTP port the custom origin listens on.',
'type' => 'numeric',
),
'HTTPSPort' => array(
'required' => true,
'description' => 'The HTTPS port the custom origin listens on.',
'type' => 'numeric',
),
'OriginProtocolPolicy' => array(
'required' => true,
'description' => 'The origin protocol policy to apply to your origin.',
'type' => 'string',
'enum' => array(
'http-only',
'match-viewer',
),
),
),
),
),
),
),
),
),
'DefaultCacheBehavior' => array(
'required' => true,
'description' => 'A complex type that describes the default cache behavior if you do not specify a CacheBehavior element or if files don\'t match any of the values of PathPattern in CacheBehavior elements.You must create exactly one default cache behavior.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'TargetOriginId' => array(
'required' => true,
'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
'type' => 'string',
),
'ForwardedValues' => array(
'required' => true,
'description' => 'A complex type that specifies how CloudFront handles query strings.',
'type' => 'object',
'properties' => array(
'QueryString' => array(
'required' => true,
'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
'TrustedSigners' => array(
'required' => true,
'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
'type' => 'object',
'properties' => array(
'Enabled' => array(
'required' => true,
'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
'type' => 'boolean',
'format' => 'boolean-string',
),
'Quantity' => array(
'required' => true,
'description' => 'The number of trusted signers for this cache behavior.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
),
),
),
),
'ViewerProtocolPolicy' => array(
'required' => true,
'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
'type' => 'string',
'enum' => array(
'allow-all',
'https-only',
),
),
'MinTTL' => array(
'required' => true,
'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
'type' => 'numeric',
),
),
),
'CacheBehaviors' => array(
'required' => true,
'description' => 'A complex type that contains zero or more CacheBehavior elements.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'required' => true,
'description' => 'The number of cache behaviors for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'CacheBehavior',
'description' => 'A complex type that describes how CloudFront processes requests. You can create up to 10 cache behaviors.You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to distribute objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin will never be used. If you don\'t want to specify any cache behaviors, include only an empty CacheBehaviors element. Don\'t include an empty CacheBehavior element, or CloudFront returns a MalformedXML error. To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty CacheBehaviors element. To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.',
'type' => 'object',
'properties' => array(
'PathPattern' => array(
'required' => true,
'description' => 'The pattern (for example, images/*.jpg) that specifies which requests you want this cache behavior to apply to. When CloudFront receives an end-user request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution. The path pattern for the default cache behavior is * and cannot be changed. If the request for an object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in the default cache behavior.',
'type' => 'string',
),
'TargetOriginId' => array(
'required' => true,
'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
'type' => 'string',
),
'ForwardedValues' => array(
'required' => true,
'description' => 'A complex type that specifies how CloudFront handles query strings.',
'type' => 'object',
'properties' => array(
'QueryString' => array(
'required' => true,
'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
'TrustedSigners' => array(
'required' => true,
'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
'type' => 'object',
'properties' => array(
'Enabled' => array(
'required' => true,
'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
'type' => 'boolean',
'format' => 'boolean-string',
),
'Quantity' => array(
'required' => true,
'description' => 'The number of trusted signers for this cache behavior.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
),
),
),
),
'ViewerProtocolPolicy' => array(
'required' => true,
'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
'type' => 'string',
'enum' => array(
'allow-all',
'https-only',
),
),
'MinTTL' => array(
'required' => true,
'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
'type' => 'numeric',
),
),
),
),
),
),
'Comment' => array(
'required' => true,
'description' => 'Any comments you want to include about the distribution.',
'type' => 'string',
'location' => 'xml',
),
'Logging' => array(
'required' => true,
'description' => 'A complex type that controls whether access logs are written for the distribution.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'required' => true,
'description' => 'Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.',
'type' => 'boolean',
'format' => 'boolean-string',
),
'Bucket' => array(
'required' => true,
'description' => 'The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.',
'type' => 'string',
),
'Prefix' => array(
'required' => true,
'description' => 'An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.',
'type' => 'string',
),
),
),
'Enabled' => array(
'required' => true,
'description' => 'Whether the distribution is enabled to accept end user requests for content.',
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'xml',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'class' => 'CNAMEAlreadyExistsException',
),
array(
'class' => 'DistributionAlreadyExistsException',
),
array(
'class' => 'InvalidOriginException',
),
array(
'class' => 'InvalidOriginAccessIdentityException',
),
array(
'class' => 'AccessDeniedException',
),
array(
'class' => 'TooManyTrustedSignersException',
),
array(
'class' => 'TrustedSignerDoesNotExistException',
),
array(
'class' => 'MissingBodyException',
),
array(
'class' => 'TooManyDistributionCNAMEsException',
),
array(
'class' => 'TooManyDistributionsException',
),
array(
'class' => 'InvalidDefaultRootObjectException',
),
array(
'class' => 'InvalidArgumentException',
),
array(
'class' => 'InvalidRequiredProtocolException',
),
array(
'class' => 'NoSuchOriginException',
),
array(
'class' => 'TooManyOriginsException',
),
array(
'class' => 'TooManyCacheBehaviorsException',
),
array(
'class' => 'InconsistentQuantitiesException',
),
),
),
'CreateInvalidation' => array(
'httpMethod' => 'POST',
'uri' => '/2012-05-05/distribution/{DistributionId}/invalidation',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'CreateInvalidationResult',
'responseType' => 'model',
'summary' => 'Create a new invalidation.',
'data' => array(
'xmlRoot' => array(
'name' => 'InvalidationBatch',
'namespaces' => array(
'http://cloudfront.amazonaws.com/doc/2012-05-05/',
),
),
),
'parameters' => array(
'DistributionId' => array(
'required' => true,
'description' => 'The distribution\'s id.',
'type' => 'string',
'location' => 'uri',
),
'Paths' => array(
'required' => true,
'description' => 'The path of the object to invalidate. The path is relative to the distribution and must begin with a slash (/). You must enclose each invalidation object with the Path element tags. If the path includes non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not invalidate the old version of the updated object.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'required' => true,
'description' => 'The number of objects that you want to invalidate.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'A complex type that contains a list of the objects that you want to invalidate.',
'type' => 'array',
'items' => array(
'name' => 'Path',
'type' => 'string',
),
),
),
),
'CallerReference' => array(
'required' => true,
'description' => 'A unique name that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the Path object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create an invalidation batch, and the content of each Path element is identical to the original request, the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a distribution but the content of any Path is different from the original request, CloudFront returns an InvalidationBatchAlreadyExists error.',
'type' => 'string',
'location' => 'xml',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'class' => 'AccessDeniedException',
),
array(
'class' => 'MissingBodyException',
),
array(
'class' => 'InvalidArgumentException',
),
array(
'class' => 'NoSuchDistributionException',
),
array(
'class' => 'BatchTooLargeException',
),
array(
'class' => 'TooManyInvalidationsInProgressException',
),
array(
'class' => 'InconsistentQuantitiesException',
),
),
),
'CreateStreamingDistribution' => array(
'httpMethod' => 'POST',
'uri' => '/2012-05-05/streaming-distribution',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'CreateStreamingDistributionResult',
'responseType' => 'model',
'summary' => 'Create a new streaming distribution.',
'data' => array(
'xmlRoot' => array(
'name' => 'StreamingDistributionConfig',
'namespaces' => array(
'http://cloudfront.amazonaws.com/doc/2012-05-05/',
),
),
),
'parameters' => array(
'CallerReference' => array(
'required' => true,
'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the StreamingDistributionConfig object), a new streaming distribution is created. If the CallerReference is a value you already sent in a previous request to create a streaming distribution, and the content of the StreamingDistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a streaming distribution but the content of the StreamingDistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.',
'type' => 'string',
'location' => 'xml',
),
'S3Origin' => array(
'required' => true,
'description' => 'A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'DomainName' => array(
'required' => true,
'description' => 'The DNS name of the S3 origin.',
'type' => 'string',
),
'OriginAccessIdentity' => array(
'required' => true,
'description' => 'Your S3 origin\'s origin access identity.',
'type' => 'string',
),
),
),
'Aliases' => array(
'required' => true,
'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'required' => true,
'description' => 'The number of CNAMEs, if any, for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
),
),
),
),
'Comment' => array(
'required' => true,
'description' => 'Any comments you want to include about the streaming distribution.',
'type' => 'string',
'location' => 'xml',
),
'Logging' => array(
'required' => true,
'description' => 'A complex type that controls whether access logs are written for the streaming distribution.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'required' => true,
'description' => 'Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.',
'type' => 'boolean',
'format' => 'boolean-string',
),
'Bucket' => array(
'required' => true,
'description' => 'The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.',
'type' => 'string',
),
'Prefix' => array(
'required' => true,
'description' => 'An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.',
'type' => 'string',
),
),
),
'TrustedSigners' => array(
'required' => true,
'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'required' => true,
'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
'type' => 'boolean',
'format' => 'boolean-string',
),
'Quantity' => array(
'required' => true,
'description' => 'The number of trusted signers for this cache behavior.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
),
),
),
),
'Enabled' => array(
'required' => true,
'description' => 'Whether the streaming distribution is enabled to accept end user requests for content.',
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'xml',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'class' => 'CNAMEAlreadyExistsException',
),
array(
'class' => 'StreamingDistributionAlreadyExistsException',
),
array(
'class' => 'InvalidOriginException',
),
array(
'class' => 'InvalidOriginAccessIdentityException',
),
array(
'class' => 'AccessDeniedException',
),
array(
'class' => 'TooManyTrustedSignersException',
),
array(
'class' => 'TrustedSignerDoesNotExistException',
),
array(
'class' => 'MissingBodyException',
),
array(
'class' => 'TooManyStreamingDistributionCNAMEsException',
),
array(
'class' => 'TooManyStreamingDistributionsException',
),
array(
'class' => 'InvalidArgumentException',
),
array(
'class' => 'InconsistentQuantitiesException',
),
),
),
'DeleteCloudFrontOriginAccessIdentity' => array(
'httpMethod' => 'DELETE',
'uri' => '/2012-05-05/origin-access-identity/cloudfront/{Id}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'DeleteCloudFrontOriginAccessIdentity2012_05_05Output',
'responseType' => 'model',
'summary' => 'Delete an origin access identity.',
'parameters' => array(
'Id' => array(
'required' => true,
'description' => 'The origin access identity\'s id.',
'type' => 'string',
'location' => 'uri',
),
'IfMatch' => array(
'description' => 'The value of the ETag header you received from a previous GET or PUT request. For example: E2QWRUHAPOMQZL.',
'type' => 'string',
'location' => 'header',
'sentAs' => 'If-Match',
),
),
'errorResponses' => array(
array(
'class' => 'AccessDeniedException',
),
array(
'class' => 'InvalidIfMatchVersionException',
),
array(
'class' => 'NoSuchCloudFrontOriginAccessIdentityException',
),
array(
'class' => 'PreconditionFailedException',
),
array(
'class' => 'CloudFrontOriginAccessIdentityInUseException',
),
),
),
'DeleteDistribution' => array(
'httpMethod' => 'DELETE',
'uri' => '/2012-05-05/distribution/{Id}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'DeleteDistribution2012_05_05Output',
'responseType' => 'model',
'summary' => 'Delete a distribution.',
'parameters' => array(
'Id' => array(
'required' => true,
'description' => 'The distribution id.',
'type' => 'string',
'location' => 'uri',
),
'IfMatch' => array(
'description' => 'The value of the ETag header you received when you disabled the distribution. For example: E2QWRUHAPOMQZL.',
'type' => 'string',
'location' => 'header',
'sentAs' => 'If-Match',
),
),
'errorResponses' => array(
array(
'class' => 'AccessDeniedException',
),
array(
'class' => 'DistributionNotDisabledException',
),
array(
'class' => 'InvalidIfMatchVersionException',
),
array(
'class' => 'NoSuchDistributionException',
),
array(
'class' => 'PreconditionFailedException',
),
),
),
'DeleteStreamingDistribution' => array(
'httpMethod' => 'DELETE',
'uri' => '/2012-05-05/streaming-distribution/{Id}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'DeleteStreamingDistribution2012_05_05Output',
'responseType' => 'model',
'summary' => 'Delete a streaming distribution.',
'parameters' => array(
'Id' => array(
'required' => true,
'description' => 'The distribution id.',
'type' => 'string',
'location' => 'uri',
),
'IfMatch' => array(
'description' => 'The value of the ETag header you received when you disabled the streaming distribution. For example: E2QWRUHAPOMQZL.',
'type' => 'string',
'location' => 'header',
'sentAs' => 'If-Match',
),
),
'errorResponses' => array(
array(
'class' => 'AccessDeniedException',
),
array(
'class' => 'StreamingDistributionNotDisabledException',
),
array(
'class' => 'InvalidIfMatchVersionException',
),
array(
'class' => 'NoSuchStreamingDistributionException',
),
array(
'class' => 'PreconditionFailedException',
),
),
),
'GetCloudFrontOriginAccessIdentity' => array(
'httpMethod' => 'GET',
'uri' => '/2012-05-05/origin-access-identity/cloudfront/{Id}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'GetCloudFrontOriginAccessIdentityResult',
'responseType' => 'model',
'summary' => 'Get the information about an origin access identity.',
'parameters' => array(
'Id' => array(
'required' => true,
'description' => 'The identity\'s id.',
'type' => 'string',
'location' => 'uri',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'class' => 'NoSuchCloudFrontOriginAccessIdentityException',
),
array(
'class' => 'AccessDeniedException',
),
),
),
'GetCloudFrontOriginAccessIdentityConfig' => array(
'httpMethod' => 'GET',
'uri' => '/2012-05-05/origin-access-identity/cloudfront/{Id}/config',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'GetCloudFrontOriginAccessIdentityConfigResult',
'responseType' => 'model',
'summary' => 'Get the configuration information about an origin access identity.',
'parameters' => array(
'Id' => array(
'required' => true,
'description' => 'The identity\'s id.',
'type' => 'string',
'location' => 'uri',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'class' => 'NoSuchCloudFrontOriginAccessIdentityException',
),
array(
'class' => 'AccessDeniedException',
),
),
),
'GetDistribution' => array(
'httpMethod' => 'GET',
'uri' => '/2012-05-05/distribution/{Id}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'GetDistributionResult',
'responseType' => 'model',
'summary' => 'Get the information about a distribution.',
'parameters' => array(
'Id' => array(
'required' => true,
'description' => 'The distribution\'s id.',
'type' => 'string',
'location' => 'uri',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'class' => 'NoSuchDistributionException',
),
array(
'class' => 'AccessDeniedException',
),
),
),
'GetDistributionConfig' => array(
'httpMethod' => 'GET',
'uri' => '/2012-05-05/distribution/{Id}/config',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'GetDistributionConfigResult',
'responseType' => 'model',
'summary' => 'Get the configuration information about a distribution.',
'parameters' => array(
'Id' => array(
'required' => true,
'description' => 'The distribution\'s id.',
'type' => 'string',
'location' => 'uri',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'class' => 'NoSuchDistributionException',
),
array(
'class' => 'AccessDeniedException',
),
),
),
'GetInvalidation' => array(
'httpMethod' => 'GET',
'uri' => '/2012-05-05/distribution/{DistributionId}/invalidation/{Id}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'GetInvalidationResult',
'responseType' => 'model',
'summary' => 'Get the information about an invalidation.',
'parameters' => array(
'DistributionId' => array(
'required' => true,
'description' => 'The distribution\'s id.',
'type' => 'string',
'location' => 'uri',
),
'Id' => array(
'required' => true,
'description' => 'The invalidation\'s id.',
'type' => 'string',
'location' => 'uri',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'class' => 'NoSuchInvalidationException',
),
array(
'class' => 'NoSuchDistributionException',
),
array(
'class' => 'AccessDeniedException',
),
),
),
'GetStreamingDistribution' => array(
'httpMethod' => 'GET',
'uri' => '/2012-05-05/streaming-distribution/{Id}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'GetStreamingDistributionResult',
'responseType' => 'model',
'summary' => 'Get the information about a streaming distribution.',
'parameters' => array(
'Id' => array(
'required' => true,
'description' => 'The streaming distribution\'s id.',
'type' => 'string',
'location' => 'uri',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'class' => 'NoSuchStreamingDistributionException',
),
array(
'class' => 'AccessDeniedException',
),
),
),
'GetStreamingDistributionConfig' => array(
'httpMethod' => 'GET',
'uri' => '/2012-05-05/streaming-distribution/{Id}/config',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'GetStreamingDistributionConfigResult',
'responseType' => 'model',
'summary' => 'Get the configuration information about a streaming distribution.',
'parameters' => array(
'Id' => array(
'required' => true,
'description' => 'The streaming distribution\'s id.',
'type' => 'string',
'location' => 'uri',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'class' => 'NoSuchStreamingDistributionException',
),
array(
'class' => 'AccessDeniedException',
),
),
),
'ListCloudFrontOriginAccessIdentities' => array(
'httpMethod' => 'GET',
'uri' => '/2012-05-05/origin-access-identity/cloudfront',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'ListCloudFrontOriginAccessIdentitiesResult',
'responseType' => 'model',
'summary' => 'List origin access identities.',
'parameters' => array(
'Marker' => array(
'description' => 'Use this when paginating results to indicate where to begin in your list of origin access identities. The results include identities in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page\'s response (which is also the ID of the last identity on that page).',
'type' => 'string',
'location' => 'query',
),
'MaxItems' => array(
'description' => 'The maximum number of origin access identities you want in the response body.',
'type' => 'string',
'location' => 'query',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'class' => 'InvalidArgumentException',
),
),
),
'ListDistributions' => array(
'httpMethod' => 'GET',
'uri' => '/2012-05-05/distribution',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'ListDistributionsResult',
'responseType' => 'model',
'summary' => 'List distributions.',
'parameters' => array(
'Marker' => array(
'description' => 'Use this when paginating results to indicate where to begin in your list of distributions. The results include distributions in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page\'s response (which is also the ID of the last distribution on that page).',
'type' => 'string',
'location' => 'query',
),
'MaxItems' => array(
'description' => 'The maximum number of distributions you want in the response body.',
'type' => 'string',
'location' => 'query',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'class' => 'InvalidArgumentException',
),
),
),
'ListInvalidations' => array(
'httpMethod' => 'GET',
'uri' => '/2012-05-05/distribution/{DistributionId}/invalidation',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'ListInvalidationsResult',
'responseType' => 'model',
'summary' => 'List invalidation batches.',
'parameters' => array(
'DistributionId' => array(
'required' => true,
'description' => 'The distribution\'s id.',
'type' => 'string',
'location' => 'uri',
),
'Marker' => array(
'description' => 'Use this parameter when paginating results to indicate where to begin in your list of invalidation batches. Because the results are returned in decreasing order from most recent to oldest, the most recent results are on the first page, the second page will contain earlier results, and so on. To get the next page of results, set the Marker to the value of the NextMarker from the current page\'s response. This value is the same as the ID of the last invalidation batch on that page.',
'type' => 'string',
'location' => 'query',
),
'MaxItems' => array(
'description' => 'The maximum number of invalidation batches you want in the response body.',
'type' => 'string',
'location' => 'query',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'class' => 'InvalidArgumentException',
),
array(
'class' => 'NoSuchDistributionException',
),
),
),
'ListStreamingDistributions' => array(
'httpMethod' => 'GET',
'uri' => '/2012-05-05/streaming-distribution',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'ListStreamingDistributionsResult',
'responseType' => 'model',
'summary' => 'List streaming distributions.',
'parameters' => array(
'Marker' => array(
'description' => 'Use this when paginating results to indicate where to begin in your list of streaming distributions. The results include distributions in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page\'s response (which is also the ID of the last distribution on that page).',
'type' => 'string',
'location' => 'query',
),
'MaxItems' => array(
'description' => 'The maximum number of streaming distributions you want in the response body.',
'type' => 'string',
'location' => 'query',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'class' => 'InvalidArgumentException',
),
),
),
'UpdateCloudFrontOriginAccessIdentity' => array(
'httpMethod' => 'PUT',
'uri' => '/2012-05-05/origin-access-identity/cloudfront/{Id}/config',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'UpdateCloudFrontOriginAccessIdentityResult',
'responseType' => 'model',
'summary' => 'Update an origin access identity.',
'data' => array(
'xmlRoot' => array(
'name' => 'CloudFrontOriginAccessIdentityConfig',
'namespaces' => array(
'http://cloudfront.amazonaws.com/doc/2012-05-05/',
),
),
),
'parameters' => array(
'CallerReference' => array(
'required' => true,
'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the CloudFrontOriginAccessIdentityConfig object), a new origin access identity is created. If the CallerReference is a value you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.',
'type' => 'string',
'location' => 'xml',
),
'Comment' => array(
'required' => true,
'description' => 'Any comments you want to include about the origin access identity.',
'type' => 'string',
'location' => 'xml',
),
'Id' => array(
'required' => true,
'description' => 'The identity\'s id.',
'type' => 'string',
'location' => 'uri',
),
'IfMatch' => array(
'description' => 'The value of the ETag header you received when retrieving the identity\'s configuration. For example: E2QWRUHAPOMQZL.',
'type' => 'string',
'location' => 'header',
'sentAs' => 'If-Match',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'class' => 'AccessDeniedException',
),
array(
'class' => 'IllegalUpdateException',
),
array(
'class' => 'InvalidIfMatchVersionException',
),
array(
'class' => 'MissingBodyException',
),
array(
'class' => 'NoSuchCloudFrontOriginAccessIdentityException',
),
array(
'class' => 'PreconditionFailedException',
),
array(
'class' => 'InvalidArgumentException',
),
array(
'class' => 'InconsistentQuantitiesException',
),
),
),
'UpdateDistribution' => array(
'httpMethod' => 'PUT',
'uri' => '/2012-05-05/distribution/{Id}/config',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'UpdateDistributionResult',
'responseType' => 'model',
'summary' => 'Update a distribution.',
'data' => array(
'xmlRoot' => array(
'name' => 'DistributionConfig',
'namespaces' => array(
'http://cloudfront.amazonaws.com/doc/2012-05-05/',
),
),
),
'parameters' => array(
'CallerReference' => array(
'required' => true,
'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the DistributionConfig object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a distribution but the content of the DistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.',
'type' => 'string',
'location' => 'xml',
),
'Aliases' => array(
'required' => true,
'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'required' => true,
'description' => 'The number of CNAMEs, if any, for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
),
),
),
),
'DefaultRootObject' => array(
'required' => true,
'description' => 'The object that you want CloudFront to return (for example, index.html) when an end user requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/index.html). Specifying a default root object avoids exposing the contents of your distribution. If you don\'t want to specify a default root object when you create a distribution, include an empty DefaultRootObject element. To delete the default root object from an existing distribution, update the distribution configuration and include an empty DefaultRootObject element. To replace the default root object, update the distribution configuration and specify the new object.',
'type' => 'string',
'location' => 'xml',
),
'Origins' => array(
'required' => true,
'description' => 'A complex type that contains information about origins for this distribution.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'required' => true,
'description' => 'The number of origins for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'A complex type that contains origins for this distribution.',
'type' => 'array',
'minItems' => 1,
'items' => array(
'name' => 'Origin',
'description' => 'A complex type that describes the Amazon S3 bucket or the HTTP server (for example, a web server) from which CloudFront gets your files.You must create at least one origin.',
'type' => 'object',
'properties' => array(
'Id' => array(
'required' => true,
'description' => 'A unique identifier for the origin. The value of Id must be unique within the distribution. You use the value of Id when you create a cache behavior. The Id identifies the origin that CloudFront routes a request to when the request matches the path pattern for that cache behavior.',
'type' => 'string',
),
'DomainName' => array(
'required' => true,
'description' => 'Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin, for example, myawsbucket.s3.amazonaws.com. Custom origins: The DNS domain name for the HTTP server from which you want CloudFront to get objects for this origin, for example, www.example.com.',
'type' => 'string',
),
'S3OriginConfig' => array(
'description' => 'A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.',
'type' => 'object',
'properties' => array(
'OriginAccessIdentity' => array(
'required' => true,
'description' => 'The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that end users can only access objects in an Amazon S3 bucket through CloudFront. If you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element. To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element. To replace the origin access identity, update the distribution configuration and specify the new origin access identity.',
'type' => 'string',
),
),
),
'CustomOriginConfig' => array(
'description' => 'A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead.',
'type' => 'object',
'properties' => array(
'HTTPPort' => array(
'required' => true,
'description' => 'The HTTP port the custom origin listens on.',
'type' => 'numeric',
),
'HTTPSPort' => array(
'required' => true,
'description' => 'The HTTPS port the custom origin listens on.',
'type' => 'numeric',
),
'OriginProtocolPolicy' => array(
'required' => true,
'description' => 'The origin protocol policy to apply to your origin.',
'type' => 'string',
'enum' => array(
'http-only',
'match-viewer',
),
),
),
),
),
),
),
),
),
'DefaultCacheBehavior' => array(
'required' => true,
'description' => 'A complex type that describes the default cache behavior if you do not specify a CacheBehavior element or if files don\'t match any of the values of PathPattern in CacheBehavior elements.You must create exactly one default cache behavior.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'TargetOriginId' => array(
'required' => true,
'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
'type' => 'string',
),
'ForwardedValues' => array(
'required' => true,
'description' => 'A complex type that specifies how CloudFront handles query strings.',
'type' => 'object',
'properties' => array(
'QueryString' => array(
'required' => true,
'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
'TrustedSigners' => array(
'required' => true,
'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
'type' => 'object',
'properties' => array(
'Enabled' => array(
'required' => true,
'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
'type' => 'boolean',
'format' => 'boolean-string',
),
'Quantity' => array(
'required' => true,
'description' => 'The number of trusted signers for this cache behavior.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
),
),
),
),
'ViewerProtocolPolicy' => array(
'required' => true,
'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
'type' => 'string',
'enum' => array(
'allow-all',
'https-only',
),
),
'MinTTL' => array(
'required' => true,
'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
'type' => 'numeric',
),
),
),
'CacheBehaviors' => array(
'required' => true,
'description' => 'A complex type that contains zero or more CacheBehavior elements.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'required' => true,
'description' => 'The number of cache behaviors for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'CacheBehavior',
'description' => 'A complex type that describes how CloudFront processes requests. You can create up to 10 cache behaviors.You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to distribute objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin will never be used. If you don\'t want to specify any cache behaviors, include only an empty CacheBehaviors element. Don\'t include an empty CacheBehavior element, or CloudFront returns a MalformedXML error. To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty CacheBehaviors element. To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.',
'type' => 'object',
'properties' => array(
'PathPattern' => array(
'required' => true,
'description' => 'The pattern (for example, images/*.jpg) that specifies which requests you want this cache behavior to apply to. When CloudFront receives an end-user request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution. The path pattern for the default cache behavior is * and cannot be changed. If the request for an object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in the default cache behavior.',
'type' => 'string',
),
'TargetOriginId' => array(
'required' => true,
'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
'type' => 'string',
),
'ForwardedValues' => array(
'required' => true,
'description' => 'A complex type that specifies how CloudFront handles query strings.',
'type' => 'object',
'properties' => array(
'QueryString' => array(
'required' => true,
'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
'TrustedSigners' => array(
'required' => true,
'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
'type' => 'object',
'properties' => array(
'Enabled' => array(
'required' => true,
'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
'type' => 'boolean',
'format' => 'boolean-string',
),
'Quantity' => array(
'required' => true,
'description' => 'The number of trusted signers for this cache behavior.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
),
),
),
),
'ViewerProtocolPolicy' => array(
'required' => true,
'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
'type' => 'string',
'enum' => array(
'allow-all',
'https-only',
),
),
'MinTTL' => array(
'required' => true,
'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
'type' => 'numeric',
),
),
),
),
),
),
'Comment' => array(
'required' => true,
'description' => 'Any comments you want to include about the distribution.',
'type' => 'string',
'location' => 'xml',
),
'Logging' => array(
'required' => true,
'description' => 'A complex type that controls whether access logs are written for the distribution.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'required' => true,
'description' => 'Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.',
'type' => 'boolean',
'format' => 'boolean-string',
),
'Bucket' => array(
'required' => true,
'description' => 'The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.',
'type' => 'string',
),
'Prefix' => array(
'required' => true,
'description' => 'An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.',
'type' => 'string',
),
),
),
'Enabled' => array(
'required' => true,
'description' => 'Whether the distribution is enabled to accept end user requests for content.',
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'xml',
),
'Id' => array(
'required' => true,
'description' => 'The distribution\'s id.',
'type' => 'string',
'location' => 'uri',
),
'IfMatch' => array(
'description' => 'The value of the ETag header you received when retrieving the distribution\'s configuration. For example: E2QWRUHAPOMQZL.',
'type' => 'string',
'location' => 'header',
'sentAs' => 'If-Match',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'class' => 'AccessDeniedException',
),
array(
'class' => 'CNAMEAlreadyExistsException',
),
array(
'class' => 'IllegalUpdateException',
),
array(
'class' => 'InvalidIfMatchVersionException',
),
array(
'class' => 'MissingBodyException',
),
array(
'class' => 'NoSuchDistributionException',
),
array(
'class' => 'PreconditionFailedException',
),
array(
'class' => 'TooManyDistributionCNAMEsException',
),
array(
'class' => 'InvalidDefaultRootObjectException',
),
array(
'class' => 'InvalidArgumentException',
),
array(
'class' => 'InvalidOriginAccessIdentityException',
),
array(
'class' => 'TooManyTrustedSignersException',
),
array(
'class' => 'TrustedSignerDoesNotExistException',
),
array(
'class' => 'InvalidRequiredProtocolException',
),
array(
'class' => 'NoSuchOriginException',
),
array(
'class' => 'TooManyOriginsException',
),
array(
'class' => 'TooManyCacheBehaviorsException',
),
array(
'class' => 'InconsistentQuantitiesException',
),
),
),
'UpdateStreamingDistribution' => array(
'httpMethod' => 'PUT',
'uri' => '/2012-05-05/streaming-distribution/{Id}/config',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'UpdateStreamingDistributionResult',
'responseType' => 'model',
'summary' => 'Update a streaming distribution.',
'data' => array(
'xmlRoot' => array(
'name' => 'StreamingDistributionConfig',
'namespaces' => array(
'http://cloudfront.amazonaws.com/doc/2012-05-05/',
),
),
),
'parameters' => array(
'CallerReference' => array(
'required' => true,
'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the StreamingDistributionConfig object), a new streaming distribution is created. If the CallerReference is a value you already sent in a previous request to create a streaming distribution, and the content of the StreamingDistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a streaming distribution but the content of the StreamingDistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.',
'type' => 'string',
'location' => 'xml',
),
'S3Origin' => array(
'required' => true,
'description' => 'A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'DomainName' => array(
'required' => true,
'description' => 'The DNS name of the S3 origin.',
'type' => 'string',
),
'OriginAccessIdentity' => array(
'required' => true,
'description' => 'Your S3 origin\'s origin access identity.',
'type' => 'string',
),
),
),
'Aliases' => array(
'required' => true,
'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'required' => true,
'description' => 'The number of CNAMEs, if any, for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
),
),
),
),
'Comment' => array(
'required' => true,
'description' => 'Any comments you want to include about the streaming distribution.',
'type' => 'string',
'location' => 'xml',
),
'Logging' => array(
'required' => true,
'description' => 'A complex type that controls whether access logs are written for the streaming distribution.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'required' => true,
'description' => 'Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.',
'type' => 'boolean',
'format' => 'boolean-string',
),
'Bucket' => array(
'required' => true,
'description' => 'The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.',
'type' => 'string',
),
'Prefix' => array(
'required' => true,
'description' => 'An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.',
'type' => 'string',
),
),
),
'TrustedSigners' => array(
'required' => true,
'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'required' => true,
'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
'type' => 'boolean',
'format' => 'boolean-string',
),
'Quantity' => array(
'required' => true,
'description' => 'The number of trusted signers for this cache behavior.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
),
),
),
),
'Enabled' => array(
'required' => true,
'description' => 'Whether the streaming distribution is enabled to accept end user requests for content.',
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'xml',
),
'Id' => array(
'required' => true,
'description' => 'The streaming distribution\'s id.',
'type' => 'string',
'location' => 'uri',
),
'IfMatch' => array(
'description' => 'The value of the ETag header you received when retrieving the streaming distribution\'s configuration. For example: E2QWRUHAPOMQZL.',
'type' => 'string',
'location' => 'header',
'sentAs' => 'If-Match',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'class' => 'AccessDeniedException',
),
array(
'class' => 'CNAMEAlreadyExistsException',
),
array(
'class' => 'IllegalUpdateException',
),
array(
'class' => 'InvalidIfMatchVersionException',
),
array(
'class' => 'MissingBodyException',
),
array(
'class' => 'NoSuchStreamingDistributionException',
),
array(
'class' => 'PreconditionFailedException',
),
array(
'class' => 'TooManyStreamingDistributionCNAMEsException',
),
array(
'class' => 'InvalidArgumentException',
),
array(
'class' => 'InvalidOriginAccessIdentityException',
),
array(
'class' => 'TooManyTrustedSignersException',
),
array(
'class' => 'TrustedSignerDoesNotExistException',
),
array(
'class' => 'InconsistentQuantitiesException',
),
),
),
),
'models' => array(
'CreateCloudFrontOriginAccessIdentityResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Id' => array(
'description' => 'The ID for the origin access identity. For example: E74FTE3AJFJ256A.',
'type' => 'string',
'location' => 'xml',
),
'S3CanonicalUserId' => array(
'description' => 'The Amazon S3 canonical user ID for the origin access identity, which you use when giving the origin access identity read permission to an object in Amazon S3.',
'type' => 'string',
'location' => 'xml',
),
'CloudFrontOriginAccessIdentityConfig' => array(
'description' => 'The current configuration information for the identity.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'CallerReference' => array(
'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the CloudFrontOriginAccessIdentityConfig object), a new origin access identity is created. If the CallerReference is a value you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.',
'type' => 'string',
),
'Comment' => array(
'description' => 'Any comments you want to include about the origin access identity.',
'type' => 'string',
),
),
),
'Location' => array(
'description' => 'The fully qualified URI of the new origin access identity just created. For example: https://cloudfront.amazonaws.com/2010-11-01/origin-access-identity/cloudfront/E74FTE3AJFJ256A.',
'type' => 'string',
'location' => 'header',
),
'ETag' => array(
'description' => 'The current version of the origin access identity created.',
'type' => 'string',
'location' => 'header',
),
'RequestId' => array(
'description' => 'Request ID of the operation',
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'CreateDistributionResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Id' => array(
'description' => 'The identifier for the distribution. For example: EDFDVBD632BHDS5.',
'type' => 'string',
'location' => 'xml',
),
'Status' => array(
'description' => 'This response element indicates the current status of the distribution. When the status is Deployed, the distribution\'s information is fully propagated throughout the Amazon CloudFront system.',
'type' => 'string',
'location' => 'xml',
),
'LastModifiedTime' => array(
'description' => 'The date and time the distribution was last modified.',
'type' => 'string',
'location' => 'xml',
),
'InProgressInvalidationBatches' => array(
'description' => 'The number of invalidation batches currently in progress.',
'type' => 'numeric',
'location' => 'xml',
),
'DomainName' => array(
'description' => 'The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.',
'type' => 'string',
'location' => 'xml',
),
'ActiveTrustedSigners' => array(
'description' => 'CloudFront automatically adds this element to the response only if you\'ve set up the distribution to serve private content with signed URLs. The element lists the key pair IDs that CloudFront is aware of for each trusted signer. The Signer child element lists the AWS account number of the trusted signer (or an empty Self element if the signer is you). The Signer element also includes the IDs of any active key pairs associated with the trusted signer\'s AWS account. If no KeyPairId element appears for a Signer, that signer can\'t create working signed URLs.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'description' => 'Each active trusted signer.',
'type' => 'boolean',
),
'Quantity' => array(
'description' => 'The number of unique trusted signers included in all cache behaviors. For example, if three cache behaviors all list the same three AWS accounts, the value of Quantity for ActiveTrustedSigners will be 3.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'A complex type that contains one Signer complex type for each unique trusted signer that is specified in the TrustedSigners complex type, including trusted signers in the default cache behavior and in all of the other cache behaviors.',
'type' => 'array',
'items' => array(
'name' => 'Signer',
'description' => 'A complex type that lists the AWS accounts that were included in the TrustedSigners complex type, as well as their active CloudFront key pair IDs, if any.',
'type' => 'object',
'sentAs' => 'Signer',
'properties' => array(
'AwsAccountNumber' => array(
'description' => 'Specifies an AWS account that can create signed URLs. Values: self, which indicates that the AWS account that was used to create the distribution can created signed URLs, or an AWS account number. Omit the dashes in the account number.',
'type' => 'string',
),
'KeyPairIds' => array(
'description' => 'A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.',
'type' => 'object',
'properties' => array(
'Quantity' => array(
'description' => 'The number of active CloudFront key pairs for AwsAccountNumber.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.',
'type' => 'array',
'items' => array(
'name' => 'KeyPairId',
'type' => 'string',
'sentAs' => 'KeyPairId',
),
),
),
),
),
),
),
),
),
'DistributionConfig' => array(
'description' => 'The current configuration information for the distribution.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'CallerReference' => array(
'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the DistributionConfig object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a distribution but the content of the DistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.',
'type' => 'string',
),
'Aliases' => array(
'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.',
'type' => 'object',
'properties' => array(
'Quantity' => array(
'description' => 'The number of CNAMEs, if any, for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
'sentAs' => 'CNAME',
),
),
),
),
'DefaultRootObject' => array(
'description' => 'The object that you want CloudFront to return (for example, index.html) when an end user requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/index.html). Specifying a default root object avoids exposing the contents of your distribution. If you don\'t want to specify a default root object when you create a distribution, include an empty DefaultRootObject element. To delete the default root object from an existing distribution, update the distribution configuration and include an empty DefaultRootObject element. To replace the default root object, update the distribution configuration and specify the new object.',
'type' => 'string',
),
'Origins' => array(
'description' => 'A complex type that contains information about origins for this distribution.',
'type' => 'object',
'properties' => array(
'Quantity' => array(
'description' => 'The number of origins for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'A complex type that contains origins for this distribution.',
'type' => 'array',
'items' => array(
'name' => 'Origin',
'description' => 'A complex type that describes the Amazon S3 bucket or the HTTP server (for example, a web server) from which CloudFront gets your files.You must create at least one origin.',
'type' => 'object',
'sentAs' => 'Origin',
'properties' => array(
'Id' => array(
'description' => 'A unique identifier for the origin. The value of Id must be unique within the distribution. You use the value of Id when you create a cache behavior. The Id identifies the origin that CloudFront routes a request to when the request matches the path pattern for that cache behavior.',
'type' => 'string',
),
'DomainName' => array(
'description' => 'Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin, for example, myawsbucket.s3.amazonaws.com. Custom origins: The DNS domain name for the HTTP server from which you want CloudFront to get objects for this origin, for example, www.example.com.',
'type' => 'string',
),
'S3OriginConfig' => array(
'description' => 'A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.',
'type' => 'object',
'properties' => array(
'OriginAccessIdentity' => array(
'description' => 'The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that end users can only access objects in an Amazon S3 bucket through CloudFront. If you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element. To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element. To replace the origin access identity, update the distribution configuration and specify the new origin access identity.',
'type' => 'string',
),
),
),
'CustomOriginConfig' => array(
'description' => 'A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead.',
'type' => 'object',
'properties' => array(
'HTTPPort' => array(
'description' => 'The HTTP port the custom origin listens on.',
'type' => 'numeric',
),
'HTTPSPort' => array(
'description' => 'The HTTPS port the custom origin listens on.',
'type' => 'numeric',
),
'OriginProtocolPolicy' => array(
'description' => 'The origin protocol policy to apply to your origin.',
'type' => 'string',
),
),
),
),
),
),
),
),
'DefaultCacheBehavior' => array(
'description' => 'A complex type that describes the default cache behavior if you do not specify a CacheBehavior element or if files don\'t match any of the values of PathPattern in CacheBehavior elements.You must create exactly one default cache behavior.',
'type' => 'object',
'properties' => array(
'TargetOriginId' => array(
'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
'type' => 'string',
),
'ForwardedValues' => array(
'description' => 'A complex type that specifies how CloudFront handles query strings.',
'type' => 'object',
'properties' => array(
'QueryString' => array(
'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
'type' => 'boolean',
),
),
),
'TrustedSigners' => array(
'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
'type' => 'object',
'properties' => array(
'Enabled' => array(
'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
'type' => 'boolean',
),
'Quantity' => array(
'description' => 'The number of trusted signers for this cache behavior.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'ViewerProtocolPolicy' => array(
'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
'type' => 'string',
),
'MinTTL' => array(
'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
'type' => 'numeric',
),
),
),
'CacheBehaviors' => array(
'description' => 'A complex type that contains zero or more CacheBehavior elements.',
'type' => 'object',
'properties' => array(
'Quantity' => array(
'description' => 'The number of cache behaviors for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'CacheBehavior',
'description' => 'A complex type that describes how CloudFront processes requests. You can create up to 10 cache behaviors.You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to distribute objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin will never be used. If you don\'t want to specify any cache behaviors, include only an empty CacheBehaviors element. Don\'t include an empty CacheBehavior element, or CloudFront returns a MalformedXML error. To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty CacheBehaviors element. To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.',
'type' => 'object',
'sentAs' => 'CacheBehavior',
'properties' => array(
'PathPattern' => array(
'description' => 'The pattern (for example, images/*.jpg) that specifies which requests you want this cache behavior to apply to. When CloudFront receives an end-user request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution. The path pattern for the default cache behavior is * and cannot be changed. If the request for an object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in the default cache behavior.',
'type' => 'string',
),
'TargetOriginId' => array(
'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
'type' => 'string',
),
'ForwardedValues' => array(
'description' => 'A complex type that specifies how CloudFront handles query strings.',
'type' => 'object',
'properties' => array(
'QueryString' => array(
'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
'type' => 'boolean',
),
),
),
'TrustedSigners' => array(
'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
'type' => 'object',
'properties' => array(
'Enabled' => array(
'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
'type' => 'boolean',
),
'Quantity' => array(
'description' => 'The number of trusted signers for this cache behavior.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'ViewerProtocolPolicy' => array(
'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
'type' => 'string',
),
'MinTTL' => array(
'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
'type' => 'numeric',
),
),
),
),
),
),
'Comment' => array(
'description' => 'Any comments you want to include about the distribution.',
'type' => 'string',
),
'Logging' => array(
'description' => 'A complex type that controls whether access logs are written for the distribution.',
'type' => 'object',
'properties' => array(
'Enabled' => array(
'description' => 'Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.',
'type' => 'boolean',
),
'Bucket' => array(
'description' => 'The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.',
'type' => 'string',
),
'Prefix' => array(
'description' => 'An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.',
'type' => 'string',
),
),
),
'Enabled' => array(
'description' => 'Whether the distribution is enabled to accept end user requests for content.',
'type' => 'boolean',
),
),
),
'Location' => array(
'description' => 'The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.',
'type' => 'string',
'location' => 'header',
),
'ETag' => array(
'description' => 'The current version of the distribution created.',
'type' => 'string',
'location' => 'header',
),
'RequestId' => array(
'description' => 'Request ID of the operation',
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'CreateInvalidationResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Location' => array(
'description' => 'The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID.',
'type' => 'string',
'location' => 'header',
),
'Id' => array(
'description' => 'The identifier for the invalidation request. For example: IDFDVBD632BHDS5.',
'type' => 'string',
'location' => 'xml',
),
'Status' => array(
'description' => 'The status of the invalidation request. When the invalidation batch is finished, the status is Completed.',
'type' => 'string',
'location' => 'xml',
),
'CreateTime' => array(
'description' => 'The date and time the invalidation request was first made.',
'type' => 'string',
'location' => 'xml',
),
'InvalidationBatch' => array(
'description' => 'The current invalidation information for the batch request.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Paths' => array(
'description' => 'The path of the object to invalidate. The path is relative to the distribution and must begin with a slash (/). You must enclose each invalidation object with the Path element tags. If the path includes non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not invalidate the old version of the updated object.',
'type' => 'object',
'properties' => array(
'Quantity' => array(
'description' => 'The number of objects that you want to invalidate.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'A complex type that contains a list of the objects that you want to invalidate.',
'type' => 'array',
'items' => array(
'name' => 'Path',
'type' => 'string',
'sentAs' => 'Path',
),
),
),
),
'CallerReference' => array(
'description' => 'A unique name that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the Path object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create an invalidation batch, and the content of each Path element is identical to the original request, the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a distribution but the content of any Path is different from the original request, CloudFront returns an InvalidationBatchAlreadyExists error.',
'type' => 'string',
),
),
),
'RequestId' => array(
'description' => 'Request ID of the operation',
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'CreateStreamingDistributionResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Id' => array(
'description' => 'The identifier for the streaming distribution. For example: EGTXBD79H29TRA8.',
'type' => 'string',
'location' => 'xml',
),
'Status' => array(
'description' => 'The current status of the streaming distribution. When the status is Deployed, the distribution\'s information is fully propagated throughout the Amazon CloudFront system.',
'type' => 'string',
'location' => 'xml',
),
'LastModifiedTime' => array(
'description' => 'The date and time the distribution was last modified.',
'type' => 'string',
'location' => 'xml',
),
'DomainName' => array(
'description' => 'The domain name corresponding to the streaming distribution. For example: s5c39gqb8ow64r.cloudfront.net.',
'type' => 'string',
'location' => 'xml',
),
'ActiveTrustedSigners' => array(
'description' => 'CloudFront automatically adds this element to the response only if you\'ve set up the distribution to serve private content with signed URLs. The element lists the key pair IDs that CloudFront is aware of for each trusted signer. The Signer child element lists the AWS account number of the trusted signer (or an empty Self element if the signer is you). The Signer element also includes the IDs of any active key pairs associated with the trusted signer\'s AWS account. If no KeyPairId element appears for a Signer, that signer can\'t create working signed URLs.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'description' => 'Each active trusted signer.',
'type' => 'boolean',
),
'Quantity' => array(
'description' => 'The number of unique trusted signers included in all cache behaviors. For example, if three cache behaviors all list the same three AWS accounts, the value of Quantity for ActiveTrustedSigners will be 3.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'A complex type that contains one Signer complex type for each unique trusted signer that is specified in the TrustedSigners complex type, including trusted signers in the default cache behavior and in all of the other cache behaviors.',
'type' => 'array',
'items' => array(
'name' => 'Signer',
'description' => 'A complex type that lists the AWS accounts that were included in the TrustedSigners complex type, as well as their active CloudFront key pair IDs, if any.',
'type' => 'object',
'sentAs' => 'Signer',
'properties' => array(
'AwsAccountNumber' => array(
'description' => 'Specifies an AWS account that can create signed URLs. Values: self, which indicates that the AWS account that was used to create the distribution can created signed URLs, or an AWS account number. Omit the dashes in the account number.',
'type' => 'string',
),
'KeyPairIds' => array(
'description' => 'A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.',
'type' => 'object',
'properties' => array(
'Quantity' => array(
'description' => 'The number of active CloudFront key pairs for AwsAccountNumber.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.',
'type' => 'array',
'items' => array(
'name' => 'KeyPairId',
'type' => 'string',
'sentAs' => 'KeyPairId',
),
),
),
),
),
),
),
),
),
'StreamingDistributionConfig' => array(
'description' => 'The current configuration information for the streaming distribution.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'CallerReference' => array(
'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the StreamingDistributionConfig object), a new streaming distribution is created. If the CallerReference is a value you already sent in a previous request to create a streaming distribution, and the content of the StreamingDistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a streaming distribution but the content of the StreamingDistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.',
'type' => 'string',
),
'S3Origin' => array(
'description' => 'A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.',
'type' => 'object',
'properties' => array(
'DomainName' => array(
'description' => 'The DNS name of the S3 origin.',
'type' => 'string',
),
'OriginAccessIdentity' => array(
'description' => 'Your S3 origin\'s origin access identity.',
'type' => 'string',
),
),
),
'Aliases' => array(
'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.',
'type' => 'object',
'properties' => array(
'Quantity' => array(
'description' => 'The number of CNAMEs, if any, for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
'sentAs' => 'CNAME',
),
),
),
),
'Comment' => array(
'description' => 'Any comments you want to include about the streaming distribution.',
'type' => 'string',
),
'Logging' => array(
'description' => 'A complex type that controls whether access logs are written for the streaming distribution.',
'type' => 'object',
'properties' => array(
'Enabled' => array(
'description' => 'Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.',
'type' => 'boolean',
),
'Bucket' => array(
'description' => 'The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.',
'type' => 'string',
),
'Prefix' => array(
'description' => 'An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.',
'type' => 'string',
),
),
),
'TrustedSigners' => array(
'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
'type' => 'object',
'properties' => array(
'Enabled' => array(
'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
'type' => 'boolean',
),
'Quantity' => array(
'description' => 'The number of trusted signers for this cache behavior.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'Enabled' => array(
'description' => 'Whether the streaming distribution is enabled to accept end user requests for content.',
'type' => 'boolean',
),
),
),
'Location' => array(
'description' => 'The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.',
'type' => 'string',
'location' => 'header',
),
'ETag' => array(
'description' => 'The current version of the streaming distribution created.',
'type' => 'string',
'location' => 'header',
),
'RequestId' => array(
'description' => 'Request ID of the operation',
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'DeleteCloudFrontOriginAccessIdentity2012_05_05Output' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RequestId' => array(
'description' => 'Request ID of the operation',
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'DeleteDistribution2012_05_05Output' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RequestId' => array(
'description' => 'Request ID of the operation',
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'DeleteStreamingDistribution2012_05_05Output' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RequestId' => array(
'description' => 'Request ID of the operation',
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetCloudFrontOriginAccessIdentityResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Id' => array(
'description' => 'The ID for the origin access identity. For example: E74FTE3AJFJ256A.',
'type' => 'string',
'location' => 'xml',
),
'S3CanonicalUserId' => array(
'description' => 'The Amazon S3 canonical user ID for the origin access identity, which you use when giving the origin access identity read permission to an object in Amazon S3.',
'type' => 'string',
'location' => 'xml',
),
'CloudFrontOriginAccessIdentityConfig' => array(
'description' => 'The current configuration information for the identity.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'CallerReference' => array(
'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the CloudFrontOriginAccessIdentityConfig object), a new origin access identity is created. If the CallerReference is a value you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.',
'type' => 'string',
),
'Comment' => array(
'description' => 'Any comments you want to include about the origin access identity.',
'type' => 'string',
),
),
),
'ETag' => array(
'description' => 'The current version of the origin access identity\'s information. For example: E2QWRUHAPOMQZL.',
'type' => 'string',
'location' => 'header',
),
'RequestId' => array(
'description' => 'Request ID of the operation',
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetCloudFrontOriginAccessIdentityConfigResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'CallerReference' => array(
'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the CloudFrontOriginAccessIdentityConfig object), a new origin access identity is created. If the CallerReference is a value you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.',
'type' => 'string',
'location' => 'xml',
),
'Comment' => array(
'description' => 'Any comments you want to include about the origin access identity.',
'type' => 'string',
'location' => 'xml',
),
'ETag' => array(
'description' => 'The current version of the configuration. For example: E2QWRUHAPOMQZL.',
'type' => 'string',
'location' => 'header',
),
'RequestId' => array(
'description' => 'Request ID of the operation',
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetDistributionResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Id' => array(
'description' => 'The identifier for the distribution. For example: EDFDVBD632BHDS5.',
'type' => 'string',
'location' => 'xml',
),
'Status' => array(
'description' => 'This response element indicates the current status of the distribution. When the status is Deployed, the distribution\'s information is fully propagated throughout the Amazon CloudFront system.',
'type' => 'string',
'location' => 'xml',
),
'LastModifiedTime' => array(
'description' => 'The date and time the distribution was last modified.',
'type' => 'string',
'location' => 'xml',
),
'InProgressInvalidationBatches' => array(
'description' => 'The number of invalidation batches currently in progress.',
'type' => 'numeric',
'location' => 'xml',
),
'DomainName' => array(
'description' => 'The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.',
'type' => 'string',
'location' => 'xml',
),
'ActiveTrustedSigners' => array(
'description' => 'CloudFront automatically adds this element to the response only if you\'ve set up the distribution to serve private content with signed URLs. The element lists the key pair IDs that CloudFront is aware of for each trusted signer. The Signer child element lists the AWS account number of the trusted signer (or an empty Self element if the signer is you). The Signer element also includes the IDs of any active key pairs associated with the trusted signer\'s AWS account. If no KeyPairId element appears for a Signer, that signer can\'t create working signed URLs.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'description' => 'Each active trusted signer.',
'type' => 'boolean',
),
'Quantity' => array(
'description' => 'The number of unique trusted signers included in all cache behaviors. For example, if three cache behaviors all list the same three AWS accounts, the value of Quantity for ActiveTrustedSigners will be 3.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'A complex type that contains one Signer complex type for each unique trusted signer that is specified in the TrustedSigners complex type, including trusted signers in the default cache behavior and in all of the other cache behaviors.',
'type' => 'array',
'items' => array(
'name' => 'Signer',
'description' => 'A complex type that lists the AWS accounts that were included in the TrustedSigners complex type, as well as their active CloudFront key pair IDs, if any.',
'type' => 'object',
'sentAs' => 'Signer',
'properties' => array(
'AwsAccountNumber' => array(
'description' => 'Specifies an AWS account that can create signed URLs. Values: self, which indicates that the AWS account that was used to create the distribution can created signed URLs, or an AWS account number. Omit the dashes in the account number.',
'type' => 'string',
),
'KeyPairIds' => array(
'description' => 'A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.',
'type' => 'object',
'properties' => array(
'Quantity' => array(
'description' => 'The number of active CloudFront key pairs for AwsAccountNumber.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.',
'type' => 'array',
'items' => array(
'name' => 'KeyPairId',
'type' => 'string',
'sentAs' => 'KeyPairId',
),
),
),
),
),
),
),
),
),
'DistributionConfig' => array(
'description' => 'The current configuration information for the distribution.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'CallerReference' => array(
'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the DistributionConfig object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a distribution but the content of the DistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.',
'type' => 'string',
),
'Aliases' => array(
'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.',
'type' => 'object',
'properties' => array(
'Quantity' => array(
'description' => 'The number of CNAMEs, if any, for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
'sentAs' => 'CNAME',
),
),
),
),
'DefaultRootObject' => array(
'description' => 'The object that you want CloudFront to return (for example, index.html) when an end user requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/index.html). Specifying a default root object avoids exposing the contents of your distribution. If you don\'t want to specify a default root object when you create a distribution, include an empty DefaultRootObject element. To delete the default root object from an existing distribution, update the distribution configuration and include an empty DefaultRootObject element. To replace the default root object, update the distribution configuration and specify the new object.',
'type' => 'string',
),
'Origins' => array(
'description' => 'A complex type that contains information about origins for this distribution.',
'type' => 'object',
'properties' => array(
'Quantity' => array(
'description' => 'The number of origins for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'A complex type that contains origins for this distribution.',
'type' => 'array',
'items' => array(
'name' => 'Origin',
'description' => 'A complex type that describes the Amazon S3 bucket or the HTTP server (for example, a web server) from which CloudFront gets your files.You must create at least one origin.',
'type' => 'object',
'sentAs' => 'Origin',
'properties' => array(
'Id' => array(
'description' => 'A unique identifier for the origin. The value of Id must be unique within the distribution. You use the value of Id when you create a cache behavior. The Id identifies the origin that CloudFront routes a request to when the request matches the path pattern for that cache behavior.',
'type' => 'string',
),
'DomainName' => array(
'description' => 'Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin, for example, myawsbucket.s3.amazonaws.com. Custom origins: The DNS domain name for the HTTP server from which you want CloudFront to get objects for this origin, for example, www.example.com.',
'type' => 'string',
),
'S3OriginConfig' => array(
'description' => 'A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.',
'type' => 'object',
'properties' => array(
'OriginAccessIdentity' => array(
'description' => 'The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that end users can only access objects in an Amazon S3 bucket through CloudFront. If you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element. To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element. To replace the origin access identity, update the distribution configuration and specify the new origin access identity.',
'type' => 'string',
),
),
),
'CustomOriginConfig' => array(
'description' => 'A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead.',
'type' => 'object',
'properties' => array(
'HTTPPort' => array(
'description' => 'The HTTP port the custom origin listens on.',
'type' => 'numeric',
),
'HTTPSPort' => array(
'description' => 'The HTTPS port the custom origin listens on.',
'type' => 'numeric',
),
'OriginProtocolPolicy' => array(
'description' => 'The origin protocol policy to apply to your origin.',
'type' => 'string',
),
),
),
),
),
),
),
),
'DefaultCacheBehavior' => array(
'description' => 'A complex type that describes the default cache behavior if you do not specify a CacheBehavior element or if files don\'t match any of the values of PathPattern in CacheBehavior elements.You must create exactly one default cache behavior.',
'type' => 'object',
'properties' => array(
'TargetOriginId' => array(
'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
'type' => 'string',
),
'ForwardedValues' => array(
'description' => 'A complex type that specifies how CloudFront handles query strings.',
'type' => 'object',
'properties' => array(
'QueryString' => array(
'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
'type' => 'boolean',
),
),
),
'TrustedSigners' => array(
'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
'type' => 'object',
'properties' => array(
'Enabled' => array(
'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
'type' => 'boolean',
),
'Quantity' => array(
'description' => 'The number of trusted signers for this cache behavior.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'ViewerProtocolPolicy' => array(
'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
'type' => 'string',
),
'MinTTL' => array(
'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
'type' => 'numeric',
),
),
),
'CacheBehaviors' => array(
'description' => 'A complex type that contains zero or more CacheBehavior elements.',
'type' => 'object',
'properties' => array(
'Quantity' => array(
'description' => 'The number of cache behaviors for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'CacheBehavior',
'description' => 'A complex type that describes how CloudFront processes requests. You can create up to 10 cache behaviors.You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to distribute objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin will never be used. If you don\'t want to specify any cache behaviors, include only an empty CacheBehaviors element. Don\'t include an empty CacheBehavior element, or CloudFront returns a MalformedXML error. To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty CacheBehaviors element. To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.',
'type' => 'object',
'sentAs' => 'CacheBehavior',
'properties' => array(
'PathPattern' => array(
'description' => 'The pattern (for example, images/*.jpg) that specifies which requests you want this cache behavior to apply to. When CloudFront receives an end-user request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution. The path pattern for the default cache behavior is * and cannot be changed. If the request for an object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in the default cache behavior.',
'type' => 'string',
),
'TargetOriginId' => array(
'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
'type' => 'string',
),
'ForwardedValues' => array(
'description' => 'A complex type that specifies how CloudFront handles query strings.',
'type' => 'object',
'properties' => array(
'QueryString' => array(
'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
'type' => 'boolean',
),
),
),
'TrustedSigners' => array(
'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
'type' => 'object',
'properties' => array(
'Enabled' => array(
'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
'type' => 'boolean',
),
'Quantity' => array(
'description' => 'The number of trusted signers for this cache behavior.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'ViewerProtocolPolicy' => array(
'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
'type' => 'string',
),
'MinTTL' => array(
'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
'type' => 'numeric',
),
),
),
),
),
),
'Comment' => array(
'description' => 'Any comments you want to include about the distribution.',
'type' => 'string',
),
'Logging' => array(
'description' => 'A complex type that controls whether access logs are written for the distribution.',
'type' => 'object',
'properties' => array(
'Enabled' => array(
'description' => 'Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.',
'type' => 'boolean',
),
'Bucket' => array(
'description' => 'The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.',
'type' => 'string',
),
'Prefix' => array(
'description' => 'An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.',
'type' => 'string',
),
),
),
'Enabled' => array(
'description' => 'Whether the distribution is enabled to accept end user requests for content.',
'type' => 'boolean',
),
),
),
'ETag' => array(
'description' => 'The current version of the distribution\'s information. For example: E2QWRUHAPOMQZL.',
'type' => 'string',
'location' => 'header',
),
'RequestId' => array(
'description' => 'Request ID of the operation',
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetDistributionConfigResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'CallerReference' => array(
'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the DistributionConfig object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a distribution but the content of the DistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.',
'type' => 'string',
'location' => 'xml',
),
'Aliases' => array(
'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'description' => 'The number of CNAMEs, if any, for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
'sentAs' => 'CNAME',
),
),
),
),
'DefaultRootObject' => array(
'description' => 'The object that you want CloudFront to return (for example, index.html) when an end user requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/index.html). Specifying a default root object avoids exposing the contents of your distribution. If you don\'t want to specify a default root object when you create a distribution, include an empty DefaultRootObject element. To delete the default root object from an existing distribution, update the distribution configuration and include an empty DefaultRootObject element. To replace the default root object, update the distribution configuration and specify the new object.',
'type' => 'string',
'location' => 'xml',
),
'Origins' => array(
'description' => 'A complex type that contains information about origins for this distribution.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'description' => 'The number of origins for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'A complex type that contains origins for this distribution.',
'type' => 'array',
'items' => array(
'name' => 'Origin',
'description' => 'A complex type that describes the Amazon S3 bucket or the HTTP server (for example, a web server) from which CloudFront gets your files.You must create at least one origin.',
'type' => 'object',
'sentAs' => 'Origin',
'properties' => array(
'Id' => array(
'description' => 'A unique identifier for the origin. The value of Id must be unique within the distribution. You use the value of Id when you create a cache behavior. The Id identifies the origin that CloudFront routes a request to when the request matches the path pattern for that cache behavior.',
'type' => 'string',
),
'DomainName' => array(
'description' => 'Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin, for example, myawsbucket.s3.amazonaws.com. Custom origins: The DNS domain name for the HTTP server from which you want CloudFront to get objects for this origin, for example, www.example.com.',
'type' => 'string',
),
'S3OriginConfig' => array(
'description' => 'A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.',
'type' => 'object',
'properties' => array(
'OriginAccessIdentity' => array(
'description' => 'The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that end users can only access objects in an Amazon S3 bucket through CloudFront. If you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element. To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element. To replace the origin access identity, update the distribution configuration and specify the new origin access identity.',
'type' => 'string',
),
),
),
'CustomOriginConfig' => array(
'description' => 'A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead.',
'type' => 'object',
'properties' => array(
'HTTPPort' => array(
'description' => 'The HTTP port the custom origin listens on.',
'type' => 'numeric',
),
'HTTPSPort' => array(
'description' => 'The HTTPS port the custom origin listens on.',
'type' => 'numeric',
),
'OriginProtocolPolicy' => array(
'description' => 'The origin protocol policy to apply to your origin.',
'type' => 'string',
),
),
),
),
),
),
),
),
'DefaultCacheBehavior' => array(
'description' => 'A complex type that describes the default cache behavior if you do not specify a CacheBehavior element or if files don\'t match any of the values of PathPattern in CacheBehavior elements.You must create exactly one default cache behavior.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'TargetOriginId' => array(
'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
'type' => 'string',
),
'ForwardedValues' => array(
'description' => 'A complex type that specifies how CloudFront handles query strings.',
'type' => 'object',
'properties' => array(
'QueryString' => array(
'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
'type' => 'boolean',
),
),
),
'TrustedSigners' => array(
'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
'type' => 'object',
'properties' => array(
'Enabled' => array(
'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
'type' => 'boolean',
),
'Quantity' => array(
'description' => 'The number of trusted signers for this cache behavior.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'ViewerProtocolPolicy' => array(
'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
'type' => 'string',
),
'MinTTL' => array(
'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
'type' => 'numeric',
),
),
),
'CacheBehaviors' => array(
'description' => 'A complex type that contains zero or more CacheBehavior elements.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'description' => 'The number of cache behaviors for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'CacheBehavior',
'description' => 'A complex type that describes how CloudFront processes requests. You can create up to 10 cache behaviors.You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to distribute objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin will never be used. If you don\'t want to specify any cache behaviors, include only an empty CacheBehaviors element. Don\'t include an empty CacheBehavior element, or CloudFront returns a MalformedXML error. To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty CacheBehaviors element. To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.',
'type' => 'object',
'sentAs' => 'CacheBehavior',
'properties' => array(
'PathPattern' => array(
'description' => 'The pattern (for example, images/*.jpg) that specifies which requests you want this cache behavior to apply to. When CloudFront receives an end-user request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution. The path pattern for the default cache behavior is * and cannot be changed. If the request for an object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in the default cache behavior.',
'type' => 'string',
),
'TargetOriginId' => array(
'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
'type' => 'string',
),
'ForwardedValues' => array(
'description' => 'A complex type that specifies how CloudFront handles query strings.',
'type' => 'object',
'properties' => array(
'QueryString' => array(
'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
'type' => 'boolean',
),
),
),
'TrustedSigners' => array(
'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
'type' => 'object',
'properties' => array(
'Enabled' => array(
'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
'type' => 'boolean',
),
'Quantity' => array(
'description' => 'The number of trusted signers for this cache behavior.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'ViewerProtocolPolicy' => array(
'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
'type' => 'string',
),
'MinTTL' => array(
'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
'type' => 'numeric',
),
),
),
),
),
),
'Comment' => array(
'description' => 'Any comments you want to include about the distribution.',
'type' => 'string',
'location' => 'xml',
),
'Logging' => array(
'description' => 'A complex type that controls whether access logs are written for the distribution.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'description' => 'Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.',
'type' => 'boolean',
),
'Bucket' => array(
'description' => 'The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.',
'type' => 'string',
),
'Prefix' => array(
'description' => 'An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.',
'type' => 'string',
),
),
),
'Enabled' => array(
'description' => 'Whether the distribution is enabled to accept end user requests for content.',
'type' => 'boolean',
'location' => 'xml',
),
'ETag' => array(
'description' => 'The current version of the configuration. For example: E2QWRUHAPOMQZL.',
'type' => 'string',
'location' => 'header',
),
'RequestId' => array(
'description' => 'Request ID of the operation',
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetInvalidationResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Id' => array(
'description' => 'The identifier for the invalidation request. For example: IDFDVBD632BHDS5.',
'type' => 'string',
'location' => 'xml',
),
'Status' => array(
'description' => 'The status of the invalidation request. When the invalidation batch is finished, the status is Completed.',
'type' => 'string',
'location' => 'xml',
),
'CreateTime' => array(
'description' => 'The date and time the invalidation request was first made.',
'type' => 'string',
'location' => 'xml',
),
'InvalidationBatch' => array(
'description' => 'The current invalidation information for the batch request.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Paths' => array(
'description' => 'The path of the object to invalidate. The path is relative to the distribution and must begin with a slash (/). You must enclose each invalidation object with the Path element tags. If the path includes non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not invalidate the old version of the updated object.',
'type' => 'object',
'properties' => array(
'Quantity' => array(
'description' => 'The number of objects that you want to invalidate.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'A complex type that contains a list of the objects that you want to invalidate.',
'type' => 'array',
'items' => array(
'name' => 'Path',
'type' => 'string',
'sentAs' => 'Path',
),
),
),
),
'CallerReference' => array(
'description' => 'A unique name that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the Path object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create an invalidation batch, and the content of each Path element is identical to the original request, the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a distribution but the content of any Path is different from the original request, CloudFront returns an InvalidationBatchAlreadyExists error.',
'type' => 'string',
),
),
),
'RequestId' => array(
'description' => 'Request ID of the operation',
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetStreamingDistributionResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Id' => array(
'description' => 'The identifier for the streaming distribution. For example: EGTXBD79H29TRA8.',
'type' => 'string',
'location' => 'xml',
),
'Status' => array(
'description' => 'The current status of the streaming distribution. When the status is Deployed, the distribution\'s information is fully propagated throughout the Amazon CloudFront system.',
'type' => 'string',
'location' => 'xml',
),
'LastModifiedTime' => array(
'description' => 'The date and time the distribution was last modified.',
'type' => 'string',
'location' => 'xml',
),
'DomainName' => array(
'description' => 'The domain name corresponding to the streaming distribution. For example: s5c39gqb8ow64r.cloudfront.net.',
'type' => 'string',
'location' => 'xml',
),
'ActiveTrustedSigners' => array(
'description' => 'CloudFront automatically adds this element to the response only if you\'ve set up the distribution to serve private content with signed URLs. The element lists the key pair IDs that CloudFront is aware of for each trusted signer. The Signer child element lists the AWS account number of the trusted signer (or an empty Self element if the signer is you). The Signer element also includes the IDs of any active key pairs associated with the trusted signer\'s AWS account. If no KeyPairId element appears for a Signer, that signer can\'t create working signed URLs.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'description' => 'Each active trusted signer.',
'type' => 'boolean',
),
'Quantity' => array(
'description' => 'The number of unique trusted signers included in all cache behaviors. For example, if three cache behaviors all list the same three AWS accounts, the value of Quantity for ActiveTrustedSigners will be 3.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'A complex type that contains one Signer complex type for each unique trusted signer that is specified in the TrustedSigners complex type, including trusted signers in the default cache behavior and in all of the other cache behaviors.',
'type' => 'array',
'items' => array(
'name' => 'Signer',
'description' => 'A complex type that lists the AWS accounts that were included in the TrustedSigners complex type, as well as their active CloudFront key pair IDs, if any.',
'type' => 'object',
'sentAs' => 'Signer',
'properties' => array(
'AwsAccountNumber' => array(
'description' => 'Specifies an AWS account that can create signed URLs. Values: self, which indicates that the AWS account that was used to create the distribution can created signed URLs, or an AWS account number. Omit the dashes in the account number.',
'type' => 'string',
),
'KeyPairIds' => array(
'description' => 'A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.',
'type' => 'object',
'properties' => array(
'Quantity' => array(
'description' => 'The number of active CloudFront key pairs for AwsAccountNumber.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.',
'type' => 'array',
'items' => array(
'name' => 'KeyPairId',
'type' => 'string',
'sentAs' => 'KeyPairId',
),
),
),
),
),
),
),
),
),
'StreamingDistributionConfig' => array(
'description' => 'The current configuration information for the streaming distribution.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'CallerReference' => array(
'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the StreamingDistributionConfig object), a new streaming distribution is created. If the CallerReference is a value you already sent in a previous request to create a streaming distribution, and the content of the StreamingDistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a streaming distribution but the content of the StreamingDistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.',
'type' => 'string',
),
'S3Origin' => array(
'description' => 'A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.',
'type' => 'object',
'properties' => array(
'DomainName' => array(
'description' => 'The DNS name of the S3 origin.',
'type' => 'string',
),
'OriginAccessIdentity' => array(
'description' => 'Your S3 origin\'s origin access identity.',
'type' => 'string',
),
),
),
'Aliases' => array(
'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.',
'type' => 'object',
'properties' => array(
'Quantity' => array(
'description' => 'The number of CNAMEs, if any, for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
'sentAs' => 'CNAME',
),
),
),
),
'Comment' => array(
'description' => 'Any comments you want to include about the streaming distribution.',
'type' => 'string',
),
'Logging' => array(
'description' => 'A complex type that controls whether access logs are written for the streaming distribution.',
'type' => 'object',
'properties' => array(
'Enabled' => array(
'description' => 'Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.',
'type' => 'boolean',
),
'Bucket' => array(
'description' => 'The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.',
'type' => 'string',
),
'Prefix' => array(
'description' => 'An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.',
'type' => 'string',
),
),
),
'TrustedSigners' => array(
'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
'type' => 'object',
'properties' => array(
'Enabled' => array(
'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
'type' => 'boolean',
),
'Quantity' => array(
'description' => 'The number of trusted signers for this cache behavior.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'Enabled' => array(
'description' => 'Whether the streaming distribution is enabled to accept end user requests for content.',
'type' => 'boolean',
),
),
),
'ETag' => array(
'description' => 'The current version of the streaming distribution\'s information. For example: E2QWRUHAPOMQZL.',
'type' => 'string',
'location' => 'header',
),
'RequestId' => array(
'description' => 'Request ID of the operation',
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetStreamingDistributionConfigResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'CallerReference' => array(
'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the StreamingDistributionConfig object), a new streaming distribution is created. If the CallerReference is a value you already sent in a previous request to create a streaming distribution, and the content of the StreamingDistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a streaming distribution but the content of the StreamingDistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.',
'type' => 'string',
'location' => 'xml',
),
'S3Origin' => array(
'description' => 'A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'DomainName' => array(
'description' => 'The DNS name of the S3 origin.',
'type' => 'string',
),
'OriginAccessIdentity' => array(
'description' => 'Your S3 origin\'s origin access identity.',
'type' => 'string',
),
),
),
'Aliases' => array(
'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'description' => 'The number of CNAMEs, if any, for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
'sentAs' => 'CNAME',
),
),
),
),
'Comment' => array(
'description' => 'Any comments you want to include about the streaming distribution.',
'type' => 'string',
'location' => 'xml',
),
'Logging' => array(
'description' => 'A complex type that controls whether access logs are written for the streaming distribution.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'description' => 'Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.',
'type' => 'boolean',
),
'Bucket' => array(
'description' => 'The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.',
'type' => 'string',
),
'Prefix' => array(
'description' => 'An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.',
'type' => 'string',
),
),
),
'TrustedSigners' => array(
'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
'type' => 'boolean',
),
'Quantity' => array(
'description' => 'The number of trusted signers for this cache behavior.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'Enabled' => array(
'description' => 'Whether the streaming distribution is enabled to accept end user requests for content.',
'type' => 'boolean',
'location' => 'xml',
),
'ETag' => array(
'description' => 'The current version of the configuration. For example: E2QWRUHAPOMQZL.',
'type' => 'string',
'location' => 'header',
),
'RequestId' => array(
'description' => 'Request ID of the operation',
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'ListCloudFrontOriginAccessIdentitiesResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'description' => 'The value you provided for the Marker request parameter.',
'type' => 'string',
'location' => 'xml',
),
'NextMarker' => array(
'description' => 'If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your origin access identities where they left off.',
'type' => 'string',
'location' => 'xml',
),
'MaxItems' => array(
'description' => 'The value you provided for the MaxItems request parameter.',
'type' => 'numeric',
'location' => 'xml',
),
'IsTruncated' => array(
'description' => 'A flag that indicates whether more origin access identities remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more items in the list.',
'type' => 'boolean',
'location' => 'xml',
),
'Quantity' => array(
'description' => 'The number of CloudFront origin access identities that were created by the current AWS account.',
'type' => 'numeric',
'location' => 'xml',
),
'Items' => array(
'description' => 'A complex type that contains one CloudFrontOriginAccessIdentitySummary element for each origin access identity that was created by the current AWS account.',
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'CloudFrontOriginAccessIdentitySummary',
'description' => 'Summary of the information about a CloudFront origin access identity.',
'type' => 'object',
'sentAs' => 'CloudFrontOriginAccessIdentitySummary',
'properties' => array(
'Id' => array(
'description' => 'The ID for the origin access identity. For example: E74FTE3AJFJ256A.',
'type' => 'string',
),
'S3CanonicalUserId' => array(
'description' => 'The Amazon S3 canonical user ID for the origin access identity, which you use when giving the origin access identity read permission to an object in Amazon S3.',
'type' => 'string',
),
'Comment' => array(
'description' => 'The comment for this origin access identity, as originally specified when created.',
'type' => 'string',
),
),
),
),
'RequestId' => array(
'description' => 'Request ID of the operation',
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'ListDistributionsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'description' => 'The value you provided for the Marker request parameter.',
'type' => 'string',
'location' => 'xml',
),
'NextMarker' => array(
'description' => 'If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your distributions where they left off.',
'type' => 'string',
'location' => 'xml',
),
'MaxItems' => array(
'description' => 'The value you provided for the MaxItems request parameter.',
'type' => 'numeric',
'location' => 'xml',
),
'IsTruncated' => array(
'description' => 'A flag that indicates whether more distributions remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more distributions in the list.',
'type' => 'boolean',
'location' => 'xml',
),
'Quantity' => array(
'description' => 'The number of distributions that were created by the current AWS account.',
'type' => 'numeric',
'location' => 'xml',
),
'Items' => array(
'description' => 'A complex type that contains one DistributionSummary element for each distribution that was created by the current AWS account.',
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'DistributionSummary',
'description' => 'A summary of the information for an Amazon CloudFront distribution.',
'type' => 'object',
'sentAs' => 'DistributionSummary',
'properties' => array(
'Id' => array(
'description' => 'The identifier for the distribution. For example: EDFDVBD632BHDS5.',
'type' => 'string',
),
'Status' => array(
'description' => 'This response element indicates the current status of the distribution. When the status is Deployed, the distribution\'s information is fully propagated throughout the Amazon CloudFront system.',
'type' => 'string',
),
'LastModifiedTime' => array(
'description' => 'The date and time the distribution was last modified.',
'type' => 'string',
),
'DomainName' => array(
'description' => 'The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.',
'type' => 'string',
),
'Aliases' => array(
'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.',
'type' => 'object',
'properties' => array(
'Quantity' => array(
'description' => 'The number of CNAMEs, if any, for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
'sentAs' => 'CNAME',
),
),
),
),
'Origins' => array(
'description' => 'A complex type that contains information about origins for this distribution.',
'type' => 'object',
'properties' => array(
'Quantity' => array(
'description' => 'The number of origins for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'A complex type that contains origins for this distribution.',
'type' => 'array',
'items' => array(
'name' => 'Origin',
'description' => 'A complex type that describes the Amazon S3 bucket or the HTTP server (for example, a web server) from which CloudFront gets your files.You must create at least one origin.',
'type' => 'object',
'sentAs' => 'Origin',
'properties' => array(
'Id' => array(
'description' => 'A unique identifier for the origin. The value of Id must be unique within the distribution. You use the value of Id when you create a cache behavior. The Id identifies the origin that CloudFront routes a request to when the request matches the path pattern for that cache behavior.',
'type' => 'string',
),
'DomainName' => array(
'description' => 'Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin, for example, myawsbucket.s3.amazonaws.com. Custom origins: The DNS domain name for the HTTP server from which you want CloudFront to get objects for this origin, for example, www.example.com.',
'type' => 'string',
),
'S3OriginConfig' => array(
'description' => 'A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.',
'type' => 'object',
'properties' => array(
'OriginAccessIdentity' => array(
'description' => 'The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that end users can only access objects in an Amazon S3 bucket through CloudFront. If you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element. To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element. To replace the origin access identity, update the distribution configuration and specify the new origin access identity.',
'type' => 'string',
),
),
),
'CustomOriginConfig' => array(
'description' => 'A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead.',
'type' => 'object',
'properties' => array(
'HTTPPort' => array(
'description' => 'The HTTP port the custom origin listens on.',
'type' => 'numeric',
),
'HTTPSPort' => array(
'description' => 'The HTTPS port the custom origin listens on.',
'type' => 'numeric',
),
'OriginProtocolPolicy' => array(
'description' => 'The origin protocol policy to apply to your origin.',
'type' => 'string',
),
),
),
),
),
),
),
),
'DefaultCacheBehavior' => array(
'description' => 'A complex type that describes the default cache behavior if you do not specify a CacheBehavior element or if files don\'t match any of the values of PathPattern in CacheBehavior elements.You must create exactly one default cache behavior.',
'type' => 'object',
'properties' => array(
'TargetOriginId' => array(
'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
'type' => 'string',
),
'ForwardedValues' => array(
'description' => 'A complex type that specifies how CloudFront handles query strings.',
'type' => 'object',
'properties' => array(
'QueryString' => array(
'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
'type' => 'boolean',
),
),
),
'TrustedSigners' => array(
'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
'type' => 'object',
'properties' => array(
'Enabled' => array(
'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
'type' => 'boolean',
),
'Quantity' => array(
'description' => 'The number of trusted signers for this cache behavior.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'ViewerProtocolPolicy' => array(
'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
'type' => 'string',
),
'MinTTL' => array(
'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
'type' => 'numeric',
),
),
),
'CacheBehaviors' => array(
'description' => 'A complex type that contains zero or more CacheBehavior elements.',
'type' => 'object',
'properties' => array(
'Quantity' => array(
'description' => 'The number of cache behaviors for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'CacheBehavior',
'description' => 'A complex type that describes how CloudFront processes requests. You can create up to 10 cache behaviors.You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to distribute objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin will never be used. If you don\'t want to specify any cache behaviors, include only an empty CacheBehaviors element. Don\'t include an empty CacheBehavior element, or CloudFront returns a MalformedXML error. To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty CacheBehaviors element. To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.',
'type' => 'object',
'sentAs' => 'CacheBehavior',
'properties' => array(
'PathPattern' => array(
'description' => 'The pattern (for example, images/*.jpg) that specifies which requests you want this cache behavior to apply to. When CloudFront receives an end-user request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution. The path pattern for the default cache behavior is * and cannot be changed. If the request for an object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in the default cache behavior.',
'type' => 'string',
),
'TargetOriginId' => array(
'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
'type' => 'string',
),
'ForwardedValues' => array(
'description' => 'A complex type that specifies how CloudFront handles query strings.',
'type' => 'object',
'properties' => array(
'QueryString' => array(
'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
'type' => 'boolean',
),
),
),
'TrustedSigners' => array(
'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
'type' => 'object',
'properties' => array(
'Enabled' => array(
'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
'type' => 'boolean',
),
'Quantity' => array(
'description' => 'The number of trusted signers for this cache behavior.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'ViewerProtocolPolicy' => array(
'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
'type' => 'string',
),
'MinTTL' => array(
'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
'type' => 'numeric',
),
),
),
),
),
),
'Comment' => array(
'description' => 'The comment originally specified when this distribution was created.',
'type' => 'string',
),
'Enabled' => array(
'description' => 'Whether the distribution is enabled to accept end user requests for content.',
'type' => 'boolean',
),
),
),
),
'RequestId' => array(
'description' => 'Request ID of the operation',
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'ListInvalidationsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'description' => 'The value you provided for the Marker request parameter.',
'type' => 'string',
'location' => 'xml',
),
'NextMarker' => array(
'description' => 'If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your invalidation batches where they left off.',
'type' => 'string',
'location' => 'xml',
),
'MaxItems' => array(
'description' => 'The value you provided for the MaxItems request parameter.',
'type' => 'numeric',
'location' => 'xml',
),
'IsTruncated' => array(
'description' => 'A flag that indicates whether more invalidation batch requests remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more invalidation batches in the list.',
'type' => 'boolean',
'location' => 'xml',
),
'Quantity' => array(
'description' => 'The number of invalidation batches that were created by the current AWS account.',
'type' => 'numeric',
'location' => 'xml',
),
'Items' => array(
'description' => 'A complex type that contains one InvalidationSummary element for each invalidation batch that was created by the current AWS account.',
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'InvalidationSummary',
'description' => 'Summary of an invalidation request.',
'type' => 'object',
'sentAs' => 'InvalidationSummary',
'properties' => array(
'Id' => array(
'description' => 'The unique ID for an invalidation request.',
'type' => 'string',
),
'Status' => array(
'description' => 'The status of an invalidation request.',
'type' => 'string',
),
),
),
),
'RequestId' => array(
'description' => 'Request ID of the operation',
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'ListStreamingDistributionsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'description' => 'The value you provided for the Marker request parameter.',
'type' => 'string',
'location' => 'xml',
),
'NextMarker' => array(
'description' => 'If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your streaming distributions where they left off.',
'type' => 'string',
'location' => 'xml',
),
'MaxItems' => array(
'description' => 'The value you provided for the MaxItems request parameter.',
'type' => 'numeric',
'location' => 'xml',
),
'IsTruncated' => array(
'description' => 'A flag that indicates whether more streaming distributions remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more distributions in the list.',
'type' => 'boolean',
'location' => 'xml',
),
'Quantity' => array(
'description' => 'The number of streaming distributions that were created by the current AWS account.',
'type' => 'numeric',
'location' => 'xml',
),
'Items' => array(
'description' => 'A complex type that contains one StreamingDistributionSummary element for each distribution that was created by the current AWS account.',
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'StreamingDistributionSummary',
'description' => 'A summary of the information for an Amazon CloudFront streaming distribution.',
'type' => 'object',
'sentAs' => 'StreamingDistributionSummary',
'properties' => array(
'Id' => array(
'description' => 'The identifier for the distribution. For example: EDFDVBD632BHDS5.',
'type' => 'string',
),
'Status' => array(
'description' => 'Indicates the current status of the distribution. When the status is Deployed, the distribution\'s information is fully propagated throughout the Amazon CloudFront system.',
'type' => 'string',
),
'LastModifiedTime' => array(
'description' => 'The date and time the distribution was last modified.',
'type' => 'string',
),
'DomainName' => array(
'description' => 'The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.',
'type' => 'string',
),
'S3Origin' => array(
'description' => 'A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.',
'type' => 'object',
'properties' => array(
'DomainName' => array(
'description' => 'The DNS name of the S3 origin.',
'type' => 'string',
),
'OriginAccessIdentity' => array(
'description' => 'Your S3 origin\'s origin access identity.',
'type' => 'string',
),
),
),
'Aliases' => array(
'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.',
'type' => 'object',
'properties' => array(
'Quantity' => array(
'description' => 'The number of CNAMEs, if any, for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
'sentAs' => 'CNAME',
),
),
),
),
'TrustedSigners' => array(
'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
'type' => 'object',
'properties' => array(
'Enabled' => array(
'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
'type' => 'boolean',
),
'Quantity' => array(
'description' => 'The number of trusted signers for this cache behavior.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'Comment' => array(
'description' => 'The comment originally specified when this distribution was created.',
'type' => 'string',
),
'Enabled' => array(
'description' => 'Whether the distribution is enabled to accept end user requests for content.',
'type' => 'boolean',
),
),
),
),
'RequestId' => array(
'description' => 'Request ID of the operation',
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'UpdateCloudFrontOriginAccessIdentityResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Id' => array(
'description' => 'The ID for the origin access identity. For example: E74FTE3AJFJ256A.',
'type' => 'string',
'location' => 'xml',
),
'S3CanonicalUserId' => array(
'description' => 'The Amazon S3 canonical user ID for the origin access identity, which you use when giving the origin access identity read permission to an object in Amazon S3.',
'type' => 'string',
'location' => 'xml',
),
'CloudFrontOriginAccessIdentityConfig' => array(
'description' => 'The current configuration information for the identity.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'CallerReference' => array(
'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the CloudFrontOriginAccessIdentityConfig object), a new origin access identity is created. If the CallerReference is a value you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.',
'type' => 'string',
),
'Comment' => array(
'description' => 'Any comments you want to include about the origin access identity.',
'type' => 'string',
),
),
),
'ETag' => array(
'description' => 'The current version of the configuration. For example: E2QWRUHAPOMQZL.',
'type' => 'string',
'location' => 'header',
),
'RequestId' => array(
'description' => 'Request ID of the operation',
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'UpdateDistributionResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Id' => array(
'description' => 'The identifier for the distribution. For example: EDFDVBD632BHDS5.',
'type' => 'string',
'location' => 'xml',
),
'Status' => array(
'description' => 'This response element indicates the current status of the distribution. When the status is Deployed, the distribution\'s information is fully propagated throughout the Amazon CloudFront system.',
'type' => 'string',
'location' => 'xml',
),
'LastModifiedTime' => array(
'description' => 'The date and time the distribution was last modified.',
'type' => 'string',
'location' => 'xml',
),
'InProgressInvalidationBatches' => array(
'description' => 'The number of invalidation batches currently in progress.',
'type' => 'numeric',
'location' => 'xml',
),
'DomainName' => array(
'description' => 'The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.',
'type' => 'string',
'location' => 'xml',
),
'ActiveTrustedSigners' => array(
'description' => 'CloudFront automatically adds this element to the response only if you\'ve set up the distribution to serve private content with signed URLs. The element lists the key pair IDs that CloudFront is aware of for each trusted signer. The Signer child element lists the AWS account number of the trusted signer (or an empty Self element if the signer is you). The Signer element also includes the IDs of any active key pairs associated with the trusted signer\'s AWS account. If no KeyPairId element appears for a Signer, that signer can\'t create working signed URLs.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'description' => 'Each active trusted signer.',
'type' => 'boolean',
),
'Quantity' => array(
'description' => 'The number of unique trusted signers included in all cache behaviors. For example, if three cache behaviors all list the same three AWS accounts, the value of Quantity for ActiveTrustedSigners will be 3.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'A complex type that contains one Signer complex type for each unique trusted signer that is specified in the TrustedSigners complex type, including trusted signers in the default cache behavior and in all of the other cache behaviors.',
'type' => 'array',
'items' => array(
'name' => 'Signer',
'description' => 'A complex type that lists the AWS accounts that were included in the TrustedSigners complex type, as well as their active CloudFront key pair IDs, if any.',
'type' => 'object',
'sentAs' => 'Signer',
'properties' => array(
'AwsAccountNumber' => array(
'description' => 'Specifies an AWS account that can create signed URLs. Values: self, which indicates that the AWS account that was used to create the distribution can created signed URLs, or an AWS account number. Omit the dashes in the account number.',
'type' => 'string',
),
'KeyPairIds' => array(
'description' => 'A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.',
'type' => 'object',
'properties' => array(
'Quantity' => array(
'description' => 'The number of active CloudFront key pairs for AwsAccountNumber.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.',
'type' => 'array',
'items' => array(
'name' => 'KeyPairId',
'type' => 'string',
'sentAs' => 'KeyPairId',
),
),
),
),
),
),
),
),
),
'DistributionConfig' => array(
'description' => 'The current configuration information for the distribution.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'CallerReference' => array(
'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the DistributionConfig object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a distribution but the content of the DistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.',
'type' => 'string',
),
'Aliases' => array(
'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.',
'type' => 'object',
'properties' => array(
'Quantity' => array(
'description' => 'The number of CNAMEs, if any, for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
'sentAs' => 'CNAME',
),
),
),
),
'DefaultRootObject' => array(
'description' => 'The object that you want CloudFront to return (for example, index.html) when an end user requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/index.html). Specifying a default root object avoids exposing the contents of your distribution. If you don\'t want to specify a default root object when you create a distribution, include an empty DefaultRootObject element. To delete the default root object from an existing distribution, update the distribution configuration and include an empty DefaultRootObject element. To replace the default root object, update the distribution configuration and specify the new object.',
'type' => 'string',
),
'Origins' => array(
'description' => 'A complex type that contains information about origins for this distribution.',
'type' => 'object',
'properties' => array(
'Quantity' => array(
'description' => 'The number of origins for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'A complex type that contains origins for this distribution.',
'type' => 'array',
'items' => array(
'name' => 'Origin',
'description' => 'A complex type that describes the Amazon S3 bucket or the HTTP server (for example, a web server) from which CloudFront gets your files.You must create at least one origin.',
'type' => 'object',
'sentAs' => 'Origin',
'properties' => array(
'Id' => array(
'description' => 'A unique identifier for the origin. The value of Id must be unique within the distribution. You use the value of Id when you create a cache behavior. The Id identifies the origin that CloudFront routes a request to when the request matches the path pattern for that cache behavior.',
'type' => 'string',
),
'DomainName' => array(
'description' => 'Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin, for example, myawsbucket.s3.amazonaws.com. Custom origins: The DNS domain name for the HTTP server from which you want CloudFront to get objects for this origin, for example, www.example.com.',
'type' => 'string',
),
'S3OriginConfig' => array(
'description' => 'A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.',
'type' => 'object',
'properties' => array(
'OriginAccessIdentity' => array(
'description' => 'The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that end users can only access objects in an Amazon S3 bucket through CloudFront. If you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element. To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element. To replace the origin access identity, update the distribution configuration and specify the new origin access identity.',
'type' => 'string',
),
),
),
'CustomOriginConfig' => array(
'description' => 'A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead.',
'type' => 'object',
'properties' => array(
'HTTPPort' => array(
'description' => 'The HTTP port the custom origin listens on.',
'type' => 'numeric',
),
'HTTPSPort' => array(
'description' => 'The HTTPS port the custom origin listens on.',
'type' => 'numeric',
),
'OriginProtocolPolicy' => array(
'description' => 'The origin protocol policy to apply to your origin.',
'type' => 'string',
),
),
),
),
),
),
),
),
'DefaultCacheBehavior' => array(
'description' => 'A complex type that describes the default cache behavior if you do not specify a CacheBehavior element or if files don\'t match any of the values of PathPattern in CacheBehavior elements.You must create exactly one default cache behavior.',
'type' => 'object',
'properties' => array(
'TargetOriginId' => array(
'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
'type' => 'string',
),
'ForwardedValues' => array(
'description' => 'A complex type that specifies how CloudFront handles query strings.',
'type' => 'object',
'properties' => array(
'QueryString' => array(
'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
'type' => 'boolean',
),
),
),
'TrustedSigners' => array(
'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
'type' => 'object',
'properties' => array(
'Enabled' => array(
'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
'type' => 'boolean',
),
'Quantity' => array(
'description' => 'The number of trusted signers for this cache behavior.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'ViewerProtocolPolicy' => array(
'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
'type' => 'string',
),
'MinTTL' => array(
'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
'type' => 'numeric',
),
),
),
'CacheBehaviors' => array(
'description' => 'A complex type that contains zero or more CacheBehavior elements.',
'type' => 'object',
'properties' => array(
'Quantity' => array(
'description' => 'The number of cache behaviors for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'CacheBehavior',
'description' => 'A complex type that describes how CloudFront processes requests. You can create up to 10 cache behaviors.You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to distribute objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin will never be used. If you don\'t want to specify any cache behaviors, include only an empty CacheBehaviors element. Don\'t include an empty CacheBehavior element, or CloudFront returns a MalformedXML error. To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty CacheBehaviors element. To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.',
'type' => 'object',
'sentAs' => 'CacheBehavior',
'properties' => array(
'PathPattern' => array(
'description' => 'The pattern (for example, images/*.jpg) that specifies which requests you want this cache behavior to apply to. When CloudFront receives an end-user request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution. The path pattern for the default cache behavior is * and cannot be changed. If the request for an object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in the default cache behavior.',
'type' => 'string',
),
'TargetOriginId' => array(
'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
'type' => 'string',
),
'ForwardedValues' => array(
'description' => 'A complex type that specifies how CloudFront handles query strings.',
'type' => 'object',
'properties' => array(
'QueryString' => array(
'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
'type' => 'boolean',
),
),
),
'TrustedSigners' => array(
'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
'type' => 'object',
'properties' => array(
'Enabled' => array(
'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
'type' => 'boolean',
),
'Quantity' => array(
'description' => 'The number of trusted signers for this cache behavior.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'ViewerProtocolPolicy' => array(
'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
'type' => 'string',
),
'MinTTL' => array(
'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
'type' => 'numeric',
),
),
),
),
),
),
'Comment' => array(
'description' => 'Any comments you want to include about the distribution.',
'type' => 'string',
),
'Logging' => array(
'description' => 'A complex type that controls whether access logs are written for the distribution.',
'type' => 'object',
'properties' => array(
'Enabled' => array(
'description' => 'Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.',
'type' => 'boolean',
),
'Bucket' => array(
'description' => 'The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.',
'type' => 'string',
),
'Prefix' => array(
'description' => 'An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.',
'type' => 'string',
),
),
),
'Enabled' => array(
'description' => 'Whether the distribution is enabled to accept end user requests for content.',
'type' => 'boolean',
),
),
),
'ETag' => array(
'description' => 'The current version of the configuration. For example: E2QWRUHAPOMQZL.',
'type' => 'string',
'location' => 'header',
),
'RequestId' => array(
'description' => 'Request ID of the operation',
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'UpdateStreamingDistributionResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Id' => array(
'description' => 'The identifier for the streaming distribution. For example: EGTXBD79H29TRA8.',
'type' => 'string',
'location' => 'xml',
),
'Status' => array(
'description' => 'The current status of the streaming distribution. When the status is Deployed, the distribution\'s information is fully propagated throughout the Amazon CloudFront system.',
'type' => 'string',
'location' => 'xml',
),
'LastModifiedTime' => array(
'description' => 'The date and time the distribution was last modified.',
'type' => 'string',
'location' => 'xml',
),
'DomainName' => array(
'description' => 'The domain name corresponding to the streaming distribution. For example: s5c39gqb8ow64r.cloudfront.net.',
'type' => 'string',
'location' => 'xml',
),
'ActiveTrustedSigners' => array(
'description' => 'CloudFront automatically adds this element to the response only if you\'ve set up the distribution to serve private content with signed URLs. The element lists the key pair IDs that CloudFront is aware of for each trusted signer. The Signer child element lists the AWS account number of the trusted signer (or an empty Self element if the signer is you). The Signer element also includes the IDs of any active key pairs associated with the trusted signer\'s AWS account. If no KeyPairId element appears for a Signer, that signer can\'t create working signed URLs.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'description' => 'Each active trusted signer.',
'type' => 'boolean',
),
'Quantity' => array(
'description' => 'The number of unique trusted signers included in all cache behaviors. For example, if three cache behaviors all list the same three AWS accounts, the value of Quantity for ActiveTrustedSigners will be 3.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'A complex type that contains one Signer complex type for each unique trusted signer that is specified in the TrustedSigners complex type, including trusted signers in the default cache behavior and in all of the other cache behaviors.',
'type' => 'array',
'items' => array(
'name' => 'Signer',
'description' => 'A complex type that lists the AWS accounts that were included in the TrustedSigners complex type, as well as their active CloudFront key pair IDs, if any.',
'type' => 'object',
'sentAs' => 'Signer',
'properties' => array(
'AwsAccountNumber' => array(
'description' => 'Specifies an AWS account that can create signed URLs. Values: self, which indicates that the AWS account that was used to create the distribution can created signed URLs, or an AWS account number. Omit the dashes in the account number.',
'type' => 'string',
),
'KeyPairIds' => array(
'description' => 'A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.',
'type' => 'object',
'properties' => array(
'Quantity' => array(
'description' => 'The number of active CloudFront key pairs for AwsAccountNumber.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.',
'type' => 'array',
'items' => array(
'name' => 'KeyPairId',
'type' => 'string',
'sentAs' => 'KeyPairId',
),
),
),
),
),
),
),
),
),
'StreamingDistributionConfig' => array(
'description' => 'The current configuration information for the streaming distribution.',
'type' => 'object',
'location' => 'xml',
'properties' => array(
'CallerReference' => array(
'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the StreamingDistributionConfig object), a new streaming distribution is created. If the CallerReference is a value you already sent in a previous request to create a streaming distribution, and the content of the StreamingDistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a streaming distribution but the content of the StreamingDistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.',
'type' => 'string',
),
'S3Origin' => array(
'description' => 'A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.',
'type' => 'object',
'properties' => array(
'DomainName' => array(
'description' => 'The DNS name of the S3 origin.',
'type' => 'string',
),
'OriginAccessIdentity' => array(
'description' => 'Your S3 origin\'s origin access identity.',
'type' => 'string',
),
),
),
'Aliases' => array(
'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.',
'type' => 'object',
'properties' => array(
'Quantity' => array(
'description' => 'The number of CNAMEs, if any, for this distribution.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
'sentAs' => 'CNAME',
),
),
),
),
'Comment' => array(
'description' => 'Any comments you want to include about the streaming distribution.',
'type' => 'string',
),
'Logging' => array(
'description' => 'A complex type that controls whether access logs are written for the streaming distribution.',
'type' => 'object',
'properties' => array(
'Enabled' => array(
'description' => 'Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.',
'type' => 'boolean',
),
'Bucket' => array(
'description' => 'The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.',
'type' => 'string',
),
'Prefix' => array(
'description' => 'An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.',
'type' => 'string',
),
),
),
'TrustedSigners' => array(
'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
'type' => 'object',
'properties' => array(
'Enabled' => array(
'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
'type' => 'boolean',
),
'Quantity' => array(
'description' => 'The number of trusted signers for this cache behavior.',
'type' => 'numeric',
),
'Items' => array(
'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'Enabled' => array(
'description' => 'Whether the streaming distribution is enabled to accept end user requests for content.',
'type' => 'boolean',
),
),
),
'ETag' => array(
'description' => 'The current version of the configuration. For example: E2QWRUHAPOMQZL.',
'type' => 'string',
'location' => 'header',
),
'RequestId' => array(
'description' => 'Request ID of the operation',
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
),
'waiters' => array(
'__default__' => array(
'success.type' => 'output',
'success.path' => 'Status',
),
'StreamingDistributionDeployed' => array(
'operation' => 'GetStreamingDistribution',
'description' => 'Wait until a streaming distribution is deployed.',
'interval' => 60,
'max_attempts' => 25,
'success.value' => 'Deployed',
),
'DistributionDeployed' => array(
'operation' => 'GetDistribution',
'description' => 'Wait until a distribution is deployed.',
'interval' => 60,
'max_attempts' => 25,
'success.value' => 'Deployed',
),
'InvalidationCompleted' => array(
'operation' => 'GetInvalidation',
'description' => 'Wait until an invalidation has completed.',
'interval' => 20,
'max_attempts' => 30,
'success.value' => 'Completed',
),
),
);
sdk-2.5.2/Aws/CloudFront/Resources/cloudfront-2013-11-11.php 0000644 115327001610067500000740674 12272324172 020124 0 ustar '2013-11-11',
'endpointPrefix' => 'cloudfront',
'serviceFullName' => 'Amazon CloudFront',
'serviceAbbreviation' => 'CloudFront',
'serviceType' => 'rest-xml',
'globalEndpoint' => 'cloudfront.amazonaws.com',
'signatureVersion' => 'v4',
'namespace' => 'CloudFront',
'regions' => array(
'us-east-1' => array(
'http' => true,
'https' => true,
'hostname' => 'cloudfront.amazonaws.com',
),
'us-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'cloudfront.amazonaws.com',
),
'us-west-2' => array(
'http' => true,
'https' => true,
'hostname' => 'cloudfront.amazonaws.com',
),
'eu-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'cloudfront.amazonaws.com',
),
'ap-northeast-1' => array(
'http' => true,
'https' => true,
'hostname' => 'cloudfront.amazonaws.com',
),
'ap-southeast-1' => array(
'http' => true,
'https' => true,
'hostname' => 'cloudfront.amazonaws.com',
),
'ap-southeast-2' => array(
'http' => true,
'https' => true,
'hostname' => 'cloudfront.amazonaws.com',
),
'sa-east-1' => array(
'http' => true,
'https' => true,
'hostname' => 'cloudfront.amazonaws.com',
),
),
'operations' => array(
'CreateCloudFrontOriginAccessIdentity' => array(
'httpMethod' => 'POST',
'uri' => '/2013-11-11/origin-access-identity/cloudfront',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'CreateCloudFrontOriginAccessIdentityResult',
'responseType' => 'model',
'data' => array(
'xmlRoot' => array(
'name' => 'CloudFrontOriginAccessIdentityConfig',
'namespaces' => array(
'http://cloudfront.amazonaws.com/doc/2013-11-11/',
),
),
),
'parameters' => array(
'CallerReference' => array(
'required' => true,
'type' => 'string',
'location' => 'xml',
),
'Comment' => array(
'required' => true,
'type' => 'string',
'location' => 'xml',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'reason' => 'If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.',
'class' => 'CloudFrontOriginAccessIdentityAlreadyExistsException',
),
array(
'reason' => 'This operation requires a body. Ensure that the body is present and the Content-Type header is set.',
'class' => 'MissingBodyException',
),
array(
'reason' => 'Processing your request would cause you to exceed the maximum number of origin access identities allowed.',
'class' => 'TooManyCloudFrontOriginAccessIdentitiesException',
),
array(
'reason' => 'The argument is invalid.',
'class' => 'InvalidArgumentException',
),
array(
'reason' => 'The value of Quantity and the size of Items do not match.',
'class' => 'InconsistentQuantitiesException',
),
),
),
'CreateDistribution' => array(
'httpMethod' => 'POST',
'uri' => '/2013-11-11/distribution',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'CreateDistributionResult',
'responseType' => 'model',
'data' => array(
'xmlRoot' => array(
'name' => 'DistributionConfig',
'namespaces' => array(
'http://cloudfront.amazonaws.com/doc/2013-11-11/',
),
),
),
'parameters' => array(
'CallerReference' => array(
'required' => true,
'type' => 'string',
'location' => 'xml',
),
'Aliases' => array(
'required' => true,
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'required' => true,
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
),
),
),
),
'DefaultRootObject' => array(
'required' => true,
'type' => 'string',
'location' => 'xml',
),
'Origins' => array(
'required' => true,
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'required' => true,
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'minItems' => 1,
'items' => array(
'name' => 'Origin',
'type' => 'object',
'properties' => array(
'Id' => array(
'required' => true,
'type' => 'string',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
),
'S3OriginConfig' => array(
'type' => 'object',
'properties' => array(
'OriginAccessIdentity' => array(
'required' => true,
'type' => 'string',
),
),
),
'CustomOriginConfig' => array(
'type' => 'object',
'properties' => array(
'HTTPPort' => array(
'required' => true,
'type' => 'numeric',
),
'HTTPSPort' => array(
'required' => true,
'type' => 'numeric',
),
'OriginProtocolPolicy' => array(
'required' => true,
'type' => 'string',
),
),
),
),
),
),
),
),
'DefaultCacheBehavior' => array(
'required' => true,
'type' => 'object',
'location' => 'xml',
'properties' => array(
'TargetOriginId' => array(
'required' => true,
'type' => 'string',
),
'ForwardedValues' => array(
'required' => true,
'type' => 'object',
'properties' => array(
'QueryString' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
),
'Cookies' => array(
'required' => true,
'type' => 'object',
'properties' => array(
'Forward' => array(
'required' => true,
'type' => 'string',
),
'WhitelistedNames' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'required' => true,
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Name',
'type' => 'string',
),
),
),
),
),
),
),
),
'TrustedSigners' => array(
'required' => true,
'type' => 'object',
'properties' => array(
'Enabled' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
),
'Quantity' => array(
'required' => true,
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
),
),
),
),
'ViewerProtocolPolicy' => array(
'required' => true,
'type' => 'string',
),
'MinTTL' => array(
'required' => true,
'type' => 'numeric',
),
'AllowedMethods' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'required' => true,
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Method',
'type' => 'string',
),
),
),
),
),
),
'CacheBehaviors' => array(
'required' => true,
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'required' => true,
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CacheBehavior',
'type' => 'object',
'properties' => array(
'PathPattern' => array(
'required' => true,
'type' => 'string',
),
'TargetOriginId' => array(
'required' => true,
'type' => 'string',
),
'ForwardedValues' => array(
'required' => true,
'type' => 'object',
'properties' => array(
'QueryString' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
),
'Cookies' => array(
'required' => true,
'type' => 'object',
'properties' => array(
'Forward' => array(
'required' => true,
'type' => 'string',
),
'WhitelistedNames' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'required' => true,
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Name',
'type' => 'string',
),
),
),
),
),
),
),
),
'TrustedSigners' => array(
'required' => true,
'type' => 'object',
'properties' => array(
'Enabled' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
),
'Quantity' => array(
'required' => true,
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
),
),
),
),
'ViewerProtocolPolicy' => array(
'required' => true,
'type' => 'string',
),
'MinTTL' => array(
'required' => true,
'type' => 'numeric',
),
'AllowedMethods' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'required' => true,
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Method',
'type' => 'string',
),
),
),
),
),
),
),
),
),
'CustomErrorResponses' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'required' => true,
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CustomErrorResponse',
'type' => 'object',
'properties' => array(
'ErrorCode' => array(
'required' => true,
'type' => 'numeric',
),
'ResponsePagePath' => array(
'type' => 'string',
),
'ResponseCode' => array(
'type' => 'string',
),
'ErrorCachingMinTTL' => array(
'type' => 'numeric',
),
),
),
),
),
),
'Comment' => array(
'required' => true,
'type' => 'string',
'location' => 'xml',
),
'Logging' => array(
'required' => true,
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
),
'IncludeCookies' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
),
'Bucket' => array(
'required' => true,
'type' => 'string',
),
'Prefix' => array(
'required' => true,
'type' => 'string',
),
),
),
'PriceClass' => array(
'required' => true,
'type' => 'string',
'location' => 'xml',
),
'Enabled' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'xml',
),
'ViewerCertificate' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'IAMCertificateId' => array(
'type' => 'string',
),
'CloudFrontDefaultCertificate' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
'Restrictions' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'GeoRestriction' => array(
'required' => true,
'type' => 'object',
'properties' => array(
'RestrictionType' => array(
'required' => true,
'type' => 'string',
),
'Quantity' => array(
'required' => true,
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Location',
'type' => 'string',
),
),
),
),
),
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'class' => 'CNAMEAlreadyExistsException',
),
array(
'reason' => 'The caller reference you attempted to create the distribution with is associated with another distribution.',
'class' => 'DistributionAlreadyExistsException',
),
array(
'reason' => 'The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.',
'class' => 'InvalidOriginException',
),
array(
'reason' => 'The origin access identity is not valid or doesn\'t exist.',
'class' => 'InvalidOriginAccessIdentityException',
),
array(
'reason' => 'Access denied.',
'class' => 'AccessDeniedException',
),
array(
'reason' => 'Your request contains more trusted signers than are allowed per distribution.',
'class' => 'TooManyTrustedSignersException',
),
array(
'reason' => 'One or more of your trusted signers do not exist.',
'class' => 'TrustedSignerDoesNotExistException',
),
array(
'class' => 'InvalidViewerCertificateException',
),
array(
'reason' => 'This operation requires a body. Ensure that the body is present and the Content-Type header is set.',
'class' => 'MissingBodyException',
),
array(
'reason' => 'Your request contains more CNAMEs than are allowed per distribution.',
'class' => 'TooManyDistributionCNAMEsException',
),
array(
'reason' => 'Processing your request would cause you to exceed the maximum number of distributions allowed.',
'class' => 'TooManyDistributionsException',
),
array(
'reason' => 'The default root object file name is too big or contains an invalid character.',
'class' => 'InvalidDefaultRootObjectException',
),
array(
'reason' => 'The relative path is too big, is not URL-encoded, or does not begin with a slash (/).',
'class' => 'InvalidRelativePathException',
),
array(
'class' => 'InvalidErrorCodeException',
),
array(
'class' => 'InvalidResponseCodeException',
),
array(
'reason' => 'The argument is invalid.',
'class' => 'InvalidArgumentException',
),
array(
'reason' => 'This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your request, or omit the RequiredProtocols element from your distribution configuration.',
'class' => 'InvalidRequiredProtocolException',
),
array(
'reason' => 'No origin exists with the specified Origin Id.',
'class' => 'NoSuchOriginException',
),
array(
'reason' => 'You cannot create anymore origins for the distribution.',
'class' => 'TooManyOriginsException',
),
array(
'reason' => 'You cannot create anymore cache behaviors for the distribution.',
'class' => 'TooManyCacheBehaviorsException',
),
array(
'reason' => 'Your request contains more cookie names in the whitelist than are allowed per cache behavior.',
'class' => 'TooManyCookieNamesInWhiteListException',
),
array(
'reason' => 'Your request contains forward cookies option which doesn\'t match with the expectation for the whitelisted list of cookie names. Either list of cookie names has been specified when not allowed or list of cookie names is missing when expected.',
'class' => 'InvalidForwardCookiesException',
),
array(
'reason' => 'The value of Quantity and the size of Items do not match.',
'class' => 'InconsistentQuantitiesException',
),
array(
'reason' => 'You cannot create anymore custom ssl certificates.',
'class' => 'TooManyCertificatesException',
),
array(
'class' => 'InvalidLocationCodeException',
),
array(
'class' => 'InvalidGeoRestrictionParameterException',
),
),
),
'CreateInvalidation' => array(
'httpMethod' => 'POST',
'uri' => '/2013-11-11/distribution/{DistributionId}/invalidation',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'CreateInvalidationResult',
'responseType' => 'model',
'data' => array(
'xmlRoot' => array(
'name' => 'InvalidationBatch',
'namespaces' => array(
'http://cloudfront.amazonaws.com/doc/2013-11-11/',
),
),
),
'parameters' => array(
'DistributionId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'Paths' => array(
'required' => true,
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'required' => true,
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Path',
'type' => 'string',
),
),
),
),
'CallerReference' => array(
'required' => true,
'type' => 'string',
'location' => 'xml',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'reason' => 'Access denied.',
'class' => 'AccessDeniedException',
),
array(
'reason' => 'This operation requires a body. Ensure that the body is present and the Content-Type header is set.',
'class' => 'MissingBodyException',
),
array(
'reason' => 'The argument is invalid.',
'class' => 'InvalidArgumentException',
),
array(
'reason' => 'The specified distribution does not exist.',
'class' => 'NoSuchDistributionException',
),
array(
'class' => 'BatchTooLargeException',
),
array(
'reason' => 'You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.',
'class' => 'TooManyInvalidationsInProgressException',
),
array(
'reason' => 'The value of Quantity and the size of Items do not match.',
'class' => 'InconsistentQuantitiesException',
),
),
),
'CreateStreamingDistribution' => array(
'httpMethod' => 'POST',
'uri' => '/2013-11-11/streaming-distribution',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'CreateStreamingDistributionResult',
'responseType' => 'model',
'data' => array(
'xmlRoot' => array(
'name' => 'StreamingDistributionConfig',
'namespaces' => array(
'http://cloudfront.amazonaws.com/doc/2013-11-11/',
),
),
),
'parameters' => array(
'CallerReference' => array(
'required' => true,
'type' => 'string',
'location' => 'xml',
),
'S3Origin' => array(
'required' => true,
'type' => 'object',
'location' => 'xml',
'properties' => array(
'DomainName' => array(
'required' => true,
'type' => 'string',
),
'OriginAccessIdentity' => array(
'required' => true,
'type' => 'string',
),
),
),
'Aliases' => array(
'required' => true,
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'required' => true,
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
),
),
),
),
'Comment' => array(
'required' => true,
'type' => 'string',
'location' => 'xml',
),
'Logging' => array(
'required' => true,
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
),
'Bucket' => array(
'required' => true,
'type' => 'string',
),
'Prefix' => array(
'required' => true,
'type' => 'string',
),
),
),
'TrustedSigners' => array(
'required' => true,
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
),
'Quantity' => array(
'required' => true,
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
),
),
),
),
'PriceClass' => array(
'required' => true,
'type' => 'string',
'location' => 'xml',
),
'Enabled' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'xml',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'class' => 'CNAMEAlreadyExistsException',
),
array(
'class' => 'StreamingDistributionAlreadyExistsException',
),
array(
'reason' => 'The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.',
'class' => 'InvalidOriginException',
),
array(
'reason' => 'The origin access identity is not valid or doesn\'t exist.',
'class' => 'InvalidOriginAccessIdentityException',
),
array(
'reason' => 'Access denied.',
'class' => 'AccessDeniedException',
),
array(
'reason' => 'Your request contains more trusted signers than are allowed per distribution.',
'class' => 'TooManyTrustedSignersException',
),
array(
'reason' => 'One or more of your trusted signers do not exist.',
'class' => 'TrustedSignerDoesNotExistException',
),
array(
'reason' => 'This operation requires a body. Ensure that the body is present and the Content-Type header is set.',
'class' => 'MissingBodyException',
),
array(
'class' => 'TooManyStreamingDistributionCNAMEsException',
),
array(
'reason' => 'Processing your request would cause you to exceed the maximum number of streaming distributions allowed.',
'class' => 'TooManyStreamingDistributionsException',
),
array(
'reason' => 'The argument is invalid.',
'class' => 'InvalidArgumentException',
),
array(
'reason' => 'The value of Quantity and the size of Items do not match.',
'class' => 'InconsistentQuantitiesException',
),
),
),
'DeleteCloudFrontOriginAccessIdentity' => array(
'httpMethod' => 'DELETE',
'uri' => '/2013-11-11/origin-access-identity/cloudfront/{Id}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'DeleteCloudFrontOriginAccessIdentity2013_11_11Output',
'responseType' => 'model',
'parameters' => array(
'Id' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'IfMatch' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'If-Match',
),
),
'errorResponses' => array(
array(
'reason' => 'Access denied.',
'class' => 'AccessDeniedException',
),
array(
'reason' => 'The If-Match version is missing or not valid for the distribution.',
'class' => 'InvalidIfMatchVersionException',
),
array(
'reason' => 'The specified origin access identity does not exist.',
'class' => 'NoSuchCloudFrontOriginAccessIdentityException',
),
array(
'reason' => 'The precondition given in one or more of the request-header fields evaluated to false.',
'class' => 'PreconditionFailedException',
),
array(
'class' => 'CloudFrontOriginAccessIdentityInUseException',
),
),
),
'DeleteDistribution' => array(
'httpMethod' => 'DELETE',
'uri' => '/2013-11-11/distribution/{Id}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'DeleteDistribution2013_11_11Output',
'responseType' => 'model',
'parameters' => array(
'Id' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'IfMatch' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'If-Match',
),
),
'errorResponses' => array(
array(
'reason' => 'Access denied.',
'class' => 'AccessDeniedException',
),
array(
'class' => 'DistributionNotDisabledException',
),
array(
'reason' => 'The If-Match version is missing or not valid for the distribution.',
'class' => 'InvalidIfMatchVersionException',
),
array(
'reason' => 'The specified distribution does not exist.',
'class' => 'NoSuchDistributionException',
),
array(
'reason' => 'The precondition given in one or more of the request-header fields evaluated to false.',
'class' => 'PreconditionFailedException',
),
),
),
'DeleteStreamingDistribution' => array(
'httpMethod' => 'DELETE',
'uri' => '/2013-11-11/streaming-distribution/{Id}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'DeleteStreamingDistribution2013_11_11Output',
'responseType' => 'model',
'parameters' => array(
'Id' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'IfMatch' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'If-Match',
),
),
'errorResponses' => array(
array(
'reason' => 'Access denied.',
'class' => 'AccessDeniedException',
),
array(
'class' => 'StreamingDistributionNotDisabledException',
),
array(
'reason' => 'The If-Match version is missing or not valid for the distribution.',
'class' => 'InvalidIfMatchVersionException',
),
array(
'reason' => 'The specified streaming distribution does not exist.',
'class' => 'NoSuchStreamingDistributionException',
),
array(
'reason' => 'The precondition given in one or more of the request-header fields evaluated to false.',
'class' => 'PreconditionFailedException',
),
),
),
'GetCloudFrontOriginAccessIdentity' => array(
'httpMethod' => 'GET',
'uri' => '/2013-11-11/origin-access-identity/cloudfront/{Id}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'GetCloudFrontOriginAccessIdentityResult',
'responseType' => 'model',
'parameters' => array(
'Id' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified origin access identity does not exist.',
'class' => 'NoSuchCloudFrontOriginAccessIdentityException',
),
array(
'reason' => 'Access denied.',
'class' => 'AccessDeniedException',
),
),
),
'GetCloudFrontOriginAccessIdentityConfig' => array(
'httpMethod' => 'GET',
'uri' => '/2013-11-11/origin-access-identity/cloudfront/{Id}/config',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'GetCloudFrontOriginAccessIdentityConfigResult',
'responseType' => 'model',
'parameters' => array(
'Id' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified origin access identity does not exist.',
'class' => 'NoSuchCloudFrontOriginAccessIdentityException',
),
array(
'reason' => 'Access denied.',
'class' => 'AccessDeniedException',
),
),
),
'GetDistribution' => array(
'httpMethod' => 'GET',
'uri' => '/2013-11-11/distribution/{Id}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'GetDistributionResult',
'responseType' => 'model',
'parameters' => array(
'Id' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified distribution does not exist.',
'class' => 'NoSuchDistributionException',
),
array(
'reason' => 'Access denied.',
'class' => 'AccessDeniedException',
),
),
),
'GetDistributionConfig' => array(
'httpMethod' => 'GET',
'uri' => '/2013-11-11/distribution/{Id}/config',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'GetDistributionConfigResult',
'responseType' => 'model',
'parameters' => array(
'Id' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified distribution does not exist.',
'class' => 'NoSuchDistributionException',
),
array(
'reason' => 'Access denied.',
'class' => 'AccessDeniedException',
),
),
),
'GetInvalidation' => array(
'httpMethod' => 'GET',
'uri' => '/2013-11-11/distribution/{DistributionId}/invalidation/{Id}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'GetInvalidationResult',
'responseType' => 'model',
'parameters' => array(
'DistributionId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'Id' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified invalidation does not exist.',
'class' => 'NoSuchInvalidationException',
),
array(
'reason' => 'The specified distribution does not exist.',
'class' => 'NoSuchDistributionException',
),
array(
'reason' => 'Access denied.',
'class' => 'AccessDeniedException',
),
),
),
'GetStreamingDistribution' => array(
'httpMethod' => 'GET',
'uri' => '/2013-11-11/streaming-distribution/{Id}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'GetStreamingDistributionResult',
'responseType' => 'model',
'parameters' => array(
'Id' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified streaming distribution does not exist.',
'class' => 'NoSuchStreamingDistributionException',
),
array(
'reason' => 'Access denied.',
'class' => 'AccessDeniedException',
),
),
),
'GetStreamingDistributionConfig' => array(
'httpMethod' => 'GET',
'uri' => '/2013-11-11/streaming-distribution/{Id}/config',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'GetStreamingDistributionConfigResult',
'responseType' => 'model',
'parameters' => array(
'Id' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified streaming distribution does not exist.',
'class' => 'NoSuchStreamingDistributionException',
),
array(
'reason' => 'Access denied.',
'class' => 'AccessDeniedException',
),
),
),
'ListCloudFrontOriginAccessIdentities' => array(
'httpMethod' => 'GET',
'uri' => '/2013-11-11/origin-access-identity/cloudfront',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'ListCloudFrontOriginAccessIdentitiesResult',
'responseType' => 'model',
'parameters' => array(
'Marker' => array(
'type' => 'string',
'location' => 'query',
),
'MaxItems' => array(
'type' => 'string',
'location' => 'query',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'reason' => 'The argument is invalid.',
'class' => 'InvalidArgumentException',
),
),
),
'ListDistributions' => array(
'httpMethod' => 'GET',
'uri' => '/2013-11-11/distribution',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'ListDistributionsResult',
'responseType' => 'model',
'parameters' => array(
'Marker' => array(
'type' => 'string',
'location' => 'query',
),
'MaxItems' => array(
'type' => 'string',
'location' => 'query',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'reason' => 'The argument is invalid.',
'class' => 'InvalidArgumentException',
),
),
),
'ListInvalidations' => array(
'httpMethod' => 'GET',
'uri' => '/2013-11-11/distribution/{DistributionId}/invalidation',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'ListInvalidationsResult',
'responseType' => 'model',
'parameters' => array(
'DistributionId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'Marker' => array(
'type' => 'string',
'location' => 'query',
),
'MaxItems' => array(
'type' => 'string',
'location' => 'query',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'reason' => 'The argument is invalid.',
'class' => 'InvalidArgumentException',
),
array(
'reason' => 'The specified distribution does not exist.',
'class' => 'NoSuchDistributionException',
),
array(
'reason' => 'Access denied.',
'class' => 'AccessDeniedException',
),
),
),
'ListStreamingDistributions' => array(
'httpMethod' => 'GET',
'uri' => '/2013-11-11/streaming-distribution',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'ListStreamingDistributionsResult',
'responseType' => 'model',
'parameters' => array(
'Marker' => array(
'type' => 'string',
'location' => 'query',
),
'MaxItems' => array(
'type' => 'string',
'location' => 'query',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'reason' => 'The argument is invalid.',
'class' => 'InvalidArgumentException',
),
),
),
'UpdateCloudFrontOriginAccessIdentity' => array(
'httpMethod' => 'PUT',
'uri' => '/2013-11-11/origin-access-identity/cloudfront/{Id}/config',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'UpdateCloudFrontOriginAccessIdentityResult',
'responseType' => 'model',
'data' => array(
'xmlRoot' => array(
'name' => 'CloudFrontOriginAccessIdentityConfig',
'namespaces' => array(
'http://cloudfront.amazonaws.com/doc/2013-11-11/',
),
),
),
'parameters' => array(
'CallerReference' => array(
'required' => true,
'type' => 'string',
'location' => 'xml',
),
'Comment' => array(
'required' => true,
'type' => 'string',
'location' => 'xml',
),
'Id' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'IfMatch' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'If-Match',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'reason' => 'Access denied.',
'class' => 'AccessDeniedException',
),
array(
'reason' => 'Origin and CallerReference cannot be updated.',
'class' => 'IllegalUpdateException',
),
array(
'reason' => 'The If-Match version is missing or not valid for the distribution.',
'class' => 'InvalidIfMatchVersionException',
),
array(
'reason' => 'This operation requires a body. Ensure that the body is present and the Content-Type header is set.',
'class' => 'MissingBodyException',
),
array(
'reason' => 'The specified origin access identity does not exist.',
'class' => 'NoSuchCloudFrontOriginAccessIdentityException',
),
array(
'reason' => 'The precondition given in one or more of the request-header fields evaluated to false.',
'class' => 'PreconditionFailedException',
),
array(
'reason' => 'The argument is invalid.',
'class' => 'InvalidArgumentException',
),
array(
'reason' => 'The value of Quantity and the size of Items do not match.',
'class' => 'InconsistentQuantitiesException',
),
),
),
'UpdateDistribution' => array(
'httpMethod' => 'PUT',
'uri' => '/2013-11-11/distribution/{Id}/config',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'UpdateDistributionResult',
'responseType' => 'model',
'data' => array(
'xmlRoot' => array(
'name' => 'DistributionConfig',
'namespaces' => array(
'http://cloudfront.amazonaws.com/doc/2013-11-11/',
),
),
),
'parameters' => array(
'CallerReference' => array(
'required' => true,
'type' => 'string',
'location' => 'xml',
),
'Aliases' => array(
'required' => true,
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'required' => true,
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
),
),
),
),
'DefaultRootObject' => array(
'required' => true,
'type' => 'string',
'location' => 'xml',
),
'Origins' => array(
'required' => true,
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'required' => true,
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'minItems' => 1,
'items' => array(
'name' => 'Origin',
'type' => 'object',
'properties' => array(
'Id' => array(
'required' => true,
'type' => 'string',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
),
'S3OriginConfig' => array(
'type' => 'object',
'properties' => array(
'OriginAccessIdentity' => array(
'required' => true,
'type' => 'string',
),
),
),
'CustomOriginConfig' => array(
'type' => 'object',
'properties' => array(
'HTTPPort' => array(
'required' => true,
'type' => 'numeric',
),
'HTTPSPort' => array(
'required' => true,
'type' => 'numeric',
),
'OriginProtocolPolicy' => array(
'required' => true,
'type' => 'string',
),
),
),
),
),
),
),
),
'DefaultCacheBehavior' => array(
'required' => true,
'type' => 'object',
'location' => 'xml',
'properties' => array(
'TargetOriginId' => array(
'required' => true,
'type' => 'string',
),
'ForwardedValues' => array(
'required' => true,
'type' => 'object',
'properties' => array(
'QueryString' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
),
'Cookies' => array(
'required' => true,
'type' => 'object',
'properties' => array(
'Forward' => array(
'required' => true,
'type' => 'string',
),
'WhitelistedNames' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'required' => true,
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Name',
'type' => 'string',
),
),
),
),
),
),
),
),
'TrustedSigners' => array(
'required' => true,
'type' => 'object',
'properties' => array(
'Enabled' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
),
'Quantity' => array(
'required' => true,
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
),
),
),
),
'ViewerProtocolPolicy' => array(
'required' => true,
'type' => 'string',
),
'MinTTL' => array(
'required' => true,
'type' => 'numeric',
),
'AllowedMethods' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'required' => true,
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Method',
'type' => 'string',
),
),
),
),
),
),
'CacheBehaviors' => array(
'required' => true,
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'required' => true,
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CacheBehavior',
'type' => 'object',
'properties' => array(
'PathPattern' => array(
'required' => true,
'type' => 'string',
),
'TargetOriginId' => array(
'required' => true,
'type' => 'string',
),
'ForwardedValues' => array(
'required' => true,
'type' => 'object',
'properties' => array(
'QueryString' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
),
'Cookies' => array(
'required' => true,
'type' => 'object',
'properties' => array(
'Forward' => array(
'required' => true,
'type' => 'string',
),
'WhitelistedNames' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'required' => true,
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Name',
'type' => 'string',
),
),
),
),
),
),
),
),
'TrustedSigners' => array(
'required' => true,
'type' => 'object',
'properties' => array(
'Enabled' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
),
'Quantity' => array(
'required' => true,
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
),
),
),
),
'ViewerProtocolPolicy' => array(
'required' => true,
'type' => 'string',
),
'MinTTL' => array(
'required' => true,
'type' => 'numeric',
),
'AllowedMethods' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'required' => true,
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Method',
'type' => 'string',
),
),
),
),
),
),
),
),
),
'CustomErrorResponses' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'required' => true,
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CustomErrorResponse',
'type' => 'object',
'properties' => array(
'ErrorCode' => array(
'required' => true,
'type' => 'numeric',
),
'ResponsePagePath' => array(
'type' => 'string',
),
'ResponseCode' => array(
'type' => 'string',
),
'ErrorCachingMinTTL' => array(
'type' => 'numeric',
),
),
),
),
),
),
'Comment' => array(
'required' => true,
'type' => 'string',
'location' => 'xml',
),
'Logging' => array(
'required' => true,
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
),
'IncludeCookies' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
),
'Bucket' => array(
'required' => true,
'type' => 'string',
),
'Prefix' => array(
'required' => true,
'type' => 'string',
),
),
),
'PriceClass' => array(
'required' => true,
'type' => 'string',
'location' => 'xml',
),
'Enabled' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'xml',
),
'ViewerCertificate' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'IAMCertificateId' => array(
'type' => 'string',
),
'CloudFrontDefaultCertificate' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
'Restrictions' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'GeoRestriction' => array(
'required' => true,
'type' => 'object',
'properties' => array(
'RestrictionType' => array(
'required' => true,
'type' => 'string',
),
'Quantity' => array(
'required' => true,
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Location',
'type' => 'string',
),
),
),
),
),
),
'Id' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'IfMatch' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'If-Match',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'reason' => 'Access denied.',
'class' => 'AccessDeniedException',
),
array(
'class' => 'CNAMEAlreadyExistsException',
),
array(
'reason' => 'Origin and CallerReference cannot be updated.',
'class' => 'IllegalUpdateException',
),
array(
'reason' => 'The If-Match version is missing or not valid for the distribution.',
'class' => 'InvalidIfMatchVersionException',
),
array(
'reason' => 'This operation requires a body. Ensure that the body is present and the Content-Type header is set.',
'class' => 'MissingBodyException',
),
array(
'reason' => 'The specified distribution does not exist.',
'class' => 'NoSuchDistributionException',
),
array(
'reason' => 'The precondition given in one or more of the request-header fields evaluated to false.',
'class' => 'PreconditionFailedException',
),
array(
'reason' => 'Your request contains more CNAMEs than are allowed per distribution.',
'class' => 'TooManyDistributionCNAMEsException',
),
array(
'reason' => 'The default root object file name is too big or contains an invalid character.',
'class' => 'InvalidDefaultRootObjectException',
),
array(
'reason' => 'The relative path is too big, is not URL-encoded, or does not begin with a slash (/).',
'class' => 'InvalidRelativePathException',
),
array(
'class' => 'InvalidErrorCodeException',
),
array(
'class' => 'InvalidResponseCodeException',
),
array(
'reason' => 'The argument is invalid.',
'class' => 'InvalidArgumentException',
),
array(
'reason' => 'The origin access identity is not valid or doesn\'t exist.',
'class' => 'InvalidOriginAccessIdentityException',
),
array(
'reason' => 'Your request contains more trusted signers than are allowed per distribution.',
'class' => 'TooManyTrustedSignersException',
),
array(
'reason' => 'One or more of your trusted signers do not exist.',
'class' => 'TrustedSignerDoesNotExistException',
),
array(
'class' => 'InvalidViewerCertificateException',
),
array(
'reason' => 'This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your request, or omit the RequiredProtocols element from your distribution configuration.',
'class' => 'InvalidRequiredProtocolException',
),
array(
'reason' => 'No origin exists with the specified Origin Id.',
'class' => 'NoSuchOriginException',
),
array(
'reason' => 'You cannot create anymore origins for the distribution.',
'class' => 'TooManyOriginsException',
),
array(
'reason' => 'You cannot create anymore cache behaviors for the distribution.',
'class' => 'TooManyCacheBehaviorsException',
),
array(
'reason' => 'Your request contains more cookie names in the whitelist than are allowed per cache behavior.',
'class' => 'TooManyCookieNamesInWhiteListException',
),
array(
'reason' => 'Your request contains forward cookies option which doesn\'t match with the expectation for the whitelisted list of cookie names. Either list of cookie names has been specified when not allowed or list of cookie names is missing when expected.',
'class' => 'InvalidForwardCookiesException',
),
array(
'reason' => 'The value of Quantity and the size of Items do not match.',
'class' => 'InconsistentQuantitiesException',
),
array(
'reason' => 'You cannot create anymore custom ssl certificates.',
'class' => 'TooManyCertificatesException',
),
array(
'class' => 'InvalidLocationCodeException',
),
array(
'class' => 'InvalidGeoRestrictionParameterException',
),
),
),
'UpdateStreamingDistribution' => array(
'httpMethod' => 'PUT',
'uri' => '/2013-11-11/streaming-distribution/{Id}/config',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'UpdateStreamingDistributionResult',
'responseType' => 'model',
'data' => array(
'xmlRoot' => array(
'name' => 'StreamingDistributionConfig',
'namespaces' => array(
'http://cloudfront.amazonaws.com/doc/2013-11-11/',
),
),
),
'parameters' => array(
'CallerReference' => array(
'required' => true,
'type' => 'string',
'location' => 'xml',
),
'S3Origin' => array(
'required' => true,
'type' => 'object',
'location' => 'xml',
'properties' => array(
'DomainName' => array(
'required' => true,
'type' => 'string',
),
'OriginAccessIdentity' => array(
'required' => true,
'type' => 'string',
),
),
),
'Aliases' => array(
'required' => true,
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'required' => true,
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
),
),
),
),
'Comment' => array(
'required' => true,
'type' => 'string',
'location' => 'xml',
),
'Logging' => array(
'required' => true,
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
),
'Bucket' => array(
'required' => true,
'type' => 'string',
),
'Prefix' => array(
'required' => true,
'type' => 'string',
),
),
),
'TrustedSigners' => array(
'required' => true,
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
),
'Quantity' => array(
'required' => true,
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
),
),
),
),
'PriceClass' => array(
'required' => true,
'type' => 'string',
'location' => 'xml',
),
'Enabled' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'xml',
),
'Id' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'IfMatch' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'If-Match',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'reason' => 'Access denied.',
'class' => 'AccessDeniedException',
),
array(
'class' => 'CNAMEAlreadyExistsException',
),
array(
'reason' => 'Origin and CallerReference cannot be updated.',
'class' => 'IllegalUpdateException',
),
array(
'reason' => 'The If-Match version is missing or not valid for the distribution.',
'class' => 'InvalidIfMatchVersionException',
),
array(
'reason' => 'This operation requires a body. Ensure that the body is present and the Content-Type header is set.',
'class' => 'MissingBodyException',
),
array(
'reason' => 'The specified streaming distribution does not exist.',
'class' => 'NoSuchStreamingDistributionException',
),
array(
'reason' => 'The precondition given in one or more of the request-header fields evaluated to false.',
'class' => 'PreconditionFailedException',
),
array(
'class' => 'TooManyStreamingDistributionCNAMEsException',
),
array(
'reason' => 'The argument is invalid.',
'class' => 'InvalidArgumentException',
),
array(
'reason' => 'The origin access identity is not valid or doesn\'t exist.',
'class' => 'InvalidOriginAccessIdentityException',
),
array(
'reason' => 'Your request contains more trusted signers than are allowed per distribution.',
'class' => 'TooManyTrustedSignersException',
),
array(
'reason' => 'One or more of your trusted signers do not exist.',
'class' => 'TrustedSignerDoesNotExistException',
),
array(
'reason' => 'The value of Quantity and the size of Items do not match.',
'class' => 'InconsistentQuantitiesException',
),
),
),
),
'models' => array(
'CreateCloudFrontOriginAccessIdentityResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Id' => array(
'type' => 'string',
'location' => 'xml',
),
'S3CanonicalUserId' => array(
'type' => 'string',
'location' => 'xml',
),
'CloudFrontOriginAccessIdentityConfig' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'CallerReference' => array(
'type' => 'string',
),
'Comment' => array(
'type' => 'string',
),
),
),
'Location' => array(
'type' => 'string',
'location' => 'header',
),
'ETag' => array(
'type' => 'string',
'location' => 'header',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'CreateDistributionResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Id' => array(
'type' => 'string',
'location' => 'xml',
),
'Status' => array(
'type' => 'string',
'location' => 'xml',
),
'LastModifiedTime' => array(
'type' => 'string',
'location' => 'xml',
),
'InProgressInvalidationBatches' => array(
'type' => 'numeric',
'location' => 'xml',
),
'DomainName' => array(
'type' => 'string',
'location' => 'xml',
),
'ActiveTrustedSigners' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Signer',
'type' => 'object',
'sentAs' => 'Signer',
'properties' => array(
'AwsAccountNumber' => array(
'type' => 'string',
),
'KeyPairIds' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'KeyPairId',
'type' => 'string',
'sentAs' => 'KeyPairId',
),
),
),
),
),
),
),
),
),
'DistributionConfig' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'CallerReference' => array(
'type' => 'string',
),
'Aliases' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
'sentAs' => 'CNAME',
),
),
),
),
'DefaultRootObject' => array(
'type' => 'string',
),
'Origins' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Origin',
'type' => 'object',
'sentAs' => 'Origin',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'DomainName' => array(
'type' => 'string',
),
'S3OriginConfig' => array(
'type' => 'object',
'properties' => array(
'OriginAccessIdentity' => array(
'type' => 'string',
),
),
),
'CustomOriginConfig' => array(
'type' => 'object',
'properties' => array(
'HTTPPort' => array(
'type' => 'numeric',
),
'HTTPSPort' => array(
'type' => 'numeric',
),
'OriginProtocolPolicy' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'DefaultCacheBehavior' => array(
'type' => 'object',
'properties' => array(
'TargetOriginId' => array(
'type' => 'string',
),
'ForwardedValues' => array(
'type' => 'object',
'properties' => array(
'QueryString' => array(
'type' => 'boolean',
),
'Cookies' => array(
'type' => 'object',
'properties' => array(
'Forward' => array(
'type' => 'string',
),
'WhitelistedNames' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Name',
'type' => 'string',
'sentAs' => 'Name',
),
),
),
),
),
),
),
),
'TrustedSigners' => array(
'type' => 'object',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'ViewerProtocolPolicy' => array(
'type' => 'string',
),
'MinTTL' => array(
'type' => 'numeric',
),
'AllowedMethods' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Method',
'type' => 'string',
'sentAs' => 'Method',
),
),
),
),
),
),
'CacheBehaviors' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CacheBehavior',
'type' => 'object',
'sentAs' => 'CacheBehavior',
'properties' => array(
'PathPattern' => array(
'type' => 'string',
),
'TargetOriginId' => array(
'type' => 'string',
),
'ForwardedValues' => array(
'type' => 'object',
'properties' => array(
'QueryString' => array(
'type' => 'boolean',
),
'Cookies' => array(
'type' => 'object',
'properties' => array(
'Forward' => array(
'type' => 'string',
),
'WhitelistedNames' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Name',
'type' => 'string',
'sentAs' => 'Name',
),
),
),
),
),
),
),
),
'TrustedSigners' => array(
'type' => 'object',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'ViewerProtocolPolicy' => array(
'type' => 'string',
),
'MinTTL' => array(
'type' => 'numeric',
),
'AllowedMethods' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Method',
'type' => 'string',
'sentAs' => 'Method',
),
),
),
),
),
),
),
),
),
'CustomErrorResponses' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CustomErrorResponse',
'type' => 'object',
'sentAs' => 'CustomErrorResponse',
'properties' => array(
'ErrorCode' => array(
'type' => 'numeric',
),
'ResponsePagePath' => array(
'type' => 'string',
),
'ResponseCode' => array(
'type' => 'string',
),
'ErrorCachingMinTTL' => array(
'type' => 'numeric',
),
),
),
),
),
),
'Comment' => array(
'type' => 'string',
),
'Logging' => array(
'type' => 'object',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'IncludeCookies' => array(
'type' => 'boolean',
),
'Bucket' => array(
'type' => 'string',
),
'Prefix' => array(
'type' => 'string',
),
),
),
'PriceClass' => array(
'type' => 'string',
),
'Enabled' => array(
'type' => 'boolean',
),
'ViewerCertificate' => array(
'type' => 'object',
'properties' => array(
'IAMCertificateId' => array(
'type' => 'string',
),
'CloudFrontDefaultCertificate' => array(
'type' => 'boolean',
),
),
),
'Restrictions' => array(
'type' => 'object',
'properties' => array(
'GeoRestriction' => array(
'type' => 'object',
'properties' => array(
'RestrictionType' => array(
'type' => 'string',
),
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Location',
'type' => 'string',
'sentAs' => 'Location',
),
),
),
),
),
),
),
),
'Location' => array(
'type' => 'string',
'location' => 'header',
),
'ETag' => array(
'type' => 'string',
'location' => 'header',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'CreateInvalidationResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Location' => array(
'type' => 'string',
'location' => 'header',
),
'Id' => array(
'type' => 'string',
'location' => 'xml',
),
'Status' => array(
'type' => 'string',
'location' => 'xml',
),
'CreateTime' => array(
'type' => 'string',
'location' => 'xml',
),
'InvalidationBatch' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Paths' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Path',
'type' => 'string',
'sentAs' => 'Path',
),
),
),
),
'CallerReference' => array(
'type' => 'string',
),
),
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'CreateStreamingDistributionResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Id' => array(
'type' => 'string',
'location' => 'xml',
),
'Status' => array(
'type' => 'string',
'location' => 'xml',
),
'LastModifiedTime' => array(
'type' => 'string',
'location' => 'xml',
),
'DomainName' => array(
'type' => 'string',
'location' => 'xml',
),
'ActiveTrustedSigners' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Signer',
'type' => 'object',
'sentAs' => 'Signer',
'properties' => array(
'AwsAccountNumber' => array(
'type' => 'string',
),
'KeyPairIds' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'KeyPairId',
'type' => 'string',
'sentAs' => 'KeyPairId',
),
),
),
),
),
),
),
),
),
'StreamingDistributionConfig' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'CallerReference' => array(
'type' => 'string',
),
'S3Origin' => array(
'type' => 'object',
'properties' => array(
'DomainName' => array(
'type' => 'string',
),
'OriginAccessIdentity' => array(
'type' => 'string',
),
),
),
'Aliases' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
'sentAs' => 'CNAME',
),
),
),
),
'Comment' => array(
'type' => 'string',
),
'Logging' => array(
'type' => 'object',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'Bucket' => array(
'type' => 'string',
),
'Prefix' => array(
'type' => 'string',
),
),
),
'TrustedSigners' => array(
'type' => 'object',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'PriceClass' => array(
'type' => 'string',
),
'Enabled' => array(
'type' => 'boolean',
),
),
),
'Location' => array(
'type' => 'string',
'location' => 'header',
),
'ETag' => array(
'type' => 'string',
'location' => 'header',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'DeleteCloudFrontOriginAccessIdentity2013_11_11Output' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'DeleteDistribution2013_11_11Output' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'DeleteStreamingDistribution2013_11_11Output' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetCloudFrontOriginAccessIdentityResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Id' => array(
'type' => 'string',
'location' => 'xml',
),
'S3CanonicalUserId' => array(
'type' => 'string',
'location' => 'xml',
),
'CloudFrontOriginAccessIdentityConfig' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'CallerReference' => array(
'type' => 'string',
),
'Comment' => array(
'type' => 'string',
),
),
),
'ETag' => array(
'type' => 'string',
'location' => 'header',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetCloudFrontOriginAccessIdentityConfigResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'CallerReference' => array(
'type' => 'string',
'location' => 'xml',
),
'Comment' => array(
'type' => 'string',
'location' => 'xml',
),
'ETag' => array(
'type' => 'string',
'location' => 'header',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetDistributionResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Id' => array(
'type' => 'string',
'location' => 'xml',
),
'Status' => array(
'type' => 'string',
'location' => 'xml',
),
'LastModifiedTime' => array(
'type' => 'string',
'location' => 'xml',
),
'InProgressInvalidationBatches' => array(
'type' => 'numeric',
'location' => 'xml',
),
'DomainName' => array(
'type' => 'string',
'location' => 'xml',
),
'ActiveTrustedSigners' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Signer',
'type' => 'object',
'sentAs' => 'Signer',
'properties' => array(
'AwsAccountNumber' => array(
'type' => 'string',
),
'KeyPairIds' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'KeyPairId',
'type' => 'string',
'sentAs' => 'KeyPairId',
),
),
),
),
),
),
),
),
),
'DistributionConfig' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'CallerReference' => array(
'type' => 'string',
),
'Aliases' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
'sentAs' => 'CNAME',
),
),
),
),
'DefaultRootObject' => array(
'type' => 'string',
),
'Origins' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Origin',
'type' => 'object',
'sentAs' => 'Origin',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'DomainName' => array(
'type' => 'string',
),
'S3OriginConfig' => array(
'type' => 'object',
'properties' => array(
'OriginAccessIdentity' => array(
'type' => 'string',
),
),
),
'CustomOriginConfig' => array(
'type' => 'object',
'properties' => array(
'HTTPPort' => array(
'type' => 'numeric',
),
'HTTPSPort' => array(
'type' => 'numeric',
),
'OriginProtocolPolicy' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'DefaultCacheBehavior' => array(
'type' => 'object',
'properties' => array(
'TargetOriginId' => array(
'type' => 'string',
),
'ForwardedValues' => array(
'type' => 'object',
'properties' => array(
'QueryString' => array(
'type' => 'boolean',
),
'Cookies' => array(
'type' => 'object',
'properties' => array(
'Forward' => array(
'type' => 'string',
),
'WhitelistedNames' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Name',
'type' => 'string',
'sentAs' => 'Name',
),
),
),
),
),
),
),
),
'TrustedSigners' => array(
'type' => 'object',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'ViewerProtocolPolicy' => array(
'type' => 'string',
),
'MinTTL' => array(
'type' => 'numeric',
),
'AllowedMethods' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Method',
'type' => 'string',
'sentAs' => 'Method',
),
),
),
),
),
),
'CacheBehaviors' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CacheBehavior',
'type' => 'object',
'sentAs' => 'CacheBehavior',
'properties' => array(
'PathPattern' => array(
'type' => 'string',
),
'TargetOriginId' => array(
'type' => 'string',
),
'ForwardedValues' => array(
'type' => 'object',
'properties' => array(
'QueryString' => array(
'type' => 'boolean',
),
'Cookies' => array(
'type' => 'object',
'properties' => array(
'Forward' => array(
'type' => 'string',
),
'WhitelistedNames' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Name',
'type' => 'string',
'sentAs' => 'Name',
),
),
),
),
),
),
),
),
'TrustedSigners' => array(
'type' => 'object',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'ViewerProtocolPolicy' => array(
'type' => 'string',
),
'MinTTL' => array(
'type' => 'numeric',
),
'AllowedMethods' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Method',
'type' => 'string',
'sentAs' => 'Method',
),
),
),
),
),
),
),
),
),
'CustomErrorResponses' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CustomErrorResponse',
'type' => 'object',
'sentAs' => 'CustomErrorResponse',
'properties' => array(
'ErrorCode' => array(
'type' => 'numeric',
),
'ResponsePagePath' => array(
'type' => 'string',
),
'ResponseCode' => array(
'type' => 'string',
),
'ErrorCachingMinTTL' => array(
'type' => 'numeric',
),
),
),
),
),
),
'Comment' => array(
'type' => 'string',
),
'Logging' => array(
'type' => 'object',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'IncludeCookies' => array(
'type' => 'boolean',
),
'Bucket' => array(
'type' => 'string',
),
'Prefix' => array(
'type' => 'string',
),
),
),
'PriceClass' => array(
'type' => 'string',
),
'Enabled' => array(
'type' => 'boolean',
),
'ViewerCertificate' => array(
'type' => 'object',
'properties' => array(
'IAMCertificateId' => array(
'type' => 'string',
),
'CloudFrontDefaultCertificate' => array(
'type' => 'boolean',
),
),
),
'Restrictions' => array(
'type' => 'object',
'properties' => array(
'GeoRestriction' => array(
'type' => 'object',
'properties' => array(
'RestrictionType' => array(
'type' => 'string',
),
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Location',
'type' => 'string',
'sentAs' => 'Location',
),
),
),
),
),
),
),
),
'ETag' => array(
'type' => 'string',
'location' => 'header',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetDistributionConfigResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'CallerReference' => array(
'type' => 'string',
'location' => 'xml',
),
'Aliases' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
'sentAs' => 'CNAME',
),
),
),
),
'DefaultRootObject' => array(
'type' => 'string',
'location' => 'xml',
),
'Origins' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Origin',
'type' => 'object',
'sentAs' => 'Origin',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'DomainName' => array(
'type' => 'string',
),
'S3OriginConfig' => array(
'type' => 'object',
'properties' => array(
'OriginAccessIdentity' => array(
'type' => 'string',
),
),
),
'CustomOriginConfig' => array(
'type' => 'object',
'properties' => array(
'HTTPPort' => array(
'type' => 'numeric',
),
'HTTPSPort' => array(
'type' => 'numeric',
),
'OriginProtocolPolicy' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'DefaultCacheBehavior' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'TargetOriginId' => array(
'type' => 'string',
),
'ForwardedValues' => array(
'type' => 'object',
'properties' => array(
'QueryString' => array(
'type' => 'boolean',
),
'Cookies' => array(
'type' => 'object',
'properties' => array(
'Forward' => array(
'type' => 'string',
),
'WhitelistedNames' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Name',
'type' => 'string',
'sentAs' => 'Name',
),
),
),
),
),
),
),
),
'TrustedSigners' => array(
'type' => 'object',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'ViewerProtocolPolicy' => array(
'type' => 'string',
),
'MinTTL' => array(
'type' => 'numeric',
),
'AllowedMethods' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Method',
'type' => 'string',
'sentAs' => 'Method',
),
),
),
),
),
),
'CacheBehaviors' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CacheBehavior',
'type' => 'object',
'sentAs' => 'CacheBehavior',
'properties' => array(
'PathPattern' => array(
'type' => 'string',
),
'TargetOriginId' => array(
'type' => 'string',
),
'ForwardedValues' => array(
'type' => 'object',
'properties' => array(
'QueryString' => array(
'type' => 'boolean',
),
'Cookies' => array(
'type' => 'object',
'properties' => array(
'Forward' => array(
'type' => 'string',
),
'WhitelistedNames' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Name',
'type' => 'string',
'sentAs' => 'Name',
),
),
),
),
),
),
),
),
'TrustedSigners' => array(
'type' => 'object',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'ViewerProtocolPolicy' => array(
'type' => 'string',
),
'MinTTL' => array(
'type' => 'numeric',
),
'AllowedMethods' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Method',
'type' => 'string',
'sentAs' => 'Method',
),
),
),
),
),
),
),
),
),
'CustomErrorResponses' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CustomErrorResponse',
'type' => 'object',
'sentAs' => 'CustomErrorResponse',
'properties' => array(
'ErrorCode' => array(
'type' => 'numeric',
),
'ResponsePagePath' => array(
'type' => 'string',
),
'ResponseCode' => array(
'type' => 'string',
),
'ErrorCachingMinTTL' => array(
'type' => 'numeric',
),
),
),
),
),
),
'Comment' => array(
'type' => 'string',
'location' => 'xml',
),
'Logging' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'IncludeCookies' => array(
'type' => 'boolean',
),
'Bucket' => array(
'type' => 'string',
),
'Prefix' => array(
'type' => 'string',
),
),
),
'PriceClass' => array(
'type' => 'string',
'location' => 'xml',
),
'Enabled' => array(
'type' => 'boolean',
'location' => 'xml',
),
'ViewerCertificate' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'IAMCertificateId' => array(
'type' => 'string',
),
'CloudFrontDefaultCertificate' => array(
'type' => 'boolean',
),
),
),
'Restrictions' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'GeoRestriction' => array(
'type' => 'object',
'properties' => array(
'RestrictionType' => array(
'type' => 'string',
),
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Location',
'type' => 'string',
'sentAs' => 'Location',
),
),
),
),
),
),
'ETag' => array(
'type' => 'string',
'location' => 'header',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetInvalidationResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Id' => array(
'type' => 'string',
'location' => 'xml',
),
'Status' => array(
'type' => 'string',
'location' => 'xml',
),
'CreateTime' => array(
'type' => 'string',
'location' => 'xml',
),
'InvalidationBatch' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Paths' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Path',
'type' => 'string',
'sentAs' => 'Path',
),
),
),
),
'CallerReference' => array(
'type' => 'string',
),
),
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetStreamingDistributionResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Id' => array(
'type' => 'string',
'location' => 'xml',
),
'Status' => array(
'type' => 'string',
'location' => 'xml',
),
'LastModifiedTime' => array(
'type' => 'string',
'location' => 'xml',
),
'DomainName' => array(
'type' => 'string',
'location' => 'xml',
),
'ActiveTrustedSigners' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Signer',
'type' => 'object',
'sentAs' => 'Signer',
'properties' => array(
'AwsAccountNumber' => array(
'type' => 'string',
),
'KeyPairIds' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'KeyPairId',
'type' => 'string',
'sentAs' => 'KeyPairId',
),
),
),
),
),
),
),
),
),
'StreamingDistributionConfig' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'CallerReference' => array(
'type' => 'string',
),
'S3Origin' => array(
'type' => 'object',
'properties' => array(
'DomainName' => array(
'type' => 'string',
),
'OriginAccessIdentity' => array(
'type' => 'string',
),
),
),
'Aliases' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
'sentAs' => 'CNAME',
),
),
),
),
'Comment' => array(
'type' => 'string',
),
'Logging' => array(
'type' => 'object',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'Bucket' => array(
'type' => 'string',
),
'Prefix' => array(
'type' => 'string',
),
),
),
'TrustedSigners' => array(
'type' => 'object',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'PriceClass' => array(
'type' => 'string',
),
'Enabled' => array(
'type' => 'boolean',
),
),
),
'ETag' => array(
'type' => 'string',
'location' => 'header',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetStreamingDistributionConfigResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'CallerReference' => array(
'type' => 'string',
'location' => 'xml',
),
'S3Origin' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'DomainName' => array(
'type' => 'string',
),
'OriginAccessIdentity' => array(
'type' => 'string',
),
),
),
'Aliases' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
'sentAs' => 'CNAME',
),
),
),
),
'Comment' => array(
'type' => 'string',
'location' => 'xml',
),
'Logging' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'Bucket' => array(
'type' => 'string',
),
'Prefix' => array(
'type' => 'string',
),
),
),
'TrustedSigners' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'PriceClass' => array(
'type' => 'string',
'location' => 'xml',
),
'Enabled' => array(
'type' => 'boolean',
'location' => 'xml',
),
'ETag' => array(
'type' => 'string',
'location' => 'header',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'ListCloudFrontOriginAccessIdentitiesResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'NextMarker' => array(
'type' => 'string',
'location' => 'xml',
),
'MaxItems' => array(
'type' => 'numeric',
'location' => 'xml',
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
'Quantity' => array(
'type' => 'numeric',
'location' => 'xml',
),
'Items' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'CloudFrontOriginAccessIdentitySummary',
'type' => 'object',
'sentAs' => 'CloudFrontOriginAccessIdentitySummary',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'S3CanonicalUserId' => array(
'type' => 'string',
),
'Comment' => array(
'type' => 'string',
),
),
),
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'ListDistributionsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'NextMarker' => array(
'type' => 'string',
'location' => 'xml',
),
'MaxItems' => array(
'type' => 'numeric',
'location' => 'xml',
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
'Quantity' => array(
'type' => 'numeric',
'location' => 'xml',
),
'Items' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'DistributionSummary',
'type' => 'object',
'sentAs' => 'DistributionSummary',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'LastModifiedTime' => array(
'type' => 'string',
),
'DomainName' => array(
'type' => 'string',
),
'Aliases' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
'sentAs' => 'CNAME',
),
),
),
),
'Origins' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Origin',
'type' => 'object',
'sentAs' => 'Origin',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'DomainName' => array(
'type' => 'string',
),
'S3OriginConfig' => array(
'type' => 'object',
'properties' => array(
'OriginAccessIdentity' => array(
'type' => 'string',
),
),
),
'CustomOriginConfig' => array(
'type' => 'object',
'properties' => array(
'HTTPPort' => array(
'type' => 'numeric',
),
'HTTPSPort' => array(
'type' => 'numeric',
),
'OriginProtocolPolicy' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'DefaultCacheBehavior' => array(
'type' => 'object',
'properties' => array(
'TargetOriginId' => array(
'type' => 'string',
),
'ForwardedValues' => array(
'type' => 'object',
'properties' => array(
'QueryString' => array(
'type' => 'boolean',
),
'Cookies' => array(
'type' => 'object',
'properties' => array(
'Forward' => array(
'type' => 'string',
),
'WhitelistedNames' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Name',
'type' => 'string',
'sentAs' => 'Name',
),
),
),
),
),
),
),
),
'TrustedSigners' => array(
'type' => 'object',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'ViewerProtocolPolicy' => array(
'type' => 'string',
),
'MinTTL' => array(
'type' => 'numeric',
),
'AllowedMethods' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Method',
'type' => 'string',
'sentAs' => 'Method',
),
),
),
),
),
),
'CacheBehaviors' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CacheBehavior',
'type' => 'object',
'sentAs' => 'CacheBehavior',
'properties' => array(
'PathPattern' => array(
'type' => 'string',
),
'TargetOriginId' => array(
'type' => 'string',
),
'ForwardedValues' => array(
'type' => 'object',
'properties' => array(
'QueryString' => array(
'type' => 'boolean',
),
'Cookies' => array(
'type' => 'object',
'properties' => array(
'Forward' => array(
'type' => 'string',
),
'WhitelistedNames' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Name',
'type' => 'string',
'sentAs' => 'Name',
),
),
),
),
),
),
),
),
'TrustedSigners' => array(
'type' => 'object',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'ViewerProtocolPolicy' => array(
'type' => 'string',
),
'MinTTL' => array(
'type' => 'numeric',
),
'AllowedMethods' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Method',
'type' => 'string',
'sentAs' => 'Method',
),
),
),
),
),
),
),
),
),
'CustomErrorResponses' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CustomErrorResponse',
'type' => 'object',
'sentAs' => 'CustomErrorResponse',
'properties' => array(
'ErrorCode' => array(
'type' => 'numeric',
),
'ResponsePagePath' => array(
'type' => 'string',
),
'ResponseCode' => array(
'type' => 'string',
),
'ErrorCachingMinTTL' => array(
'type' => 'numeric',
),
),
),
),
),
),
'Comment' => array(
'type' => 'string',
),
'PriceClass' => array(
'type' => 'string',
),
'Enabled' => array(
'type' => 'boolean',
),
'ViewerCertificate' => array(
'type' => 'object',
'properties' => array(
'IAMCertificateId' => array(
'type' => 'string',
),
'CloudFrontDefaultCertificate' => array(
'type' => 'boolean',
),
),
),
'Restrictions' => array(
'type' => 'object',
'properties' => array(
'GeoRestriction' => array(
'type' => 'object',
'properties' => array(
'RestrictionType' => array(
'type' => 'string',
),
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Location',
'type' => 'string',
'sentAs' => 'Location',
),
),
),
),
),
),
),
),
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'ListInvalidationsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'NextMarker' => array(
'type' => 'string',
'location' => 'xml',
),
'MaxItems' => array(
'type' => 'numeric',
'location' => 'xml',
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
'Quantity' => array(
'type' => 'numeric',
'location' => 'xml',
),
'Items' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'InvalidationSummary',
'type' => 'object',
'sentAs' => 'InvalidationSummary',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'CreateTime' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
),
),
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'ListStreamingDistributionsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'NextMarker' => array(
'type' => 'string',
'location' => 'xml',
),
'MaxItems' => array(
'type' => 'numeric',
'location' => 'xml',
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
'Quantity' => array(
'type' => 'numeric',
'location' => 'xml',
),
'Items' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'StreamingDistributionSummary',
'type' => 'object',
'sentAs' => 'StreamingDistributionSummary',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'LastModifiedTime' => array(
'type' => 'string',
),
'DomainName' => array(
'type' => 'string',
),
'S3Origin' => array(
'type' => 'object',
'properties' => array(
'DomainName' => array(
'type' => 'string',
),
'OriginAccessIdentity' => array(
'type' => 'string',
),
),
),
'Aliases' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
'sentAs' => 'CNAME',
),
),
),
),
'TrustedSigners' => array(
'type' => 'object',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'Comment' => array(
'type' => 'string',
),
'PriceClass' => array(
'type' => 'string',
),
'Enabled' => array(
'type' => 'boolean',
),
),
),
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'UpdateCloudFrontOriginAccessIdentityResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Id' => array(
'type' => 'string',
'location' => 'xml',
),
'S3CanonicalUserId' => array(
'type' => 'string',
'location' => 'xml',
),
'CloudFrontOriginAccessIdentityConfig' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'CallerReference' => array(
'type' => 'string',
),
'Comment' => array(
'type' => 'string',
),
),
),
'ETag' => array(
'type' => 'string',
'location' => 'header',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'UpdateDistributionResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Id' => array(
'type' => 'string',
'location' => 'xml',
),
'Status' => array(
'type' => 'string',
'location' => 'xml',
),
'LastModifiedTime' => array(
'type' => 'string',
'location' => 'xml',
),
'InProgressInvalidationBatches' => array(
'type' => 'numeric',
'location' => 'xml',
),
'DomainName' => array(
'type' => 'string',
'location' => 'xml',
),
'ActiveTrustedSigners' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Signer',
'type' => 'object',
'sentAs' => 'Signer',
'properties' => array(
'AwsAccountNumber' => array(
'type' => 'string',
),
'KeyPairIds' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'KeyPairId',
'type' => 'string',
'sentAs' => 'KeyPairId',
),
),
),
),
),
),
),
),
),
'DistributionConfig' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'CallerReference' => array(
'type' => 'string',
),
'Aliases' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
'sentAs' => 'CNAME',
),
),
),
),
'DefaultRootObject' => array(
'type' => 'string',
),
'Origins' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Origin',
'type' => 'object',
'sentAs' => 'Origin',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'DomainName' => array(
'type' => 'string',
),
'S3OriginConfig' => array(
'type' => 'object',
'properties' => array(
'OriginAccessIdentity' => array(
'type' => 'string',
),
),
),
'CustomOriginConfig' => array(
'type' => 'object',
'properties' => array(
'HTTPPort' => array(
'type' => 'numeric',
),
'HTTPSPort' => array(
'type' => 'numeric',
),
'OriginProtocolPolicy' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'DefaultCacheBehavior' => array(
'type' => 'object',
'properties' => array(
'TargetOriginId' => array(
'type' => 'string',
),
'ForwardedValues' => array(
'type' => 'object',
'properties' => array(
'QueryString' => array(
'type' => 'boolean',
),
'Cookies' => array(
'type' => 'object',
'properties' => array(
'Forward' => array(
'type' => 'string',
),
'WhitelistedNames' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Name',
'type' => 'string',
'sentAs' => 'Name',
),
),
),
),
),
),
),
),
'TrustedSigners' => array(
'type' => 'object',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'ViewerProtocolPolicy' => array(
'type' => 'string',
),
'MinTTL' => array(
'type' => 'numeric',
),
'AllowedMethods' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Method',
'type' => 'string',
'sentAs' => 'Method',
),
),
),
),
),
),
'CacheBehaviors' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CacheBehavior',
'type' => 'object',
'sentAs' => 'CacheBehavior',
'properties' => array(
'PathPattern' => array(
'type' => 'string',
),
'TargetOriginId' => array(
'type' => 'string',
),
'ForwardedValues' => array(
'type' => 'object',
'properties' => array(
'QueryString' => array(
'type' => 'boolean',
),
'Cookies' => array(
'type' => 'object',
'properties' => array(
'Forward' => array(
'type' => 'string',
),
'WhitelistedNames' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Name',
'type' => 'string',
'sentAs' => 'Name',
),
),
),
),
),
),
),
),
'TrustedSigners' => array(
'type' => 'object',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'ViewerProtocolPolicy' => array(
'type' => 'string',
),
'MinTTL' => array(
'type' => 'numeric',
),
'AllowedMethods' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Method',
'type' => 'string',
'sentAs' => 'Method',
),
),
),
),
),
),
),
),
),
'CustomErrorResponses' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CustomErrorResponse',
'type' => 'object',
'sentAs' => 'CustomErrorResponse',
'properties' => array(
'ErrorCode' => array(
'type' => 'numeric',
),
'ResponsePagePath' => array(
'type' => 'string',
),
'ResponseCode' => array(
'type' => 'string',
),
'ErrorCachingMinTTL' => array(
'type' => 'numeric',
),
),
),
),
),
),
'Comment' => array(
'type' => 'string',
),
'Logging' => array(
'type' => 'object',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'IncludeCookies' => array(
'type' => 'boolean',
),
'Bucket' => array(
'type' => 'string',
),
'Prefix' => array(
'type' => 'string',
),
),
),
'PriceClass' => array(
'type' => 'string',
),
'Enabled' => array(
'type' => 'boolean',
),
'ViewerCertificate' => array(
'type' => 'object',
'properties' => array(
'IAMCertificateId' => array(
'type' => 'string',
),
'CloudFrontDefaultCertificate' => array(
'type' => 'boolean',
),
),
),
'Restrictions' => array(
'type' => 'object',
'properties' => array(
'GeoRestriction' => array(
'type' => 'object',
'properties' => array(
'RestrictionType' => array(
'type' => 'string',
),
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Location',
'type' => 'string',
'sentAs' => 'Location',
),
),
),
),
),
),
),
),
'ETag' => array(
'type' => 'string',
'location' => 'header',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'UpdateStreamingDistributionResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Id' => array(
'type' => 'string',
'location' => 'xml',
),
'Status' => array(
'type' => 'string',
'location' => 'xml',
),
'LastModifiedTime' => array(
'type' => 'string',
'location' => 'xml',
),
'DomainName' => array(
'type' => 'string',
'location' => 'xml',
),
'ActiveTrustedSigners' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'Signer',
'type' => 'object',
'sentAs' => 'Signer',
'properties' => array(
'AwsAccountNumber' => array(
'type' => 'string',
),
'KeyPairIds' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'KeyPairId',
'type' => 'string',
'sentAs' => 'KeyPairId',
),
),
),
),
),
),
),
),
),
'StreamingDistributionConfig' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'CallerReference' => array(
'type' => 'string',
),
'S3Origin' => array(
'type' => 'object',
'properties' => array(
'DomainName' => array(
'type' => 'string',
),
'OriginAccessIdentity' => array(
'type' => 'string',
),
),
),
'Aliases' => array(
'type' => 'object',
'properties' => array(
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'CNAME',
'type' => 'string',
'sentAs' => 'CNAME',
),
),
),
),
'Comment' => array(
'type' => 'string',
),
'Logging' => array(
'type' => 'object',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'Bucket' => array(
'type' => 'string',
),
'Prefix' => array(
'type' => 'string',
),
),
),
'TrustedSigners' => array(
'type' => 'object',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
'Quantity' => array(
'type' => 'numeric',
),
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'AwsAccountNumber',
'type' => 'string',
'sentAs' => 'AwsAccountNumber',
),
),
),
),
'PriceClass' => array(
'type' => 'string',
),
'Enabled' => array(
'type' => 'boolean',
),
),
),
'ETag' => array(
'type' => 'string',
'location' => 'header',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
),
'waiters' => array(
'__default__' => array(
'success.type' => 'output',
'success.path' => 'Status',
),
'StreamingDistributionDeployed' => array(
'operation' => 'GetStreamingDistribution',
'interval' => 60,
'max_attempts' => 25,
'success.value' => 'Deployed',
),
'DistributionDeployed' => array(
'operation' => 'GetDistribution',
'interval' => 60,
'max_attempts' => 25,
'success.value' => 'Deployed',
),
'InvalidationCompleted' => array(
'operation' => 'GetInvalidation',
'interval' => 20,
'max_attempts' => 30,
'success.value' => 'Completed',
),
),
);
sdk-2.5.2/Aws/CloudSearch/CloudSearchClient.php 0000644 115327001610067500000010657 12272324172 016411 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/cloudsearch-%s.php'
))
->build();
}
}
sdk-2.5.2/Aws/CloudSearch/Enum/IndexFieldType.php 0000644 115327001610067500000001463 12272324172 016632 0 ustar '2011-02-01',
'endpointPrefix' => 'cloudsearch',
'serviceFullName' => 'Amazon CloudSearch',
'serviceType' => 'query',
'resultWrapped' => true,
'signatureVersion' => 'v4',
'namespace' => 'CloudSearch',
'regions' => array(
'us-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'cloudsearch.us-east-1.amazonaws.com',
),
'us-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'cloudsearch.us-west-1.amazonaws.com',
),
'us-west-2' => array(
'http' => false,
'https' => true,
'hostname' => 'cloudsearch.us-west-2.amazonaws.com',
),
'eu-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'cloudsearch.eu-west-1.amazonaws.com',
),
'ap-southeast-1' => array(
'http' => false,
'https' => true,
'hostname' => 'cloudsearch.ap-southeast-1.amazonaws.com',
),
),
'operations' => array(
'CreateDomain' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateDomainResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateDomain',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-02-01',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 3,
'maxLength' => 28,
),
),
'errorResponses' => array(
array(
'reason' => 'An error occurred while processing the request.',
'class' => 'BaseException',
),
array(
'reason' => 'An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.',
'class' => 'InternalException',
),
array(
'reason' => 'The request was rejected because a resource limit has already been met.',
'class' => 'LimitExceededException',
),
),
),
'DefineIndexField' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DefineIndexFieldResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DefineIndexField',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-02-01',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 3,
'maxLength' => 28,
),
'IndexField' => array(
'required' => true,
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'IndexFieldName' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 64,
),
'IndexFieldType' => array(
'required' => true,
'type' => 'string',
),
'UIntOptions' => array(
'type' => 'object',
'properties' => array(
'DefaultValue' => array(
'type' => 'numeric',
),
),
),
'LiteralOptions' => array(
'type' => 'object',
'properties' => array(
'DefaultValue' => array(
'type' => 'string',
'maxLength' => 1024,
),
'SearchEnabled' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
'FacetEnabled' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
'ResultEnabled' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
'TextOptions' => array(
'type' => 'object',
'properties' => array(
'DefaultValue' => array(
'type' => 'string',
'maxLength' => 1024,
),
'FacetEnabled' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
'ResultEnabled' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
'TextProcessor' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 64,
),
),
),
'SourceAttributes' => array(
'type' => 'array',
'sentAs' => 'SourceAttributes.member',
'items' => array(
'name' => 'SourceAttribute',
'type' => 'object',
'properties' => array(
'SourceDataFunction' => array(
'required' => true,
'type' => 'string',
),
'SourceDataCopy' => array(
'type' => 'object',
'properties' => array(
'SourceName' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 64,
),
'DefaultValue' => array(
'type' => 'string',
'maxLength' => 1024,
),
),
),
'SourceDataTrimTitle' => array(
'type' => 'object',
'properties' => array(
'SourceName' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 64,
),
'DefaultValue' => array(
'type' => 'string',
'maxLength' => 1024,
),
'Separator' => array(
'type' => 'string',
),
'Language' => array(
'type' => 'string',
),
),
),
'SourceDataMap' => array(
'type' => 'object',
'properties' => array(
'SourceName' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 64,
),
'DefaultValue' => array(
'type' => 'string',
'maxLength' => 1024,
),
'Cases' => array(
'type' => 'object',
'sentAs' => 'Cases.entry',
'additionalProperties' => array(
'type' => 'string',
'maxLength' => 1024,
'data' => array(
'shape_name' => 'FieldValue',
),
),
),
),
),
),
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'An error occurred while processing the request.',
'class' => 'BaseException',
),
array(
'reason' => 'An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.',
'class' => 'InternalException',
),
array(
'reason' => 'The request was rejected because a resource limit has already been met.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'The request was rejected because it specified an invalid type definition.',
'class' => 'InvalidTypeException',
),
array(
'reason' => 'The request was rejected because it attempted to reference a resource that does not exist.',
'class' => 'ResourceNotFoundException',
),
),
),
'DefineRankExpression' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DefineRankExpressionResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DefineRankExpression',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-02-01',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 3,
'maxLength' => 28,
),
'RankExpression' => array(
'required' => true,
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'RankName' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 64,
),
'RankExpression' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 10240,
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'An error occurred while processing the request.',
'class' => 'BaseException',
),
array(
'reason' => 'An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.',
'class' => 'InternalException',
),
array(
'reason' => 'The request was rejected because a resource limit has already been met.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'The request was rejected because it specified an invalid type definition.',
'class' => 'InvalidTypeException',
),
array(
'reason' => 'The request was rejected because it attempted to reference a resource that does not exist.',
'class' => 'ResourceNotFoundException',
),
),
),
'DeleteDomain' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DeleteDomainResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteDomain',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-02-01',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 3,
'maxLength' => 28,
),
),
'errorResponses' => array(
array(
'reason' => 'An error occurred while processing the request.',
'class' => 'BaseException',
),
array(
'reason' => 'An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.',
'class' => 'InternalException',
),
),
),
'DeleteIndexField' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DeleteIndexFieldResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteIndexField',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-02-01',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 3,
'maxLength' => 28,
),
'IndexFieldName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 64,
),
),
'errorResponses' => array(
array(
'reason' => 'An error occurred while processing the request.',
'class' => 'BaseException',
),
array(
'reason' => 'An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.',
'class' => 'InternalException',
),
array(
'reason' => 'The request was rejected because it specified an invalid type definition.',
'class' => 'InvalidTypeException',
),
array(
'reason' => 'The request was rejected because it attempted to reference a resource that does not exist.',
'class' => 'ResourceNotFoundException',
),
),
),
'DeleteRankExpression' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DeleteRankExpressionResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteRankExpression',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-02-01',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 3,
'maxLength' => 28,
),
'RankName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 64,
),
),
'errorResponses' => array(
array(
'reason' => 'An error occurred while processing the request.',
'class' => 'BaseException',
),
array(
'reason' => 'An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.',
'class' => 'InternalException',
),
array(
'reason' => 'The request was rejected because it specified an invalid type definition.',
'class' => 'InvalidTypeException',
),
array(
'reason' => 'The request was rejected because it attempted to reference a resource that does not exist.',
'class' => 'ResourceNotFoundException',
),
),
),
'DescribeDefaultSearchField' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeDefaultSearchFieldResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeDefaultSearchField',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-02-01',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 3,
'maxLength' => 28,
),
),
'errorResponses' => array(
array(
'reason' => 'An error occurred while processing the request.',
'class' => 'BaseException',
),
array(
'reason' => 'An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.',
'class' => 'InternalException',
),
array(
'reason' => 'The request was rejected because it attempted to reference a resource that does not exist.',
'class' => 'ResourceNotFoundException',
),
),
),
'DescribeDomains' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeDomainsResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeDomains',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-02-01',
),
'DomainNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'DomainNames.member',
'items' => array(
'name' => 'DomainName',
'type' => 'string',
'minLength' => 3,
'maxLength' => 28,
),
),
),
'errorResponses' => array(
array(
'reason' => 'An error occurred while processing the request.',
'class' => 'BaseException',
),
array(
'reason' => 'An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.',
'class' => 'InternalException',
),
),
),
'DescribeIndexFields' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeIndexFieldsResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeIndexFields',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-02-01',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 3,
'maxLength' => 28,
),
'FieldNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'FieldNames.member',
'items' => array(
'name' => 'FieldName',
'type' => 'string',
'minLength' => 1,
'maxLength' => 64,
),
),
),
'errorResponses' => array(
array(
'reason' => 'An error occurred while processing the request.',
'class' => 'BaseException',
),
array(
'reason' => 'An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.',
'class' => 'InternalException',
),
array(
'reason' => 'The request was rejected because it attempted to reference a resource that does not exist.',
'class' => 'ResourceNotFoundException',
),
),
),
'DescribeRankExpressions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeRankExpressionsResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeRankExpressions',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-02-01',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 3,
'maxLength' => 28,
),
'RankNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'RankNames.member',
'items' => array(
'name' => 'FieldName',
'type' => 'string',
'minLength' => 1,
'maxLength' => 64,
),
),
),
'errorResponses' => array(
array(
'reason' => 'An error occurred while processing the request.',
'class' => 'BaseException',
),
array(
'reason' => 'An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.',
'class' => 'InternalException',
),
array(
'reason' => 'The request was rejected because it attempted to reference a resource that does not exist.',
'class' => 'ResourceNotFoundException',
),
),
),
'DescribeServiceAccessPolicies' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeServiceAccessPoliciesResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeServiceAccessPolicies',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-02-01',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 3,
'maxLength' => 28,
),
),
'errorResponses' => array(
array(
'reason' => 'An error occurred while processing the request.',
'class' => 'BaseException',
),
array(
'reason' => 'An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.',
'class' => 'InternalException',
),
array(
'reason' => 'The request was rejected because it attempted to reference a resource that does not exist.',
'class' => 'ResourceNotFoundException',
),
),
),
'DescribeStemmingOptions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeStemmingOptionsResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeStemmingOptions',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-02-01',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 3,
'maxLength' => 28,
),
),
'errorResponses' => array(
array(
'reason' => 'An error occurred while processing the request.',
'class' => 'BaseException',
),
array(
'reason' => 'An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.',
'class' => 'InternalException',
),
array(
'reason' => 'The request was rejected because it attempted to reference a resource that does not exist.',
'class' => 'ResourceNotFoundException',
),
),
),
'DescribeStopwordOptions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeStopwordOptionsResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeStopwordOptions',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-02-01',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 3,
'maxLength' => 28,
),
),
'errorResponses' => array(
array(
'reason' => 'An error occurred while processing the request.',
'class' => 'BaseException',
),
array(
'reason' => 'An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.',
'class' => 'InternalException',
),
array(
'reason' => 'The request was rejected because it attempted to reference a resource that does not exist.',
'class' => 'ResourceNotFoundException',
),
),
),
'DescribeSynonymOptions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeSynonymOptionsResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeSynonymOptions',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-02-01',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 3,
'maxLength' => 28,
),
),
'errorResponses' => array(
array(
'reason' => 'An error occurred while processing the request.',
'class' => 'BaseException',
),
array(
'reason' => 'An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.',
'class' => 'InternalException',
),
array(
'reason' => 'The request was rejected because it attempted to reference a resource that does not exist.',
'class' => 'ResourceNotFoundException',
),
),
),
'IndexDocuments' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'IndexDocumentsResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'IndexDocuments',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-02-01',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 3,
'maxLength' => 28,
),
),
'errorResponses' => array(
array(
'reason' => 'An error occurred while processing the request.',
'class' => 'BaseException',
),
array(
'reason' => 'An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.',
'class' => 'InternalException',
),
array(
'reason' => 'The request was rejected because it attempted to reference a resource that does not exist.',
'class' => 'ResourceNotFoundException',
),
),
),
'UpdateDefaultSearchField' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'UpdateDefaultSearchFieldResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'UpdateDefaultSearchField',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-02-01',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 3,
'maxLength' => 28,
),
'DefaultSearchField' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'An error occurred while processing the request.',
'class' => 'BaseException',
),
array(
'reason' => 'An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.',
'class' => 'InternalException',
),
array(
'reason' => 'The request was rejected because it specified an invalid type definition.',
'class' => 'InvalidTypeException',
),
array(
'reason' => 'The request was rejected because it attempted to reference a resource that does not exist.',
'class' => 'ResourceNotFoundException',
),
),
),
'UpdateServiceAccessPolicies' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'UpdateServiceAccessPoliciesResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'UpdateServiceAccessPolicies',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-02-01',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 3,
'maxLength' => 28,
),
'AccessPolicies' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'An error occurred while processing the request.',
'class' => 'BaseException',
),
array(
'reason' => 'An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.',
'class' => 'InternalException',
),
array(
'reason' => 'The request was rejected because a resource limit has already been met.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'The request was rejected because it attempted to reference a resource that does not exist.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'The request was rejected because it specified an invalid type definition.',
'class' => 'InvalidTypeException',
),
),
),
'UpdateStemmingOptions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'UpdateStemmingOptionsResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'UpdateStemmingOptions',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-02-01',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 3,
'maxLength' => 28,
),
'Stems' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'An error occurred while processing the request.',
'class' => 'BaseException',
),
array(
'reason' => 'An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.',
'class' => 'InternalException',
),
array(
'reason' => 'The request was rejected because it specified an invalid type definition.',
'class' => 'InvalidTypeException',
),
array(
'reason' => 'The request was rejected because a resource limit has already been met.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'The request was rejected because it attempted to reference a resource that does not exist.',
'class' => 'ResourceNotFoundException',
),
),
),
'UpdateStopwordOptions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'UpdateStopwordOptionsResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'UpdateStopwordOptions',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-02-01',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 3,
'maxLength' => 28,
),
'Stopwords' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'An error occurred while processing the request.',
'class' => 'BaseException',
),
array(
'reason' => 'An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.',
'class' => 'InternalException',
),
array(
'reason' => 'The request was rejected because it specified an invalid type definition.',
'class' => 'InvalidTypeException',
),
array(
'reason' => 'The request was rejected because a resource limit has already been met.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'The request was rejected because it attempted to reference a resource that does not exist.',
'class' => 'ResourceNotFoundException',
),
),
),
'UpdateSynonymOptions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'UpdateSynonymOptionsResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'UpdateSynonymOptions',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-02-01',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 3,
'maxLength' => 28,
),
'Synonyms' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'An error occurred while processing the request.',
'class' => 'BaseException',
),
array(
'reason' => 'An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.',
'class' => 'InternalException',
),
array(
'reason' => 'The request was rejected because it specified an invalid type definition.',
'class' => 'InvalidTypeException',
),
array(
'reason' => 'The request was rejected because a resource limit has already been met.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'The request was rejected because it attempted to reference a resource that does not exist.',
'class' => 'ResourceNotFoundException',
),
),
),
),
'models' => array(
'CreateDomainResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'DomainStatus' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'DomainId' => array(
'type' => 'string',
),
'DomainName' => array(
'type' => 'string',
),
'Created' => array(
'type' => 'boolean',
),
'Deleted' => array(
'type' => 'boolean',
),
'NumSearchableDocs' => array(
'type' => 'numeric',
),
'DocService' => array(
'type' => 'object',
'properties' => array(
'Arn' => array(
'type' => 'string',
),
'Endpoint' => array(
'type' => 'string',
),
),
),
'SearchService' => array(
'type' => 'object',
'properties' => array(
'Arn' => array(
'type' => 'string',
),
'Endpoint' => array(
'type' => 'string',
),
),
),
'RequiresIndexDocuments' => array(
'type' => 'boolean',
),
'Processing' => array(
'type' => 'boolean',
),
'SearchInstanceType' => array(
'type' => 'string',
),
'SearchPartitionCount' => array(
'type' => 'numeric',
),
'SearchInstanceCount' => array(
'type' => 'numeric',
),
),
),
),
),
'DefineIndexFieldResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'IndexField' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Options' => array(
'type' => 'object',
'properties' => array(
'IndexFieldName' => array(
'type' => 'string',
),
'IndexFieldType' => array(
'type' => 'string',
),
'UIntOptions' => array(
'type' => 'object',
'properties' => array(
'DefaultValue' => array(
'type' => 'numeric',
),
),
),
'LiteralOptions' => array(
'type' => 'object',
'properties' => array(
'DefaultValue' => array(
'type' => 'string',
),
'SearchEnabled' => array(
'type' => 'boolean',
),
'FacetEnabled' => array(
'type' => 'boolean',
),
'ResultEnabled' => array(
'type' => 'boolean',
),
),
),
'TextOptions' => array(
'type' => 'object',
'properties' => array(
'DefaultValue' => array(
'type' => 'string',
),
'FacetEnabled' => array(
'type' => 'boolean',
),
'ResultEnabled' => array(
'type' => 'boolean',
),
'TextProcessor' => array(
'type' => 'string',
),
),
),
'SourceAttributes' => array(
'type' => 'array',
'items' => array(
'name' => 'SourceAttribute',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'SourceDataFunction' => array(
'type' => 'string',
),
'SourceDataCopy' => array(
'type' => 'object',
'properties' => array(
'SourceName' => array(
'type' => 'string',
),
'DefaultValue' => array(
'type' => 'string',
),
),
),
'SourceDataTrimTitle' => array(
'type' => 'object',
'properties' => array(
'SourceName' => array(
'type' => 'string',
),
'DefaultValue' => array(
'type' => 'string',
),
'Separator' => array(
'type' => 'string',
),
'Language' => array(
'type' => 'string',
),
),
),
'SourceDataMap' => array(
'type' => 'object',
'properties' => array(
'SourceName' => array(
'type' => 'string',
),
'DefaultValue' => array(
'type' => 'string',
),
'Cases' => array(
'type' => 'array',
'filters' => array(
array(
'method' => 'Aws\\Common\\Command\\XmlResponseLocationVisitor::xmlMap',
'args' => array(
'@value',
'entry',
'key',
'value',
),
),
),
'items' => array(
'name' => 'entry',
'type' => 'object',
'sentAs' => 'entry',
'additionalProperties' => true,
'properties' => array(
'key' => array(
'type' => 'string',
),
'value' => array(
'type' => 'string',
),
),
),
'additionalProperties' => false,
),
),
),
),
),
),
),
),
'Status' => array(
'type' => 'object',
'properties' => array(
'CreationDate' => array(
'type' => 'string',
),
'UpdateDate' => array(
'type' => 'string',
),
'UpdateVersion' => array(
'type' => 'numeric',
),
'State' => array(
'type' => 'string',
),
'PendingDeletion' => array(
'type' => 'boolean',
),
),
),
),
),
),
),
'DefineRankExpressionResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RankExpression' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Options' => array(
'type' => 'object',
'properties' => array(
'RankName' => array(
'type' => 'string',
),
'RankExpression' => array(
'type' => 'string',
),
),
),
'Status' => array(
'type' => 'object',
'properties' => array(
'CreationDate' => array(
'type' => 'string',
),
'UpdateDate' => array(
'type' => 'string',
),
'UpdateVersion' => array(
'type' => 'numeric',
),
'State' => array(
'type' => 'string',
),
'PendingDeletion' => array(
'type' => 'boolean',
),
),
),
),
),
),
),
'DeleteDomainResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'DomainStatus' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'DomainId' => array(
'type' => 'string',
),
'DomainName' => array(
'type' => 'string',
),
'Created' => array(
'type' => 'boolean',
),
'Deleted' => array(
'type' => 'boolean',
),
'NumSearchableDocs' => array(
'type' => 'numeric',
),
'DocService' => array(
'type' => 'object',
'properties' => array(
'Arn' => array(
'type' => 'string',
),
'Endpoint' => array(
'type' => 'string',
),
),
),
'SearchService' => array(
'type' => 'object',
'properties' => array(
'Arn' => array(
'type' => 'string',
),
'Endpoint' => array(
'type' => 'string',
),
),
),
'RequiresIndexDocuments' => array(
'type' => 'boolean',
),
'Processing' => array(
'type' => 'boolean',
),
'SearchInstanceType' => array(
'type' => 'string',
),
'SearchPartitionCount' => array(
'type' => 'numeric',
),
'SearchInstanceCount' => array(
'type' => 'numeric',
),
),
),
),
),
'DeleteIndexFieldResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'IndexField' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Options' => array(
'type' => 'object',
'properties' => array(
'IndexFieldName' => array(
'type' => 'string',
),
'IndexFieldType' => array(
'type' => 'string',
),
'UIntOptions' => array(
'type' => 'object',
'properties' => array(
'DefaultValue' => array(
'type' => 'numeric',
),
),
),
'LiteralOptions' => array(
'type' => 'object',
'properties' => array(
'DefaultValue' => array(
'type' => 'string',
),
'SearchEnabled' => array(
'type' => 'boolean',
),
'FacetEnabled' => array(
'type' => 'boolean',
),
'ResultEnabled' => array(
'type' => 'boolean',
),
),
),
'TextOptions' => array(
'type' => 'object',
'properties' => array(
'DefaultValue' => array(
'type' => 'string',
),
'FacetEnabled' => array(
'type' => 'boolean',
),
'ResultEnabled' => array(
'type' => 'boolean',
),
'TextProcessor' => array(
'type' => 'string',
),
),
),
'SourceAttributes' => array(
'type' => 'array',
'items' => array(
'name' => 'SourceAttribute',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'SourceDataFunction' => array(
'type' => 'string',
),
'SourceDataCopy' => array(
'type' => 'object',
'properties' => array(
'SourceName' => array(
'type' => 'string',
),
'DefaultValue' => array(
'type' => 'string',
),
),
),
'SourceDataTrimTitle' => array(
'type' => 'object',
'properties' => array(
'SourceName' => array(
'type' => 'string',
),
'DefaultValue' => array(
'type' => 'string',
),
'Separator' => array(
'type' => 'string',
),
'Language' => array(
'type' => 'string',
),
),
),
'SourceDataMap' => array(
'type' => 'object',
'properties' => array(
'SourceName' => array(
'type' => 'string',
),
'DefaultValue' => array(
'type' => 'string',
),
'Cases' => array(
'type' => 'array',
'filters' => array(
array(
'method' => 'Aws\\Common\\Command\\XmlResponseLocationVisitor::xmlMap',
'args' => array(
'@value',
'entry',
'key',
'value',
),
),
),
'items' => array(
'name' => 'entry',
'type' => 'object',
'sentAs' => 'entry',
'additionalProperties' => true,
'properties' => array(
'key' => array(
'type' => 'string',
),
'value' => array(
'type' => 'string',
),
),
),
'additionalProperties' => false,
),
),
),
),
),
),
),
),
'Status' => array(
'type' => 'object',
'properties' => array(
'CreationDate' => array(
'type' => 'string',
),
'UpdateDate' => array(
'type' => 'string',
),
'UpdateVersion' => array(
'type' => 'numeric',
),
'State' => array(
'type' => 'string',
),
'PendingDeletion' => array(
'type' => 'boolean',
),
),
),
),
),
),
),
'DeleteRankExpressionResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RankExpression' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Options' => array(
'type' => 'object',
'properties' => array(
'RankName' => array(
'type' => 'string',
),
'RankExpression' => array(
'type' => 'string',
),
),
),
'Status' => array(
'type' => 'object',
'properties' => array(
'CreationDate' => array(
'type' => 'string',
),
'UpdateDate' => array(
'type' => 'string',
),
'UpdateVersion' => array(
'type' => 'numeric',
),
'State' => array(
'type' => 'string',
),
'PendingDeletion' => array(
'type' => 'boolean',
),
),
),
),
),
),
),
'DescribeDefaultSearchFieldResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'DefaultSearchField' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Options' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'object',
'properties' => array(
'CreationDate' => array(
'type' => 'string',
),
'UpdateDate' => array(
'type' => 'string',
),
'UpdateVersion' => array(
'type' => 'numeric',
),
'State' => array(
'type' => 'string',
),
'PendingDeletion' => array(
'type' => 'boolean',
),
),
),
),
),
),
),
'DescribeDomainsResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'DomainStatusList' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'DomainStatus',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'DomainId' => array(
'type' => 'string',
),
'DomainName' => array(
'type' => 'string',
),
'Created' => array(
'type' => 'boolean',
),
'Deleted' => array(
'type' => 'boolean',
),
'NumSearchableDocs' => array(
'type' => 'numeric',
),
'DocService' => array(
'type' => 'object',
'properties' => array(
'Arn' => array(
'type' => 'string',
),
'Endpoint' => array(
'type' => 'string',
),
),
),
'SearchService' => array(
'type' => 'object',
'properties' => array(
'Arn' => array(
'type' => 'string',
),
'Endpoint' => array(
'type' => 'string',
),
),
),
'RequiresIndexDocuments' => array(
'type' => 'boolean',
),
'Processing' => array(
'type' => 'boolean',
),
'SearchInstanceType' => array(
'type' => 'string',
),
'SearchPartitionCount' => array(
'type' => 'numeric',
),
'SearchInstanceCount' => array(
'type' => 'numeric',
),
),
),
),
),
),
'DescribeIndexFieldsResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'IndexFields' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'IndexFieldStatus',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Options' => array(
'type' => 'object',
'properties' => array(
'IndexFieldName' => array(
'type' => 'string',
),
'IndexFieldType' => array(
'type' => 'string',
),
'UIntOptions' => array(
'type' => 'object',
'properties' => array(
'DefaultValue' => array(
'type' => 'numeric',
),
),
),
'LiteralOptions' => array(
'type' => 'object',
'properties' => array(
'DefaultValue' => array(
'type' => 'string',
),
'SearchEnabled' => array(
'type' => 'boolean',
),
'FacetEnabled' => array(
'type' => 'boolean',
),
'ResultEnabled' => array(
'type' => 'boolean',
),
),
),
'TextOptions' => array(
'type' => 'object',
'properties' => array(
'DefaultValue' => array(
'type' => 'string',
),
'FacetEnabled' => array(
'type' => 'boolean',
),
'ResultEnabled' => array(
'type' => 'boolean',
),
'TextProcessor' => array(
'type' => 'string',
),
),
),
'SourceAttributes' => array(
'type' => 'array',
'items' => array(
'name' => 'SourceAttribute',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'SourceDataFunction' => array(
'type' => 'string',
),
'SourceDataCopy' => array(
'type' => 'object',
'properties' => array(
'SourceName' => array(
'type' => 'string',
),
'DefaultValue' => array(
'type' => 'string',
),
),
),
'SourceDataTrimTitle' => array(
'type' => 'object',
'properties' => array(
'SourceName' => array(
'type' => 'string',
),
'DefaultValue' => array(
'type' => 'string',
),
'Separator' => array(
'type' => 'string',
),
'Language' => array(
'type' => 'string',
),
),
),
'SourceDataMap' => array(
'type' => 'object',
'properties' => array(
'SourceName' => array(
'type' => 'string',
),
'DefaultValue' => array(
'type' => 'string',
),
'Cases' => array(
'type' => 'array',
'filters' => array(
array(
'method' => 'Aws\\Common\\Command\\XmlResponseLocationVisitor::xmlMap',
'args' => array(
'@value',
'entry',
'key',
'value',
),
),
),
'items' => array(
'name' => 'entry',
'type' => 'object',
'sentAs' => 'entry',
'additionalProperties' => true,
'properties' => array(
'key' => array(
'type' => 'string',
),
'value' => array(
'type' => 'string',
),
),
),
'additionalProperties' => false,
),
),
),
),
),
),
),
),
'Status' => array(
'type' => 'object',
'properties' => array(
'CreationDate' => array(
'type' => 'string',
),
'UpdateDate' => array(
'type' => 'string',
),
'UpdateVersion' => array(
'type' => 'numeric',
),
'State' => array(
'type' => 'string',
),
'PendingDeletion' => array(
'type' => 'boolean',
),
),
),
),
),
),
),
),
'DescribeRankExpressionsResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RankExpressions' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'RankExpressionStatus',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Options' => array(
'type' => 'object',
'properties' => array(
'RankName' => array(
'type' => 'string',
),
'RankExpression' => array(
'type' => 'string',
),
),
),
'Status' => array(
'type' => 'object',
'properties' => array(
'CreationDate' => array(
'type' => 'string',
),
'UpdateDate' => array(
'type' => 'string',
),
'UpdateVersion' => array(
'type' => 'numeric',
),
'State' => array(
'type' => 'string',
),
'PendingDeletion' => array(
'type' => 'boolean',
),
),
),
),
),
),
),
),
'DescribeServiceAccessPoliciesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'AccessPolicies' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Options' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'object',
'properties' => array(
'CreationDate' => array(
'type' => 'string',
),
'UpdateDate' => array(
'type' => 'string',
),
'UpdateVersion' => array(
'type' => 'numeric',
),
'State' => array(
'type' => 'string',
),
'PendingDeletion' => array(
'type' => 'boolean',
),
),
),
),
),
),
),
'DescribeStemmingOptionsResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Stems' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Options' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'object',
'properties' => array(
'CreationDate' => array(
'type' => 'string',
),
'UpdateDate' => array(
'type' => 'string',
),
'UpdateVersion' => array(
'type' => 'numeric',
),
'State' => array(
'type' => 'string',
),
'PendingDeletion' => array(
'type' => 'boolean',
),
),
),
),
),
),
),
'DescribeStopwordOptionsResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Stopwords' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Options' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'object',
'properties' => array(
'CreationDate' => array(
'type' => 'string',
),
'UpdateDate' => array(
'type' => 'string',
),
'UpdateVersion' => array(
'type' => 'numeric',
),
'State' => array(
'type' => 'string',
),
'PendingDeletion' => array(
'type' => 'boolean',
),
),
),
),
),
),
),
'DescribeSynonymOptionsResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Synonyms' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Options' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'object',
'properties' => array(
'CreationDate' => array(
'type' => 'string',
),
'UpdateDate' => array(
'type' => 'string',
),
'UpdateVersion' => array(
'type' => 'numeric',
),
'State' => array(
'type' => 'string',
),
'PendingDeletion' => array(
'type' => 'boolean',
),
),
),
),
),
),
),
'IndexDocumentsResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'FieldNames' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'FieldName',
'type' => 'string',
'sentAs' => 'member',
),
),
),
),
'UpdateDefaultSearchFieldResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'DefaultSearchField' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Options' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'object',
'properties' => array(
'CreationDate' => array(
'type' => 'string',
),
'UpdateDate' => array(
'type' => 'string',
),
'UpdateVersion' => array(
'type' => 'numeric',
),
'State' => array(
'type' => 'string',
),
'PendingDeletion' => array(
'type' => 'boolean',
),
),
),
),
),
),
),
'UpdateServiceAccessPoliciesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'AccessPolicies' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Options' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'object',
'properties' => array(
'CreationDate' => array(
'type' => 'string',
),
'UpdateDate' => array(
'type' => 'string',
),
'UpdateVersion' => array(
'type' => 'numeric',
),
'State' => array(
'type' => 'string',
),
'PendingDeletion' => array(
'type' => 'boolean',
),
),
),
),
),
),
),
'UpdateStemmingOptionsResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Stems' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Options' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'object',
'properties' => array(
'CreationDate' => array(
'type' => 'string',
),
'UpdateDate' => array(
'type' => 'string',
),
'UpdateVersion' => array(
'type' => 'numeric',
),
'State' => array(
'type' => 'string',
),
'PendingDeletion' => array(
'type' => 'boolean',
),
),
),
),
),
),
),
'UpdateStopwordOptionsResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Stopwords' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Options' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'object',
'properties' => array(
'CreationDate' => array(
'type' => 'string',
),
'UpdateDate' => array(
'type' => 'string',
),
'UpdateVersion' => array(
'type' => 'numeric',
),
'State' => array(
'type' => 'string',
),
'PendingDeletion' => array(
'type' => 'boolean',
),
),
),
),
),
),
),
'UpdateSynonymOptionsResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Synonyms' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Options' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'object',
'properties' => array(
'CreationDate' => array(
'type' => 'string',
),
'UpdateDate' => array(
'type' => 'string',
),
'UpdateVersion' => array(
'type' => 'numeric',
),
'State' => array(
'type' => 'string',
),
'PendingDeletion' => array(
'type' => 'boolean',
),
),
),
),
),
),
),
),
'iterators' => array(
'operations' => array(
'DescribeDomains' => array(
'result_key' => 'DomainStatusList',
),
'DescribeIndexFields' => array(
'result_key' => 'IndexFields',
),
'DescribeRankExpressions' => array(
'result_key' => 'RankExpressions',
),
),
),
);
sdk-2.5.2/Aws/CloudTrail/CloudTrailClient.php 0000644 115327001610067500000005301 12272324172 016113 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/cloudtrail-%s.php'
))
->setExceptionParser(new JsonQueryExceptionParser())
->build();
}
}
sdk-2.5.2/Aws/CloudTrail/LogFileIterator.php 0000644 115327001610067500000026073 12272324172 015756 0 ustar describeTrails(array(
'trailNameList' => array($trailName),
));
$s3BucketName = $result->getPath('trailList/0/S3BucketName');
$options[self::KEY_PREFIX] = $result->getPath('trailList/0/S3KeyPrefix');
} catch (CloudTrailException $e) {
// There was an error describing the trail
}
// If the bucket name is still unknown, then throw an exception
if (!$s3BucketName) {
$prev = isset($e) ? $e : null;
throw new InvalidArgumentException('The bucket name could not be determined from the trail.', 0, $prev);
}
return new self($s3Client, $s3BucketName, $options);
}
/**
* Constructs a LogFileIterator using the specified options:
*
* - trail_name: The name of the trail that is generating our logs. If none is provided, then "Default" will be
* used, since that is the name of the trail created in the AWS Management Console.
* - key_prefix: The S3 key prefix of your log files. This value will be overwritten when using the `fromTrail()`
* method. However, if you are using the constructor, then this value will be used.
* - start_date: The timestamp of the beginning of date range of the log records you want to read. You can pass this
* in as a `DateTime` object, integer (unix timestamp), or a string compatible with `strtotime()`.
* - end_date: The timestamp of the end of date range of the log records you want to read. You can pass this in as
* a `DateTime` object, integer (unix timestamp), or a string compatible with `strtotime()`.
* - account_id: This is your AWS account ID, which is the 12-digit number found on the *Account Identifiers*
* section of the *AWS Security Credentials* page. See https://console.aws.amazon.com/iam/home?#security_credential
* - log_region: The region of the services of the log records you want to read.
*
* @param S3Client $s3Client
* @param string $s3BucketName
* @param array $options
*/
public function __construct(S3Client $s3Client, $s3BucketName, array $options = array())
{
$this->s3Client = $s3Client;
$this->s3BucketName = $s3BucketName;
parent::__construct($this->buildListObjectsIterator($options));
}
/**
* An override of the typical current behavior of \IteratorIterator to format the output such that the bucket and
* key are returned in an array
*
* @return array|bool
*/
public function current()
{
if ($object = parent::current()) {
return array(
'Bucket' => $this->s3BucketName,
'Key' => $object['Key']
);
}
return false;
}
/**
* Constructs an S3 ListObjects iterator, optionally decorated with FilterIterators, based on the provided options
*
* @param array $options
*
* @return \Iterator
*/
private function buildListObjectsIterator(array $options)
{
// Extract and normalize the date values from the options
$startDate = isset($options[self::START_DATE]) ? $this->normalizeDateValue($options[self::START_DATE]) : null;
$endDate = isset($options[self::END_DATE]) ? $this->normalizeDateValue($options[self::END_DATE]) : null;
// Determine the parts of the key prefix of the log files being read
$keyPrefixParts = array(
'prefix' => isset($options[self::KEY_PREFIX]) ? $options[self::KEY_PREFIX] : null,
'account' => isset($options[self::ACCOUNT_ID]) ? $options[self::ACCOUNT_ID] : self::PREFIX_WILDCARD,
'region' => isset($options[self::LOG_REGION]) ? $options[self::LOG_REGION] : self::PREFIX_WILDCARD,
'date' => $this->determineDateForPrefix($startDate, $endDate),
);
// Determine the longest key prefix that can be used to retrieve all of the relevant log files
$candidatePrefix = ltrim(strtr(self::PREFIX_TEMPLATE, $keyPrefixParts), '/');
$logKeyPrefix = $candidatePrefix;
if (($index = strpos($candidatePrefix, self::PREFIX_WILDCARD)) !== false) {
$logKeyPrefix = substr($candidatePrefix, 0, $index);
}
// Create an iterator that will emit all of the objects matching the key prefix
$objectsIterator = $this->s3Client->getListObjectsIterator(array(
'Bucket' => $this->s3BucketName,
'Prefix' => $logKeyPrefix,
));
// Apply regex and/or date filters to the objects iterator to emit only log files matching the options
$objectsIterator = $this->applyRegexFilter($objectsIterator, $logKeyPrefix, $candidatePrefix);
$objectsIterator = $this->applyDateFilter($objectsIterator, $startDate, $endDate);
return $objectsIterator;
}
/**
* Normalizes a date value to a unix timestamp
*
* @param string|\DateTime|int $date
*
* @return int
* @throws \InvalidArgumentException if the value cannot be converted to a timestamp
*/
private function normalizeDateValue($date)
{
// Normalize start date to a unix timestamp
if (is_string($date)) {
$date = strtotime($date);
} elseif ($date instanceof \DateTime) {
$date = $date->format('U');
} elseif (!is_int($date)) {
throw new \InvalidArgumentException('Date values must be a string, an int, or a DateTime object.');
}
return $date;
}
/**
* Uses the provided date values to determine the date portion of the prefix
*/
private function determineDateForPrefix($startDate, $endDate)
{
// The default date value should look like "*/*/*" after joining
$dateParts = array_fill_keys(array('Y', 'm', 'd'), self::PREFIX_WILDCARD);
// Narrow down the date by replacing the WILDCARDs with values if they are the same for the start and end date
if ($startDate && $endDate) {
foreach ($dateParts as $key => &$value) {
$candidateValue = date($key, $startDate);
if ($candidateValue === date($key, $endDate)) {
$value = $candidateValue;
} else {
break;
}
}
}
return join('/', $dateParts);
}
/**
* Applies a regex iterator filter that limits the ListObjects result set based on the provided options
*
* @param \Iterator $objectsIterator
* @param string $logKeyPrefix
* @param string $candidatePrefix
*
* @return \Iterator
*/
private function applyRegexFilter($objectsIterator, $logKeyPrefix, $candidatePrefix)
{
// If the prefix and candidate prefix are not the same, then there were WILDCARDs
if ($logKeyPrefix !== $candidatePrefix) {
// Turn the candidate prefix into a regex by trimming and converting WILDCARDs to regex notation
$regex = rtrim($candidatePrefix, '/' . self::PREFIX_WILDCARD) . '/';
$regex = strtr($regex, array(self::PREFIX_WILDCARD => '[^/]+'));
// After trimming WILDCARDs or the end, if the regex is the same as the prefix, then no regex is needed
if ($logKeyPrefix !== $regex) {
// Apply a regex filter iterator to remove files that don't match the provided options
$objectsIterator = new FilterIterator($objectsIterator, function ($object) use ($regex) {
return preg_match("#{$regex}#", $object['Key']);
});
}
}
return $objectsIterator;
}
/**
* Applies an iterator filter to restrict the ListObjects result set to the specified date range
*
* @param \Iterator $objectsIterator
* @param int $startDate
* @param int $endDate
*
* @return \Iterator
*/
private function applyDateFilter($objectsIterator, $startDate, $endDate)
{
// If either a start or end date was provided, filter out dates that don't match the date range
if ($startDate || $endDate) {
$objectsIterator = new FilterIterator($objectsIterator, function ($object) use ($startDate, $endDate) {
if (preg_match('/[0-9]{8}T[0-9]{4}Z/', $object['Key'], $matches)) {
$date = strtotime($matches[0]);
if ((!$startDate || $date >= $startDate) && (!$endDate || $date <= $endDate)) {
return true;
}
}
return false;
});
}
return $objectsIterator;
}
}
sdk-2.5.2/Aws/CloudTrail/LogFileReader.php 0000644 115327001610067500000003404 12272324172 015360 0 ustar s3Client = $s3Client;
}
/**
* Downloads, unzips, and reads a CloudTrail log file from Amazon S3
*
* @param string $s3BucketName The bucket name of the log file in Amazon S3
* @param string $logFileKey The key of the log file in Amazon S3
*
* @return array
*/
public function read($s3BucketName, $logFileKey)
{
// Create a command for getting the log file object
$command = $this->s3Client->getCommand('GetObject', array(
'Bucket' => (string) $s3BucketName,
'Key' => (string) $logFileKey,
));
// Make sure gzip encoding header is sent and accepted in order to inflate the response data
$command->set('ResponseContentEncoding', 'x-gzip');
$command->prepare()->addHeader('Accept-Encoding', 'gzip');
// Get the JSON response data and extract the log records
$command->execute();
$logData = $command->getResponse()->json();
if (isset($logData['Records'])) {
return $logData['Records'];
} else {
return array();
}
}
}
sdk-2.5.2/Aws/CloudTrail/LogRecordIterator.php 0000644 115327001610067500000012655 12272324172 016316 0 ustar $s3BucketName,
'Key' => $s3ObjectKey,
)));
return new self($logFileReader, $logFileIterator);
}
/**
* @param LogFileReader $logFileReader
* @param \Iterator $logFileIterator
*/
public function __construct(LogFileReader $logFileReader, \Iterator $logFileIterator)
{
$this->logFileReader = $logFileReader;
$this->logFileIterator = $logFileIterator;
$this->records = array();
$this->recordIndex = 0;
}
/**
* Returns the current log record as a Guzzle Collection object. This object behaves like an associative array
* except that it returns `null` on non-existent keys instead of causing an error. See the linked resources for the
* schema of the log record data and how to work with Guzzle Collections.
*
* @return Collection
* @link http://docs.aws.amazon.com/awscloudtrail/latest/userguide/eventreference.html
* @link http://api.guzzlephp.org/class-Guzzle.Common.Collection.html
*/
public function current()
{
if ($this->valid()) {
return new Collection($this->records[$this->recordIndex]);
} else {
return false;
}
}
public function next()
{
$this->recordIndex++;
// If all the records have been exhausted, get more records from the next log file
while (!$this->valid()) {
$this->logFileIterator->next();
$success = $this->loadRecordsFromCurrentLogFile();
if (!$success) {
// The objects iterator is exhausted as well, so stop trying
break;
}
}
}
public function key()
{
if ($logFile = $this->logFileIterator->current()) {
return $logFile['Key'] . '.' . $this->recordIndex;
} else {
return null;
}
}
public function valid()
{
return isset($this->records[$this->recordIndex]);
}
public function rewind()
{
$this->logFileIterator->rewind();
$this->loadRecordsFromCurrentLogFile();
}
public function getInnerIterator()
{
return $this->logFileIterator;
}
/**
* Examines the current file in the `logFileIterator` and attempts to read it and load log records from it using
* the `logFileReader`. This method expects that items pulled from the iterator will take the form:
*
* array(
* 'Bucket' => '...',
* 'Key' => '...',
* )
*
* @return bool Returns `true` if records were loaded and `false` if no records were found
*/
private function loadRecordsFromCurrentLogFile()
{
$this->recordIndex = 0;
$this->records = array();
$logFile = $this->logFileIterator->current();
if ($logFile && isset($logFile['Bucket']) && isset($logFile['Key'])) {
$this->records = $this->logFileReader->read($logFile['Bucket'], $logFile['Key']);
}
return (bool) $logFile;
}
}
sdk-2.5.2/Aws/CloudTrail/Exception/CloudTrailException.php 0000644 115327001610067500000001422 12272324172 020571 0 ustar '2013-11-01',
'endpointPrefix' => 'cloudtrail',
'serviceFullName' => 'AWS CloudTrail',
'serviceAbbreviation' => 'CloudTrail',
'serviceType' => 'json',
'jsonVersion' => '1.1',
'targetPrefix' => 'com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.',
'signatureVersion' => 'v4',
'namespace' => 'CloudTrail',
'regions' => array(
'us-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'cloudtrail.us-east-1.amazonaws.com',
),
'us-west-2' => array(
'http' => false,
'https' => true,
'hostname' => 'cloudtrail.us-west-2.amazonaws.com',
),
),
'operations' => array(
'CreateTrail' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'CreateTrailResponse',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.CreateTrail',
),
'Name' => array(
'type' => 'string',
'location' => 'json',
),
'S3BucketName' => array(
'type' => 'string',
'location' => 'json',
),
'S3KeyPrefix' => array(
'type' => 'string',
'location' => 'json',
),
'SnsTopicName' => array(
'type' => 'string',
'location' => 'json',
),
'IncludeGlobalServiceEvents' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'trail' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'S3BucketName' => array(
'type' => 'string',
),
'S3KeyPrefix' => array(
'type' => 'string',
),
'SnsTopicName' => array(
'type' => 'string',
),
'IncludeGlobalServiceEvents' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'This exception is thrown when the maximum number of trails is reached.',
'class' => 'MaximumNumberOfTrailsExceededException',
),
array(
'reason' => 'This exception is thrown when the specified trail already exists.',
'class' => 'TrailAlreadyExistsException',
),
array(
'reason' => 'This exception is thrown when the specified S3 bucket does not exist.',
'class' => 'S3BucketDoesNotExistException',
),
array(
'reason' => 'This exception is thrown when the policy on the S3 bucket is not sufficient.',
'class' => 'InsufficientS3BucketPolicyException',
),
array(
'reason' => 'This exception is thrown when the policy on the SNS topic is not sufficient.',
'class' => 'InsufficientSnsTopicPolicyException',
),
array(
'reason' => 'This exception is thrown when the provided S3 bucket name is not valid.',
'class' => 'InvalidS3BucketNameException',
),
array(
'reason' => 'This exception is thrown when the provided S3 prefix is not valid.',
'class' => 'InvalidS3PrefixException',
),
array(
'reason' => 'This exception is thrown when the provided SNS topic name is not valid.',
'class' => 'InvalidSnsTopicNameException',
),
array(
'reason' => 'This exception is thrown when the provided trail name is not valid.',
'class' => 'InvalidTrailNameException',
),
array(
'reason' => 'This exception is thrown when no trail is provided.',
'class' => 'TrailNotProvidedException',
),
),
),
'DeleteTrail' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.DeleteTrail',
),
'Name' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'This exception is thrown when the trail with the given name is not found.',
'class' => 'TrailNotFoundException',
),
array(
'reason' => 'This exception is thrown when the provided trail name is not valid.',
'class' => 'InvalidTrailNameException',
),
),
),
'DescribeTrails' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeTrailsResponse',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.DescribeTrails',
),
'trailNameList' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
),
'GetTrailStatus' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'GetTrailStatusResponse',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.GetTrailStatus',
),
'Name' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'This exception is thrown when the trail with the given name is not found.',
'class' => 'TrailNotFoundException',
),
array(
'reason' => 'This exception is thrown when the provided trail name is not valid.',
'class' => 'InvalidTrailNameException',
),
),
),
'StartLogging' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.StartLogging',
),
'Name' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'This exception is thrown when the trail with the given name is not found.',
'class' => 'TrailNotFoundException',
),
array(
'reason' => 'This exception is thrown when the provided trail name is not valid.',
'class' => 'InvalidTrailNameException',
),
),
),
'StopLogging' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.StopLogging',
),
'Name' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'This exception is thrown when the trail with the given name is not found.',
'class' => 'TrailNotFoundException',
),
array(
'reason' => 'This exception is thrown when the provided trail name is not valid.',
'class' => 'InvalidTrailNameException',
),
),
),
'UpdateTrail' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'UpdateTrailResponse',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.UpdateTrail',
),
'Name' => array(
'type' => 'string',
'location' => 'json',
),
'S3BucketName' => array(
'type' => 'string',
'location' => 'json',
),
'S3KeyPrefix' => array(
'type' => 'string',
'location' => 'json',
),
'SnsTopicName' => array(
'type' => 'string',
'location' => 'json',
),
'IncludeGlobalServiceEvents' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'trail' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'S3BucketName' => array(
'type' => 'string',
),
'S3KeyPrefix' => array(
'type' => 'string',
),
'SnsTopicName' => array(
'type' => 'string',
),
'IncludeGlobalServiceEvents' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'This exception is thrown when the specified S3 bucket does not exist.',
'class' => 'S3BucketDoesNotExistException',
),
array(
'reason' => 'This exception is thrown when the policy on the S3 bucket is not sufficient.',
'class' => 'InsufficientS3BucketPolicyException',
),
array(
'reason' => 'This exception is thrown when the policy on the SNS topic is not sufficient.',
'class' => 'InsufficientSnsTopicPolicyException',
),
array(
'reason' => 'This exception is thrown when the trail with the given name is not found.',
'class' => 'TrailNotFoundException',
),
array(
'reason' => 'This exception is thrown when the provided S3 bucket name is not valid.',
'class' => 'InvalidS3BucketNameException',
),
array(
'reason' => 'This exception is thrown when the provided S3 prefix is not valid.',
'class' => 'InvalidS3PrefixException',
),
array(
'reason' => 'This exception is thrown when the provided SNS topic name is not valid.',
'class' => 'InvalidSnsTopicNameException',
),
array(
'reason' => 'This exception is thrown when the provided trail name is not valid.',
'class' => 'InvalidTrailNameException',
),
array(
'reason' => 'This exception is thrown when no trail is provided.',
'class' => 'TrailNotProvidedException',
),
),
),
),
'models' => array(
'CreateTrailResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Name' => array(
'type' => 'string',
'location' => 'json',
),
'S3BucketName' => array(
'type' => 'string',
'location' => 'json',
),
'S3KeyPrefix' => array(
'type' => 'string',
'location' => 'json',
),
'SnsTopicName' => array(
'type' => 'string',
'location' => 'json',
),
'IncludeGlobalServiceEvents' => array(
'type' => 'boolean',
'location' => 'json',
),
'trail' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'S3BucketName' => array(
'type' => 'string',
),
'S3KeyPrefix' => array(
'type' => 'string',
),
'SnsTopicName' => array(
'type' => 'string',
),
'IncludeGlobalServiceEvents' => array(
'type' => 'boolean',
),
),
),
),
),
'EmptyOutput' => array(
'type' => 'object',
'additionalProperties' => true,
),
'DescribeTrailsResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'trailList' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'Trail',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'S3BucketName' => array(
'type' => 'string',
),
'S3KeyPrefix' => array(
'type' => 'string',
),
'SnsTopicName' => array(
'type' => 'string',
),
'IncludeGlobalServiceEvents' => array(
'type' => 'boolean',
),
),
),
),
),
),
'GetTrailStatusResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'IsLogging' => array(
'type' => 'boolean',
'location' => 'json',
),
'LatestDeliveryError' => array(
'type' => 'string',
'location' => 'json',
),
'LatestNotificationError' => array(
'type' => 'string',
'location' => 'json',
),
'LatestDeliveryTime' => array(
'type' => 'string',
'location' => 'json',
),
'LatestNotificationTime' => array(
'type' => 'string',
'location' => 'json',
),
'StartLoggingTime' => array(
'type' => 'string',
'location' => 'json',
),
'StopLoggingTime' => array(
'type' => 'string',
'location' => 'json',
),
'LatestDeliveryAttemptTime' => array(
'type' => 'string',
'location' => 'json',
),
'LatestNotificationAttemptTime' => array(
'type' => 'string',
'location' => 'json',
),
'LatestNotificationAttemptSucceeded' => array(
'type' => 'string',
'location' => 'json',
),
'LatestDeliveryAttemptSucceeded' => array(
'type' => 'string',
'location' => 'json',
),
'TimeLoggingStarted' => array(
'type' => 'string',
'location' => 'json',
),
'TimeLoggingStopped' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'UpdateTrailResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Name' => array(
'type' => 'string',
'location' => 'json',
),
'S3BucketName' => array(
'type' => 'string',
'location' => 'json',
),
'S3KeyPrefix' => array(
'type' => 'string',
'location' => 'json',
),
'SnsTopicName' => array(
'type' => 'string',
'location' => 'json',
),
'IncludeGlobalServiceEvents' => array(
'type' => 'boolean',
'location' => 'json',
),
'trail' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'S3BucketName' => array(
'type' => 'string',
),
'S3KeyPrefix' => array(
'type' => 'string',
),
'SnsTopicName' => array(
'type' => 'string',
),
'IncludeGlobalServiceEvents' => array(
'type' => 'boolean',
),
),
),
),
),
),
'iterators' => array(
'operations' => array(
'DescribeTrails' => array(
'result_key' => 'trailList',
),
),
),
);
sdk-2.5.2/Aws/CloudWatch/CloudWatchClient.php 0000644 115327001610067500000007041 12272324172 016104 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/cloudwatch-%s.php'
))
->build();
}
}
sdk-2.5.2/Aws/CloudWatch/Enum/ComparisonOperator.php 0000644 115327001610067500000001763 12272324172 017447 0 ustar '2010-08-01',
'endpointPrefix' => 'monitoring',
'serviceFullName' => 'Amazon CloudWatch',
'serviceAbbreviation' => 'CloudWatch',
'serviceType' => 'query',
'resultWrapped' => true,
'signatureVersion' => 'v4',
'namespace' => 'CloudWatch',
'regions' => array(
'us-east-1' => array(
'http' => true,
'https' => true,
'hostname' => 'monitoring.us-east-1.amazonaws.com',
),
'us-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'monitoring.us-west-1.amazonaws.com',
),
'us-west-2' => array(
'http' => true,
'https' => true,
'hostname' => 'monitoring.us-west-2.amazonaws.com',
),
'eu-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'monitoring.eu-west-1.amazonaws.com',
),
'ap-northeast-1' => array(
'http' => true,
'https' => true,
'hostname' => 'monitoring.ap-northeast-1.amazonaws.com',
),
'ap-southeast-1' => array(
'http' => true,
'https' => true,
'hostname' => 'monitoring.ap-southeast-1.amazonaws.com',
),
'ap-southeast-2' => array(
'http' => true,
'https' => true,
'hostname' => 'monitoring.ap-southeast-2.amazonaws.com',
),
'sa-east-1' => array(
'http' => true,
'https' => true,
'hostname' => 'monitoring.sa-east-1.amazonaws.com',
),
'cn-north-1' => array(
'http' => true,
'https' => true,
'hostname' => 'monitoring.cn-north-1.amazonaws.com.cn',
),
'us-gov-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'monitoring.us-gov-west-1.amazonaws.com',
),
),
'operations' => array(
'DeleteAlarms' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteAlarms',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-08-01',
),
'AlarmNames' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'AlarmNames.member',
'maxItems' => 100,
'items' => array(
'name' => 'AlarmName',
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
),
),
'errorResponses' => array(
array(
'reason' => 'The named resource does not exist.',
'class' => 'ResourceNotFoundException',
),
),
),
'DescribeAlarmHistory' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeAlarmHistoryOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeAlarmHistory',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-08-01',
),
'AlarmName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'HistoryItemType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'StartDate' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
'location' => 'aws.query',
),
'EndDate' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
'maximum' => 100,
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The next token specified is invalid.',
'class' => 'InvalidNextTokenException',
),
),
),
'DescribeAlarms' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeAlarmsOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeAlarms',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-08-01',
),
'AlarmNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'AlarmNames.member',
'maxItems' => 100,
'items' => array(
'name' => 'AlarmName',
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
),
'AlarmNamePrefix' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'StateValue' => array(
'type' => 'string',
'location' => 'aws.query',
),
'ActionPrefix' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 1024,
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
'maximum' => 100,
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The next token specified is invalid.',
'class' => 'InvalidNextTokenException',
),
),
),
'DescribeAlarmsForMetric' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeAlarmsForMetricOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeAlarmsForMetric',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-08-01',
),
'MetricName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'Namespace' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'Statistic' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Dimensions' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Dimensions.member',
'maxItems' => 10,
'items' => array(
'name' => 'Dimension',
'type' => 'object',
'properties' => array(
'Name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
'Value' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
),
),
),
'Period' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 60,
),
'Unit' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DisableAlarmActions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DisableAlarmActions',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-08-01',
),
'AlarmNames' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'AlarmNames.member',
'maxItems' => 100,
'items' => array(
'name' => 'AlarmName',
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
),
),
),
'EnableAlarmActions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'EnableAlarmActions',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-08-01',
),
'AlarmNames' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'AlarmNames.member',
'maxItems' => 100,
'items' => array(
'name' => 'AlarmName',
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
),
),
),
'GetMetricStatistics' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetMetricStatisticsOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetMetricStatistics',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-08-01',
),
'Namespace' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'MetricName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'Dimensions' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Dimensions.member',
'maxItems' => 10,
'items' => array(
'name' => 'Dimension',
'type' => 'object',
'properties' => array(
'Name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
'Value' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
),
),
),
'StartTime' => array(
'required' => true,
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
'location' => 'aws.query',
),
'EndTime' => array(
'required' => true,
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
'location' => 'aws.query',
),
'Period' => array(
'required' => true,
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 60,
),
'Statistics' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Statistics.member',
'minItems' => 1,
'maxItems' => 5,
'items' => array(
'name' => 'Statistic',
'type' => 'string',
),
),
'Unit' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Bad or out-of-range value was supplied for the input parameter.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'An input parameter that is mandatory for processing the request is not supplied.',
'class' => 'MissingRequiredParameterException',
),
array(
'reason' => 'Parameters that must not be used together were used together.',
'class' => 'InvalidParameterCombinationException',
),
array(
'reason' => 'Indicates that the request processing has failed due to some unknown error, exception, or failure.',
'class' => 'InternalServiceException',
),
),
),
'ListMetrics' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListMetricsOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListMetrics',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-08-01',
),
'Namespace' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'MetricName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'Dimensions' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Dimensions.member',
'maxItems' => 10,
'items' => array(
'name' => 'DimensionFilter',
'type' => 'object',
'properties' => array(
'Name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
'Value' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that the request processing has failed due to some unknown error, exception, or failure.',
'class' => 'InternalServiceException',
),
array(
'reason' => 'Bad or out-of-range value was supplied for the input parameter.',
'class' => 'InvalidParameterValueException',
),
),
),
'PutMetricAlarm' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'PutMetricAlarm',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-08-01',
),
'AlarmName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'AlarmDescription' => array(
'type' => 'string',
'location' => 'aws.query',
'maxLength' => 255,
),
'ActionsEnabled' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'OKActions' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'OKActions.member',
'maxItems' => 5,
'items' => array(
'name' => 'ResourceName',
'type' => 'string',
'minLength' => 1,
'maxLength' => 1024,
),
),
'AlarmActions' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'AlarmActions.member',
'maxItems' => 5,
'items' => array(
'name' => 'ResourceName',
'type' => 'string',
'minLength' => 1,
'maxLength' => 1024,
),
),
'InsufficientDataActions' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'InsufficientDataActions.member',
'maxItems' => 5,
'items' => array(
'name' => 'ResourceName',
'type' => 'string',
'minLength' => 1,
'maxLength' => 1024,
),
),
'MetricName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'Namespace' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'Statistic' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Dimensions' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Dimensions.member',
'maxItems' => 10,
'items' => array(
'name' => 'Dimension',
'type' => 'object',
'properties' => array(
'Name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
'Value' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
),
),
),
'Period' => array(
'required' => true,
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 60,
),
'Unit' => array(
'type' => 'string',
'location' => 'aws.query',
),
'EvaluationPeriods' => array(
'required' => true,
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
),
'Threshold' => array(
'required' => true,
'type' => 'numeric',
'location' => 'aws.query',
),
'ComparisonOperator' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The quota for alarms for this customer has already been reached.',
'class' => 'LimitExceededException',
),
),
),
'PutMetricData' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'PutMetricData',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-08-01',
),
'Namespace' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'MetricData' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'MetricData.member',
'items' => array(
'name' => 'MetricDatum',
'type' => 'object',
'properties' => array(
'MetricName' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
'Dimensions' => array(
'type' => 'array',
'sentAs' => 'Dimensions.member',
'maxItems' => 10,
'items' => array(
'name' => 'Dimension',
'type' => 'object',
'properties' => array(
'Name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
'Value' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
),
),
),
'Timestamp' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
),
'Value' => array(
'type' => 'numeric',
),
'StatisticValues' => array(
'type' => 'object',
'properties' => array(
'SampleCount' => array(
'required' => true,
'type' => 'numeric',
),
'Sum' => array(
'required' => true,
'type' => 'numeric',
),
'Minimum' => array(
'required' => true,
'type' => 'numeric',
),
'Maximum' => array(
'required' => true,
'type' => 'numeric',
),
),
),
'Unit' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Bad or out-of-range value was supplied for the input parameter.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'An input parameter that is mandatory for processing the request is not supplied.',
'class' => 'MissingRequiredParameterException',
),
array(
'reason' => 'Parameters that must not be used together were used together.',
'class' => 'InvalidParameterCombinationException',
),
array(
'reason' => 'Indicates that the request processing has failed due to some unknown error, exception, or failure.',
'class' => 'InternalServiceException',
),
),
),
'SetAlarmState' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'SetAlarmState',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-08-01',
),
'AlarmName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 255,
),
'StateValue' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'StateReason' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'maxLength' => 1023,
),
'StateReasonData' => array(
'type' => 'string',
'location' => 'aws.query',
'maxLength' => 4000,
),
),
'errorResponses' => array(
array(
'reason' => 'The named resource does not exist.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'Data was not syntactically valid JSON.',
'class' => 'InvalidFormatException',
),
),
),
),
'models' => array(
'EmptyOutput' => array(
'type' => 'object',
'additionalProperties' => true,
),
'DescribeAlarmHistoryOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'AlarmHistoryItems' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'AlarmHistoryItem',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'AlarmName' => array(
'type' => 'string',
),
'Timestamp' => array(
'type' => 'string',
),
'HistoryItemType' => array(
'type' => 'string',
),
'HistorySummary' => array(
'type' => 'string',
),
'HistoryData' => array(
'type' => 'string',
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'DescribeAlarmsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'MetricAlarms' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'MetricAlarm',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'AlarmName' => array(
'type' => 'string',
),
'AlarmArn' => array(
'type' => 'string',
),
'AlarmDescription' => array(
'type' => 'string',
),
'AlarmConfigurationUpdatedTimestamp' => array(
'type' => 'string',
),
'ActionsEnabled' => array(
'type' => 'boolean',
),
'OKActions' => array(
'type' => 'array',
'items' => array(
'name' => 'ResourceName',
'type' => 'string',
'sentAs' => 'member',
),
),
'AlarmActions' => array(
'type' => 'array',
'items' => array(
'name' => 'ResourceName',
'type' => 'string',
'sentAs' => 'member',
),
),
'InsufficientDataActions' => array(
'type' => 'array',
'items' => array(
'name' => 'ResourceName',
'type' => 'string',
'sentAs' => 'member',
),
),
'StateValue' => array(
'type' => 'string',
),
'StateReason' => array(
'type' => 'string',
),
'StateReasonData' => array(
'type' => 'string',
),
'StateUpdatedTimestamp' => array(
'type' => 'string',
),
'MetricName' => array(
'type' => 'string',
),
'Namespace' => array(
'type' => 'string',
),
'Statistic' => array(
'type' => 'string',
),
'Dimensions' => array(
'type' => 'array',
'items' => array(
'name' => 'Dimension',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
'Period' => array(
'type' => 'numeric',
),
'Unit' => array(
'type' => 'string',
),
'EvaluationPeriods' => array(
'type' => 'numeric',
),
'Threshold' => array(
'type' => 'numeric',
),
'ComparisonOperator' => array(
'type' => 'string',
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'DescribeAlarmsForMetricOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'MetricAlarms' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'MetricAlarm',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'AlarmName' => array(
'type' => 'string',
),
'AlarmArn' => array(
'type' => 'string',
),
'AlarmDescription' => array(
'type' => 'string',
),
'AlarmConfigurationUpdatedTimestamp' => array(
'type' => 'string',
),
'ActionsEnabled' => array(
'type' => 'boolean',
),
'OKActions' => array(
'type' => 'array',
'items' => array(
'name' => 'ResourceName',
'type' => 'string',
'sentAs' => 'member',
),
),
'AlarmActions' => array(
'type' => 'array',
'items' => array(
'name' => 'ResourceName',
'type' => 'string',
'sentAs' => 'member',
),
),
'InsufficientDataActions' => array(
'type' => 'array',
'items' => array(
'name' => 'ResourceName',
'type' => 'string',
'sentAs' => 'member',
),
),
'StateValue' => array(
'type' => 'string',
),
'StateReason' => array(
'type' => 'string',
),
'StateReasonData' => array(
'type' => 'string',
),
'StateUpdatedTimestamp' => array(
'type' => 'string',
),
'MetricName' => array(
'type' => 'string',
),
'Namespace' => array(
'type' => 'string',
),
'Statistic' => array(
'type' => 'string',
),
'Dimensions' => array(
'type' => 'array',
'items' => array(
'name' => 'Dimension',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
'Period' => array(
'type' => 'numeric',
),
'Unit' => array(
'type' => 'string',
),
'EvaluationPeriods' => array(
'type' => 'numeric',
),
'Threshold' => array(
'type' => 'numeric',
),
'ComparisonOperator' => array(
'type' => 'string',
),
),
),
),
),
),
'GetMetricStatisticsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Label' => array(
'type' => 'string',
'location' => 'xml',
),
'Datapoints' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Datapoint',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Timestamp' => array(
'type' => 'string',
),
'SampleCount' => array(
'type' => 'numeric',
),
'Average' => array(
'type' => 'numeric',
),
'Sum' => array(
'type' => 'numeric',
),
'Minimum' => array(
'type' => 'numeric',
),
'Maximum' => array(
'type' => 'numeric',
),
'Unit' => array(
'type' => 'string',
),
),
),
),
),
),
'ListMetricsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Metrics' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Metric',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Namespace' => array(
'type' => 'string',
),
'MetricName' => array(
'type' => 'string',
),
'Dimensions' => array(
'type' => 'array',
'items' => array(
'name' => 'Dimension',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
),
'iterators' => array(
'operations' => array(
'DescribeAlarmHistory' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'limit_key' => 'MaxRecords',
'result_key' => 'AlarmHistoryItems',
),
'DescribeAlarms' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'limit_key' => 'MaxRecords',
'result_key' => 'MetricAlarms',
),
'DescribeAlarmsForMetric' => array(
'result_key' => 'MetricAlarms',
),
'ListMetrics' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'result_key' => 'Metrics',
),
),
),
);
sdk-2.5.2/Aws/Common/Aws.php 0000644 115327001610067500000007126 12272324172 012641 0 ustar addAlias('_aws', self::getDefaultServiceDefinition())
->addAlias('_sdk1', __DIR__ . '/Resources/sdk1-config.php');
return $loader->load($config, $globalParameters);
}
/**
* Get the full path to the default service builder definition file
*
* @return string
*/
public static function getDefaultServiceDefinition()
{
return __DIR__ . '/Resources/aws-config.php';
}
/**
* Returns the configuration for the service builder
*
* @return array
*/
public function getConfig()
{
return $this->builderConfig;
}
/**
* Enables the facades for the clients defined in the service builder
*
* @param string|null $namespace The namespace that the facades should be mounted to. Defaults to global namespace
*
* @return Aws
*/
public function enableFacades($namespace = null)
{
Facade::mountFacades($this, $namespace);
return $this;
}
}
sdk-2.5.2/Aws/Common/Enum.php 0000644 115327001610067500000002621 12272324172 013006 0 ustar getConstants();
}
return self::$cache[$class];
}
}
sdk-2.5.2/Aws/Common/HostNameUtils.php 0000644 115327001610067500000004655 12272324172 014652 0 ustar getHost(), -14) != '.amazonaws.com') {
return self::DEFAULT_REGION;
}
$serviceAndRegion = substr($url->getHost(), 0, -14);
// Special handling for S3 regions
$separator = strpos($serviceAndRegion, 's3') === 0 ? '-' : '.';
$separatorPos = strpos($serviceAndRegion, $separator);
// If don't detect a separator, then return the default region
if ($separatorPos === false) {
return self::DEFAULT_REGION;
}
$region = substr($serviceAndRegion, $separatorPos + 1);
// All GOV regions currently use the default GOV region
if ($region == 'us-gov') {
return self::DEFAULT_GOV_REGION;
}
return $region;
}
/**
* Parse the AWS service name from a URL
*
* @param Url $url HTTP URL
*
* @return string Returns a service name (or empty string)
* @link http://docs.aws.amazon.com/general/latest/gr/rande.html
*/
public static function parseServiceName(Url $url)
{
// The service name is the first part of the host
$parts = explode('.', $url->getHost(), 2);
// Special handling for S3
if (stripos($parts[0], 's3') === 0) {
return 's3';
}
return $parts[0];
}
}
sdk-2.5.2/Aws/Common/Client/AbstractClient.php 0000644 115327001610067500000022440 12272324172 016223 0 ustar get(Options::BASE_URL), $config);
$this->credentials = $credentials;
$this->signature = $signature;
// Make sure the user agent is prefixed by the SDK version
$this->setUserAgent('aws-sdk-php2/' . Aws::VERSION, true);
// Add the event listener so that requests are signed before they are sent
$dispatcher = $this->getEventDispatcher();
$dispatcher->addSubscriber(new SignatureListener($credentials, $signature));
if ($backoff = $config->get(Options::BACKOFF)) {
$dispatcher->addSubscriber($backoff, -255);
}
}
public function __call($method, $args)
{
if (substr($method, 0, 3) === 'get' && substr($method, -8) === 'Iterator') {
// Allow magic method calls for iterators (e.g. $client->getIterator($params))
$commandOptions = isset($args[0]) ? $args[0] : null;
$iteratorOptions = isset($args[1]) ? $args[1] : array();
return $this->getIterator(substr($method, 3, -8), $commandOptions, $iteratorOptions);
} elseif (substr($method, 0, 9) == 'waitUntil') {
// Allow magic method calls for waiters (e.g. $client->waitUntil($params))
return $this->waitUntil(substr($method, 9), isset($args[0]) ? $args[0]: array());
} else {
return parent::__call(ucfirst($method), $args);
}
}
/**
* Get an endpoint for a specific region from a service description
*
* @param ServiceDescriptionInterface $description Service description
* @param string $region Region of the endpoint
* @param string $scheme URL scheme
*
* @return string
* @throws InvalidArgumentException
*/
public static function getEndpoint(ServiceDescriptionInterface $description, $region, $scheme)
{
$service = $description->getData('serviceFullName');
// Lookup the region in the service description
if (!($regions = $description->getData('regions'))) {
throw new InvalidArgumentException("No regions found in the {$service} description");
}
// Ensure that the region exists for the service
if (!isset($regions[$region])) {
throw new InvalidArgumentException("{$region} is not a valid region for {$service}");
}
// Ensure that the scheme is valid
if ($regions[$region][$scheme] == false) {
throw new InvalidArgumentException("{$scheme} is not a valid URI scheme for {$service} in {$region}");
}
return $scheme . '://' . $regions[$region]['hostname'];
}
/**
* {@inheritdoc}
*/
public function getCredentials()
{
return $this->credentials;
}
/**
* {@inheritdoc}
*/
public function setCredentials(CredentialsInterface $credentials)
{
$formerCredentials = $this->credentials;
$this->credentials = $credentials;
// Dispatch an event that the credentials have been changed
$this->dispatch('client.credentials_changed', array(
'credentials' => $credentials,
'former_credentials' => $formerCredentials,
));
return $this;
}
/**
* {@inheritdoc}
*/
public function getSignature()
{
return $this->signature;
}
/**
* {@inheritdoc}
*/
public function getRegions()
{
return $this->serviceDescription->getData('regions');
}
/**
* {@inheritdoc}
*/
public function getRegion()
{
return $this->getConfig(Options::REGION);
}
/**
* {@inheritdoc}
*/
public function setRegion($region)
{
$config = $this->getConfig();
$formerRegion = $config->get(Options::REGION);
$global = $this->serviceDescription->getData('globalEndpoint');
// Only change the region if the service does not have a global endpoint
if (!$global || $this->serviceDescription->getData('namespace') === 'S3') {
$baseUrl = self::getEndpoint($this->serviceDescription, $region, $config->get(Options::SCHEME));
$this->setBaseUrl($baseUrl);
$config->set(Options::BASE_URL, $baseUrl)->set(Options::REGION, $region);
// Update the signature if necessary
$signature = $this->getSignature();
if ($signature instanceof EndpointSignatureInterface) {
/** @var $signature EndpointSignatureInterface */
$signature->setRegionName($region);
}
// Dispatch an event that the region has been changed
$this->dispatch('client.region_changed', array(
'region' => $region,
'former_region' => $formerRegion,
));
}
return $this;
}
/**
* {@inheritdoc}
*/
public function waitUntil($waiter, array $input = array())
{
$this->getWaiter($waiter, $input)->wait();
return $this;
}
/**
* {@inheritdoc}
*/
public function getWaiter($waiter, array $input = array())
{
return $this->getWaiterFactory()->build($waiter)
->setClient($this)
->setConfig($input);
}
/**
* {@inheritdoc}
*/
public function setWaiterFactory(WaiterFactoryInterface $waiterFactory)
{
$this->waiterFactory = $waiterFactory;
return $this;
}
/**
* {@inheritdoc}
*/
public function getWaiterFactory()
{
if (!$this->waiterFactory) {
$clientClass = get_class($this);
// Use a composite factory that checks for classes first, then config waiters
$this->waiterFactory = new CompositeWaiterFactory(array(
new WaiterClassFactory(substr($clientClass, 0, strrpos($clientClass, '\\')) . '\\Waiter')
));
if ($this->getDescription()) {
$waiterConfig = $this->getDescription()->getData('waiters') ?: array();
$this->waiterFactory->addFactory(new WaiterConfigFactory($waiterConfig));
}
}
return $this->waiterFactory;
}
/**
* {@inheritdoc}
*/
public function getApiVersion()
{
return $this->serviceDescription->getApiVersion();
}
/**
* {@inheritdoc}
* @throws \Aws\Common\Exception\TransferException
*/
public function send($requests)
{
try {
return parent::send($requests);
} catch (CurlException $e) {
$wrapped = new TransferException($e->getMessage(), null, $e);
$wrapped->setCurlHandle($e->getCurlHandle())
->setCurlInfo($e->getCurlInfo())
->setError($e->getError(), $e->getErrorNo())
->setRequest($e->getRequest());
throw $wrapped;
}
}
}
sdk-2.5.2/Aws/Common/Client/AwsClientInterface.php 0000644 115327001610067500000006272 12272324172 017040 0 ustar 'https');
/**
* @var array Default client requirements
*/
protected static $commonConfigRequirements = array(Options::SERVICE_DESCRIPTION);
/**
* @var string The namespace of the client
*/
protected $clientNamespace;
/**
* @var array The config options
*/
protected $config = array();
/**
* @var array The config defaults
*/
protected $configDefaults = array();
/**
* @var array The config requirements
*/
protected $configRequirements = array();
/**
* @var ExceptionParserInterface The Parser interface for the client
*/
protected $exceptionParser;
/**
* @var array Array of configuration data for iterators available for the client
*/
protected $iteratorsConfig = array();
/**
* Factory method for creating the client builder
*
* @param string $namespace The namespace of the client
*
* @return ClientBuilder
*/
public static function factory($namespace = null)
{
return new static($namespace);
}
/**
* Constructs a client builder
*
* @param string $namespace The namespace of the client
*/
public function __construct($namespace = null)
{
$this->clientNamespace = $namespace;
}
/**
* Sets the config options
*
* @param array|Collection $config The config options
*
* @return ClientBuilder
*/
public function setConfig($config)
{
$this->config = $this->processArray($config);
return $this;
}
/**
* Sets the config options' defaults
*
* @param array|Collection $defaults The default values
*
* @return ClientBuilder
*/
public function setConfigDefaults($defaults)
{
$this->configDefaults = $this->processArray($defaults);
return $this;
}
/**
* Sets the required config options
*
* @param array|Collection $required The required config options
*
* @return ClientBuilder
*/
public function setConfigRequirements($required)
{
$this->configRequirements = $this->processArray($required);
return $this;
}
/**
* Sets the exception parser. If one is not provided the builder will use
* the default XML exception parser.
*
* @param ExceptionParserInterface $parser The exception parser
*
* @return ClientBuilder
*/
public function setExceptionParser(ExceptionParserInterface $parser)
{
$this->exceptionParser = $parser;
return $this;
}
/**
* Set the configuration for the client's iterators
*
* @param array $config Configuration data for client's iterators
*
* @return ClientBuilder
*/
public function setIteratorsConfig(array $config)
{
$this->iteratorsConfig = $config;
return $this;
}
/**
* Performs the building logic using all of the parameters that have been
* set and falling back to default values. Returns an instantiate service
* client with credentials prepared and plugins attached.
*
* @return AwsClientInterface
* @throws InvalidArgumentException
*/
public function build()
{
// Resolve configuration
$config = Collection::fromConfig(
$this->config,
array_merge(self::$commonConfigDefaults, $this->configDefaults),
(self::$commonConfigRequirements + $this->configRequirements)
);
// Resolve endpoint and signature from the config and service description
$description = $this->updateConfigFromDescription($config);
$signature = $this->getSignature($description, $config);
// Resolve credentials
if (!$credentials = $config->get('credentials')) {
$credentials = Credentials::factory($config);
}
// Resolve exception parser
if (!$this->exceptionParser) {
$this->exceptionParser = new DefaultXmlExceptionParser();
}
// Resolve backoff strategy
$backoff = $config->get(Options::BACKOFF);
if ($backoff === null) {
$backoff = new BackoffPlugin(
// Retry failed requests up to 3 times if it is determined that the request can be retried
new TruncatedBackoffStrategy(3,
// Retry failed requests with 400-level responses due to throttling
new ThrottlingErrorChecker($this->exceptionParser,
// Retry failed requests with 500-level responses
new HttpBackoffStrategy(array(500, 503, 509),
// Retry failed requests due to transient network or cURL problems
new CurlBackoffStrategy(null,
// Retry requests that failed due to expired credentials
new ExpiredCredentialsChecker($this->exceptionParser,
new ExponentialBackoffStrategy()
)
)
)
)
)
);
$config->set(Options::BACKOFF, $backoff);
}
if ($backoff) {
$this->addBackoffLogger($backoff, $config);
}
// Determine service and class name
$clientClass = 'Aws\Common\Client\DefaultClient';
if ($this->clientNamespace) {
$serviceName = substr($this->clientNamespace, strrpos($this->clientNamespace, '\\') + 1);
$clientClass = $this->clientNamespace . '\\' . $serviceName . 'Client';
}
/** @var $client AwsClientInterface */
$client = new $clientClass($credentials, $signature, $config);
$client->setDescription($description);
// Add exception marshaling so that more descriptive exception are thrown
if ($this->clientNamespace) {
$exceptionFactory = new NamespaceExceptionFactory(
$this->exceptionParser,
"{$this->clientNamespace}\\Exception",
"{$this->clientNamespace}\\Exception\\{$serviceName}Exception"
);
$client->addSubscriber(new ExceptionListener($exceptionFactory));
}
// Add the UserAgentPlugin to append to the User-Agent header of requests
$client->addSubscriber(new UserAgentListener());
// Filters used for the cache plugin
$client->getConfig()->set(
'params.cache.key_filter',
'header=date,x-amz-date,x-amz-security-token,x-amzn-authorization'
);
// Set the iterator resource factory based on the provided iterators config
$client->setResourceIteratorFactory(new AwsResourceIteratorFactory(
$this->iteratorsConfig,
new ResourceIteratorClassFactory($this->clientNamespace . '\\Iterator')
));
// Disable parameter validation if needed
if ($config->get(Options::VALIDATION) === false) {
$params = $config->get('command.params') ?: array();
$params['command.disable_validation'] = true;
$config->set('command.params', $params);
}
return $client;
}
/**
* Add backoff logging to the backoff plugin if needed
*
* @param BackoffPlugin $plugin Backoff plugin
* @param Collection $config Configuration settings
*
* @throws InvalidArgumentException
*/
protected function addBackoffLogger(BackoffPlugin $plugin, Collection $config)
{
// The log option can be set to `debug` or an instance of a LogAdapterInterface
if ($logger = $config->get(Options::BACKOFF_LOGGER)) {
$format = $config->get(Options::BACKOFF_LOGGER_TEMPLATE);
if ($logger === 'debug') {
$logger = new ClosureLogAdapter(function ($message) {
trigger_error($message . "\n");
});
} elseif (!($logger instanceof LogAdapterInterface)) {
throw new InvalidArgumentException(
Options::BACKOFF_LOGGER . ' must be set to `debug` or an instance of '
. 'Guzzle\\Common\\Log\\LogAdapterInterface'
);
}
// Create the plugin responsible for logging exponential backoff retries
$logPlugin = new BackoffLogger($logger);
// You can specify a custom format or use the default
if ($format) {
$logPlugin->setTemplate($format);
}
$plugin->addSubscriber($logPlugin);
}
}
/**
* Ensures that an array (e.g. for config data) is actually in array form
*
* @param array|Collection $array The array data
*
* @return array
* @throws InvalidArgumentException if the arg is not an array or Collection
*/
protected function processArray($array)
{
if ($array instanceof Collection) {
$array = $array->getAll();
}
if (!is_array($array)) {
throw new InvalidArgumentException('The config must be provided as an array or Collection.');
}
return $array;
}
/**
* Update a configuration object from a service description
*
* @param Collection $config Config to update
*
* @return ServiceDescription
* @throws InvalidArgumentException
*/
protected function updateConfigFromDescription(Collection $config)
{
$description = $config->get(Options::SERVICE_DESCRIPTION);
if (!($description instanceof ServiceDescription)) {
// Inject the version into the sprintf template if it is a string
if (is_string($description)) {
$description = sprintf($description, $config->get(Options::VERSION));
}
$description = ServiceDescription::factory($description);
$config->set(Options::SERVICE_DESCRIPTION, $description);
}
if (!$config->get(Options::SERVICE)) {
$config->set(Options::SERVICE, $description->getData('endpointPrefix'));
}
if ($iterators = $description->getData('iterators')) {
$this->setIteratorsConfig($iterators);
}
// Ensure that the service description has regions
if (!$description->getData('regions')) {
throw new InvalidArgumentException(
'No regions found in the ' . $description->getData('serviceFullName'). ' description'
);
}
// Make sure a valid region is set
$region = $config->get(Options::REGION);
$global = $description->getData('globalEndpoint');
if (!$global && !$region) {
throw new InvalidArgumentException(
'A region is required when using ' . $description->getData('serviceFullName')
. '. Set "region" to one of: ' . implode(', ', array_keys($description->getData('regions')))
);
} elseif ($global && (!$region || $description->getData('namespace') !== 'S3')) {
$region = Region::US_EAST_1;
$config->set(Options::REGION, $region);
}
if (!$config->get(Options::BASE_URL)) {
// Set the base URL using the scheme and hostname of the service's region
$config->set(Options::BASE_URL, AbstractClient::getEndpoint(
$description,
$region,
$config->get(Options::SCHEME)
));
}
return $description;
}
/**
* Return an appropriate signature object for a a client based on the
* "signature" configuration setting, or the default signature specified in
* a service description. The signature can be set to a valid signature
* version identifier string or an instance of Aws\Common\Signature\SignatureInterface.
*
* @param ServiceDescription $description Description that holds a signature option
* @param Collection $config Configuration options
*
* @return SignatureInterface
* @throws InvalidArgumentException
*/
protected function getSignature(ServiceDescription $description, Collection $config)
{
// If a custom signature has not been provided, then use the default
// signature setting specified in the service description.
$signature = $config->get(Options::SIGNATURE) ?: $description->getData('signatureVersion');
if (is_string($signature)) {
if ($signature == 'v4') {
$signature = new SignatureV4();
} elseif ($signature == 'v2') {
$signature = new SignatureV2();
} elseif ($signature == 'v3https') {
$signature = new SignatureV3Https();
} else {
throw new InvalidArgumentException("Invalid signature type: {$signature}");
}
} elseif (!($signature instanceof SignatureInterface)) {
throw new InvalidArgumentException('The provided signature is not '
. 'a signature version string or an instance of '
. 'Aws\\Common\\Signature\\SignatureInterface');
}
// Allow a custom service name or region value to be provided
if ($signature instanceof EndpointSignatureInterface) {
// Determine the service name to use when signing
$signature->setServiceName($config->get(Options::SIGNATURE_SERVICE)
?: $description->getData('signingName')
?: $description->getData('endpointPrefix'));
// Determine the region to use when signing requests
$signature->setRegionName($config->get(Options::SIGNATURE_REGION) ?: $config->get(Options::REGION));
}
return $signature;
}
}
sdk-2.5.2/Aws/Common/Client/DefaultClient.php 0000644 115327001610067500000006706 12272324172 016053 0 ustar setConfig($config)
->setConfigDefaults(array(Options::SCHEME => 'https'))
->build();
}
}
sdk-2.5.2/Aws/Common/Client/ExpiredCredentialsChecker.php 0000644 115327001610067500000005224 12272324172 020365 0 ustar true,
'ExpiredTokenException' => true,
'ExpiredToken' => true
);
/**
* @var ExceptionParserInterface Exception parser used to parse exception responses
*/
protected $exceptionParser;
public function __construct(ExceptionParserInterface $exceptionParser, BackoffStrategyInterface $next = null) {
$this->exceptionParser = $exceptionParser;
$this->next = $next;
}
public function makesDecision()
{
return true;
}
protected function getDelay($retries, RequestInterface $request, Response $response = null, HttpException $e = null)
{
if ($response && $response->isClientError()) {
$parts = $this->exceptionParser->parse($request, $response);
if (!isset($this->retryable[$parts['code']]) || !$request->getClient()) {
return null;
}
/** @var $client AwsClientInterface */
$client = $request->getClient();
// Only retry if the credentials can be refreshed
if (!($client->getCredentials() instanceof AbstractRefreshableCredentials)) {
return null;
}
// Resign the request using new credentials
$client->getSignature()->signRequest($request, $client->getCredentials()->setExpiration(-1));
// Retry immediately with no delay
return 0;
}
}
}
sdk-2.5.2/Aws/Common/Client/ThrottlingErrorChecker.php 0000644 115327001610067500000004532 12272324172 017760 0 ustar true,
'Throttling' => true,
'ThrottlingException' => true,
'ProvisionedThroughputExceededException' => true,
'RequestThrottled' => true,
);
/**
* @var ExceptionParserInterface Exception parser used to parse exception responses
*/
protected $exceptionParser;
public function __construct(ExceptionParserInterface $exceptionParser, BackoffStrategyInterface $next = null)
{
$this->exceptionParser = $exceptionParser;
if ($next) {
$this->setNext($next);
}
}
/**
* {@inheritdoc}
*/
public function makesDecision()
{
return true;
}
/**
* {@inheritdoc}
*/
protected function getDelay(
$retries,
RequestInterface $request,
Response $response = null,
HttpException $e = null
) {
if ($response && $response->isClientError()) {
$parts = $this->exceptionParser->parse($request, $response);
return isset(self::$throttlingExceptions[$parts['code']]) ? true : null;
}
}
}
sdk-2.5.2/Aws/Common/Client/UploadBodyListener.php 0000644 115327001610067500000006473 12272324172 017101 0 ustar commands = $commands;
$this->bodyParameter = (string) $bodyParameter;
$this->sourceParameter = (string) $sourceParameter;
}
/**
* {@inheritdoc}
*/
public static function getSubscribedEvents()
{
return array('command.before_prepare' => array('onCommandBeforePrepare'));
}
/**
* Converts filenames and file handles into EntityBody objects before the command is validated
*
* @param Event $event Event emitted
* @throws InvalidArgumentException
*/
public function onCommandBeforePrepare(Event $event)
{
/** @var $command Command */
$command = $event['command'];
if (in_array($command->getName(), $this->commands)) {
// Get the interesting parameters
$source = $command->get($this->sourceParameter);
$body = $command->get($this->bodyParameter);
// If a file path is passed in then get the file handle
if (is_string($source) && file_exists($source)) {
$body = fopen($source, 'r');
}
// Prepare the body parameter and remove the source file parameter
if (null !== $body) {
$command->remove($this->sourceParameter);
$command->set($this->bodyParameter, EntityBody::factory($body));
} else {
throw new InvalidArgumentException("You must specify a non-null value for the {$this->bodyParameter} or {$this->sourceParameter} parameters.");
}
}
}
}
sdk-2.5.2/Aws/Common/Client/UserAgentListener.php 0000644 115327001610067500000003643 12272324172 016730 0 ustar 'onBeforeSend');
}
/**
* Adds strings to the User-Agent header using the `ua.append` parameter of a command
*
* @param Event $event Event emitted
*/
public function onBeforeSend(Event $event)
{
$command = $event['command'];
if ($userAgentAppends = $command->get(self::OPTION)) {
$request = $command->getRequest();
$userAgent = (string) $request->getHeader('User-Agent');
foreach ((array) $userAgentAppends as $append) {
$append = ' ' . $append;
if (strpos($userAgent, $append) === false) {
$userAgent .= $append;
}
}
$request->setHeader('User-Agent', $userAgent);
}
}
}
sdk-2.5.2/Aws/Common/Command/AwsQueryVisitor.php 0000644 115327001610067500000007774 12272324172 016636 0 ustar customResolver($value, $param, $query, $param->getWireName());
$request->addPostFields($query);
}
/**
* Map nested parameters into the location_key based parameters
*
* @param array $value Value to map
* @param Parameter $param Parameter that holds information about the current key
* @param array $query Built up query string values
* @param string $prefix String to prepend to sub query values
*/
protected function customResolver($value, Parameter $param, array &$query, $prefix = '')
{
switch ($param->getType()) {
case 'object':
$this->resolveObject($param, $value, $prefix, $query);
break;
case 'array':
$this->resolveArray($param, $value, $prefix, $query);
break;
default:
$query[$prefix] = $param->filter($value);
}
}
/**
* Custom handling for objects
*
* @param Parameter $param Parameter for the object
* @param array $value Value that is set for this parameter
* @param string $prefix Prefix for the resulting key
* @param array $query Query string array passed by reference
*/
protected function resolveObject(Parameter $param, array $value, $prefix, array &$query)
{
// Maps are implemented using additional properties
$hasAdditionalProperties = ($param->getAdditionalProperties() instanceof Parameter);
$additionalPropertyCount = 0;
foreach ($value as $name => $v) {
if ($subParam = $param->getProperty($name)) {
// if the parameter was found by name as a regular property
$key = $prefix . '.' . $subParam->getWireName();
$this->customResolver($v, $subParam, $query, $key);
} elseif ($hasAdditionalProperties) {
// Handle map cases like &Attribute.1.Name=&Attribute.1.Value=
$additionalPropertyCount++;
$data = $param->getData();
$keyName = isset($data['keyName']) ? $data['keyName'] : 'key';
$valueName = isset($data['valueName']) ? $data['valueName'] : 'value';
$query["{$prefix}.{$additionalPropertyCount}.{$keyName}"] = $name;
$newPrefix = "{$prefix}.{$additionalPropertyCount}.{$valueName}";
if (is_array($v)) {
$this->customResolver($v, $param->getAdditionalProperties(), $query, $newPrefix);
} else {
$query[$newPrefix] = $param->filter($v);
}
}
}
}
/**
* Custom handling for arrays
*
* @param Parameter $param Parameter for the object
* @param array $value Value that is set for this parameter
* @param string $prefix Prefix for the resulting key
* @param array $query Query string array passed by reference
*/
protected function resolveArray(Parameter $param, array $value, $prefix, array &$query)
{
$offset = $param->getData('offset') ?: 1;
foreach ($value as $index => $v) {
$index += $offset;
if (is_array($v) && $items = $param->getItems()) {
$this->customResolver($v, $items, $query, $prefix . '.' . $index);
} else {
$query[$prefix . '.' . $index] = $param->filter($v);
}
}
}
}
sdk-2.5.2/Aws/Common/Command/JsonCommand.php 0000644 115327001610067500000003125 12272324172 015670 0 ustar request->getBody()) {
$this->request->setBody('{}');
}
// Never send the Expect header when interacting with a JSON query service
$this->request->removeHeader('Expect');
// Always send JSON requests as a raw string rather than using streams to avoid issues with
// cURL error code 65: "necessary data rewind wasn't possible".
// This could be removed after PHP addresses https://bugs.php.net/bug.php?id=47204
$this->request->getCurlOptions()->set(CurlHandle::BODY_AS_STRING, true);
}
}
sdk-2.5.2/Aws/Common/Command/QueryCommand.php 0000644 115327001610067500000002703 12272324172 016065 0 ustar getRequestSerializer()->addVisitor('aws.query', self::$queryVisitor);
$this->getResponseParser()->addVisitor('xml', self::$xmlVisitor);
}
}
sdk-2.5.2/Aws/Common/Command/XmlResponseLocationVisitor.php 0000644 115327001610067500000004143 12272324172 021011 0 ustar getOperation();
if ($operation->getServiceDescription()->getData('resultWrapped')) {
$wrappingNode = $operation->getName() . 'Result';
if (isset($result[$wrappingNode])) {
$result = $result[$wrappingNode] + $result;
unset($result[$wrappingNode]);
}
}
}
/**
* Accounts for wrapper nodes
* {@inheritdoc}
*/
public function visit(
CommandInterface $command,
Response $response,
Parameter $param,
&$value,
$context = null
) {
parent::visit($command, $response, $param, $value, $context);
// Account for wrapper nodes (e.g. RDS, ElastiCache, etc)
if ($param->getData('wrapper')) {
$wireName = $param->getWireName();
$value += $value[$wireName];
unset($value[$wireName]);
}
}
/**
* Filter used when converting XML maps into associative arrays in service descriptions
*
* @param array $value Value to filter
* @param string $entryName Name of each entry
* @param string $keyName Name of each key
* @param string $valueName Name of each value
*
* @return array Returns the map of the XML data
*/
public static function xmlMap($value, $entryName, $keyName, $valueName)
{
$result = array();
foreach ($value as $entry) {
$result[$entry[$keyName]] = $entry[$valueName];
}
return $result;
}
}
sdk-2.5.2/Aws/Common/Credentials/AbstractCredentialsDecorator.php 0000644 115327001610067500000005437 12272324172 022133 0 ustar credentials = $credentials;
}
/**
* {@inheritdoc}
*/
public function serialize()
{
return $this->credentials->serialize();
}
/**
* {@inheritdoc}
*/
public function unserialize($serialized)
{
$this->credentials = new Credentials('', '');
$this->credentials->unserialize($serialized);
}
/**
* {@inheritdoc}
*/
public function getAccessKeyId()
{
return $this->credentials->getAccessKeyId();
}
/**
* {@inheritdoc}
*/
public function getSecretKey()
{
return $this->credentials->getSecretKey();
}
/**
* {@inheritdoc}
*/
public function getSecurityToken()
{
return $this->credentials->getSecurityToken();
}
/**
* {@inheritdoc}
*/
public function getExpiration()
{
return $this->credentials->getExpiration();
}
/**
* {@inheritdoc}
*/
public function isExpired()
{
return $this->credentials->isExpired();
}
/**
* {@inheritdoc}
*/
public function setAccessKeyId($key)
{
$this->credentials->setAccessKeyId($key);
return $this;
}
/**
* {@inheritdoc}
*/
public function setSecretKey($secret)
{
$this->credentials->setSecretKey($secret);
return $this;
}
/**
* {@inheritdoc}
*/
public function setSecurityToken($token)
{
$this->credentials->setSecurityToken($token);
return $this;
}
/**
* {@inheritdoc}
*/
public function setExpiration($timestamp)
{
$this->credentials->setExpiration($timestamp);
return $this;
}
}
sdk-2.5.2/Aws/Common/Credentials/AbstractRefreshableCredentials.php 0000644 115327001610067500000003403 12272324172 022422 0 ustar credentials->isExpired()) {
$this->refresh();
}
return $this->credentials->getAccessKeyId();
}
/**
* {@inheritdoc}
*/
public function getSecretKey()
{
if ($this->credentials->isExpired()) {
$this->refresh();
}
return $this->credentials->getSecretKey();
}
/**
* {@inheritdoc}
*/
public function getSecurityToken()
{
if ($this->credentials->isExpired()) {
$this->refresh();
}
return $this->credentials->getSecurityToken();
}
/**
* {@inheritdoc}
*/
public function serialize()
{
if ($this->credentials->isExpired()) {
$this->refresh();
}
return $this->credentials->serialize();
}
/**
* Attempt to get new credentials
*/
abstract protected function refresh();
}
sdk-2.5.2/Aws/Common/Credentials/CacheableCredentials.php 0000644 115327001610067500000005200 12272324172 020340 0 ustar credentials = $credentials;
$this->cache = $cache;
$this->cacheKey = $cacheKey;
}
/**
* Attempt to get new credentials from cache or from the adapted object
*/
protected function refresh()
{
if (!$cache = $this->cache->fetch($this->cacheKey)) {
// The credentials were not found, so try again and cache if new
$this->credentials->getAccessKeyId();
if (!$this->credentials->isExpired()) {
// The credentials were updated, so cache them
$this->cache->save($this->cacheKey, $this->credentials, $this->credentials->getExpiration() - time());
}
} else {
// The credentials were found in cache, so update the adapter object
// if the cached credentials are not expired
if (!$cache->isExpired()) {
$this->credentials->setAccessKeyId($cache->getAccessKeyId());
$this->credentials->setSecretKey($cache->getSecretKey());
$this->credentials->setSecurityToken($cache->getSecurityToken());
$this->credentials->setExpiration($cache->getExpiration());
}
}
}
}
sdk-2.5.2/Aws/Common/Credentials/Credentials.php 0000644 115327001610067500000020524 12272324172 016576 0 ustar null,
Options::SECRET => null,
Options::TOKEN => null,
Options::TOKEN_TTD => null,
Options::CREDENTIALS_CACHE => null,
Options::CREDENTIALS_CACHE_KEY => null,
Options::CREDENTIALS_CLIENT => null
);
}
/**
* Factory method for creating new credentials. This factory method will
* create the appropriate credentials object with appropriate decorators
* based on the passed configuration options.
*
* @param array $config Options to use when instantiating the credentials
*
* @return CredentialsInterface
* @throws InvalidArgumentException If the caching options are invalid
* @throws RuntimeException If using the default cache and APC is disabled
*/
public static function factory($config = array())
{
// Add default key values
foreach (self::getConfigDefaults() as $key => $value) {
if (!isset($config[$key])) {
$config[$key] = $value;
}
}
// Start tracking the cache key
$cacheKey = $config[Options::CREDENTIALS_CACHE_KEY];
// Create the credentials object
if (!$config[Options::KEY] || !$config[Options::SECRET]) {
// No keys were provided, so attempt to retrieve some from the environment
$envKey = isset($_SERVER[self::ENV_KEY]) ? $_SERVER[self::ENV_KEY] : getenv(self::ENV_KEY);
$envSecret = isset($_SERVER[self::ENV_SECRET]) ? $_SERVER[self::ENV_SECRET] : getenv(self::ENV_SECRET);
if ($envKey && $envSecret) {
// Use credentials set in the environment variables
$credentials = new static($envKey, $envSecret);
} else {
// Use instance profile credentials (available on EC2 instances)
$credentials = new RefreshableInstanceProfileCredentials(
new static('', '', '', 1),
$config[Options::CREDENTIALS_CLIENT]
);
}
// If no cache key was set, use the crc32 hostname of the server
$cacheKey = $cacheKey ?: 'credentials_' . crc32(gethostname());
} else {
// Instantiate using short or long term credentials
$credentials = new static(
$config[Options::KEY],
$config[Options::SECRET],
$config[Options::TOKEN],
$config[Options::TOKEN_TTD]
);
// If no cache key was set, use the access key ID
$cacheKey = $cacheKey ?: 'credentials_' . $config[Options::KEY];
}
// Check if the credentials are refreshable, and if so, configure caching
$cache = $config[Options::CREDENTIALS_CACHE];
if ($cacheKey && $cache) {
if ($cache === 'true' || $cache === true) {
// If no cache adapter was provided, then create one for the user
// @codeCoverageIgnoreStart
if (!extension_loaded('apc')) {
throw new RequiredExtensionNotLoadedException('PHP has not been compiled with APC. Unable to cache '
. 'the credentials.');
} elseif (!class_exists('Doctrine\Common\Cache\ApcCache')) {
throw new RuntimeException(
'Cannot set ' . Options::CREDENTIALS_CACHE . ' to true because the Doctrine cache component is '
. 'not installed. Either install doctrine/cache or pass in an instantiated '
. 'Guzzle\Cache\CacheAdapterInterface object'
);
}
// @codeCoverageIgnoreEnd
$cache = new DoctrineCacheAdapter(new \Doctrine\Common\Cache\ApcCache());
} elseif (!($cache instanceof CacheAdapterInterface)) {
throw new InvalidArgumentException('Unable to utilize caching with the specified options');
}
// Decorate the credentials with a cache
$credentials = new CacheableCredentials($credentials, $cache, $cacheKey);
}
return $credentials;
}
/**
* Constructs a new BasicAWSCredentials object, with the specified AWS
* access key and AWS secret key
*
* @param string $accessKeyId AWS access key ID
* @param string $secretAccessKey AWS secret access key
* @param string $token Security token to use
* @param int $expiration UNIX timestamp for when credentials expire
*/
public function __construct($accessKeyId, $secretAccessKey, $token = null, $expiration = null)
{
$this->key = trim($accessKeyId);
$this->secret = trim($secretAccessKey);
$this->token = $token;
$this->ttd = $expiration;
}
/**
* {@inheritdoc}
*/
public function serialize()
{
return json_encode(array(
Options::KEY => $this->key,
Options::SECRET => $this->secret,
Options::TOKEN => $this->token,
Options::TOKEN_TTD => $this->ttd
));
}
/**
* {@inheritdoc}
*/
public function unserialize($serialized)
{
$data = json_decode($serialized, true);
$this->key = $data[Options::KEY];
$this->secret = $data[Options::SECRET];
$this->token = $data[Options::TOKEN];
$this->ttd = $data[Options::TOKEN_TTD];
}
/**
* {@inheritdoc}
*/
public function getAccessKeyId()
{
return $this->key;
}
/**
* {@inheritdoc}
*/
public function getSecretKey()
{
return $this->secret;
}
/**
* {@inheritdoc}
*/
public function getSecurityToken()
{
return $this->token;
}
/**
* {@inheritdoc}
*/
public function getExpiration()
{
return $this->ttd;
}
/**
* {@inheritdoc}
*/
public function isExpired()
{
return $this->ttd !== null && time() >= $this->ttd;
}
/**
* {@inheritdoc}
*/
public function setAccessKeyId($key)
{
$this->key = $key;
return $this;
}
/**
* {@inheritdoc}
*/
public function setSecretKey($secret)
{
$this->secret = $secret;
return $this;
}
/**
* {@inheritdoc}
*/
public function setSecurityToken($token)
{
$this->token = $token;
return $this;
}
/**
* {@inheritdoc}
*/
public function setExpiration($timestamp)
{
$this->ttd = $timestamp;
return $this;
}
}
sdk-2.5.2/Aws/Common/Credentials/CredentialsInterface.php 0000644 115327001610067500000004650 12272324172 020421 0 ustar credentials = $credentials;
$this->client = $client ?: InstanceMetadataClient::factory();
}
/**
* Attempt to get new credentials from the instance profile
*
* @throws InstanceProfileCredentialsException On error
*/
protected function refresh()
{
$credentials = $this->client->getInstanceProfileCredentials();
// Expire the token 1 minute before it actually expires to pre-fetch before expiring
$this->credentials->setAccessKeyId($credentials->getAccessKeyId())
->setSecretKey($credentials->getSecretKey())
->setSecurityToken($credentials->getSecurityToken())
->setExpiration($credentials->getExpiration());
}
}
sdk-2.5.2/Aws/Common/Enum/ClientOptions.php 0000644 115327001610067500000010603 12272324172 015577 0 ustar factory = $factory;
}
/**
* {@inheritdoc}
*/
public static function getSubscribedEvents()
{
return array('request.error' => array('onRequestError', -1));
}
/**
* Throws a more meaningful request exception if available
*
* @param Event $event Event emitted
*/
public function onRequestError(Event $event)
{
$e = $this->factory->fromResponse($event['request'], $event['response']);
$event->stopPropagation();
throw $e;
}
}
sdk-2.5.2/Aws/Common/Exception/InstanceProfileCredentialsException.php 0000644 115327001610067500000002416 12272324172 023164 0 ustar statusCode = $code;
}
/**
* Get the error response code from the service
*
* @return string|null
*/
public function getStatusCode()
{
return $this->statusCode;
}
}
sdk-2.5.2/Aws/Common/Exception/InvalidArgumentException.php 0000644 115327001610067500000001441 12272324172 021007 0 ustar getMessage(),
0,
$exception
);
$this->state = $state;
}
/**
* Get the state of the transfer
*
* @return TransferStateInterface
*/
public function getState()
{
return $this->state;
}
}
sdk-2.5.2/Aws/Common/Exception/NamespaceExceptionFactory.php 0000644 115327001610067500000006771 12272324172 021155 0 ustar parser = $parser;
$this->baseNamespace = $baseNamespace;
$this->defaultException = $defaultException;
}
/**
* {@inheritdoc}
*/
public function fromResponse(RequestInterface $request, Response $response)
{
$parts = $this->parser->parse($request, $response);
// Removing leading 'AWS.' and embedded periods
$className = $this->baseNamespace . '\\' . str_replace(array('AWS.', '.'), '', $parts['code']);
if (substr($className, -9) !== 'Exception') {
$className .= 'Exception';
}
$className = class_exists($className) ? $className : $this->defaultException;
return $this->createException($className, $request, $response, $parts);
}
/**
* Create an prepare an exception object
*
* @param string $className Name of the class to create
* @param RequestInterface $request Request
* @param Response $response Response received
* @param array $parts Parsed exception data
*
* @return \Exception
*/
protected function createException($className, RequestInterface $request, Response $response, array $parts)
{
$class = new $className($parts['message']);
if ($class instanceof ServiceResponseException) {
$class->setExceptionCode($parts['code']);
$class->setExceptionType($parts['type']);
$class->setResponse($response);
$class->setRequest($request);
$class->setRequestId($parts['request_id']);
}
return $class;
}
}
sdk-2.5.2/Aws/Common/Exception/OutOfBoundsException.php 0000644 115327001610067500000001422 12272324172 020124 0 ustar exceptionCode = $code;
}
/**
* Get the exception code
*
* @return string|null
*/
public function getExceptionCode()
{
return $this->exceptionCode;
}
/**
* Set the exception type
*
* @param string $type Exception type
*/
public function setExceptionType($type)
{
$this->exceptionType = $type;
}
/**
* Get the exception type (one of client or server)
*
* @return string|null
*/
public function getExceptionType()
{
return $this->exceptionType;
}
/**
* Set the request ID
*
* @param string $id Request ID
*/
public function setRequestId($id)
{
$this->requestId = $id;
}
/**
* Get the Request ID
*
* @return string|null
*/
public function getRequestId()
{
return $this->requestId;
}
/**
* Set the associated response
*
* @param Response $response Response
*/
public function setResponse(Response $response)
{
$this->response = $response;
}
/**
* Get the associated response object
*
* @return Response|null
*/
public function getResponse()
{
return $this->response;
}
/**
* Set the associated request
*
* @param RequestInterface $request
*/
public function setRequest(RequestInterface $request)
{
$this->request = $request;
}
/**
* Get the associated request object
*
* @return RequestInterface|null
*/
public function getRequest()
{
return $this->request;
}
/**
* Get the status code of the response
*
* @return int|null
*/
public function getStatusCode()
{
return $this->response ? $this->response->getStatusCode() : null;
}
/**
* Cast to a string
*
* @return string
*/
public function __toString()
{
$message = get_class($this) . ': '
. 'AWS Error Code: ' . $this->getExceptionCode() . ', '
. 'Status Code: ' . $this->getStatusCode() . ', '
. 'AWS Request ID: ' . $this->getRequestId() . ', '
. 'AWS Error Type: ' . $this->getExceptionType() . ', '
. 'AWS Error Message: ' . $this->getMessage();
// Add the User-Agent if available
if ($this->request) {
$message .= ', ' . 'User-Agent: ' . $this->request->getHeader('User-Agent');
}
return $message;
}
}
sdk-2.5.2/Aws/Common/Exception/TransferException.php 0000644 115327001610067500000001423 12272324172 017502 0 ustar null,
'message' => null,
'type' => $response->isClientError() ? 'client' : 'server',
'request_id' => (string) $response->getHeader('x-amzn-RequestId'),
'parsed' => null
);
// Parse the json and normalize key casings
if (null !== $json = json_decode($response->getBody(true), true)) {
$data['parsed'] = array_change_key_case($json);
}
// Do additional, protocol-specific parsing and return the result
$data = $this->doParse($data, $response);
// Remove "Fault" suffix from exception names
if (isset($data['code']) && strpos($data['code'], 'Fault')) {
$data['code'] = preg_replace('/^([a-zA-Z]+)Fault$/', '$1', $data['code']);
}
return $data;
}
/**
* Pull relevant exception data out of the parsed json
*
* @param array $data The exception data
* @param Response $response The response from the service containing the error
*
* @return array
*/
abstract protected function doParse(array $data, Response $response);
}
sdk-2.5.2/Aws/Common/Exception/Parser/DefaultXmlExceptionParser.php 0000644 115327001610067500000006372 12272324172 022404 0 ustar null,
'message' => null,
'type' => $response->isClientError() ? 'client' : 'server',
'request_id' => null,
'parsed' => null
);
if ($body = $response->getBody(true)) {
$this->parseBody(new \SimpleXMLElement($body), $data);
} else {
$this->parseHeaders($request, $response, $data);
}
return $data;
}
/**
* Parses additional exception information from the response headers
*
* @param RequestInterface $request Request that was issued
* @param Response $response The response from the request
* @param array $data The current set of exception data
*/
protected function parseHeaders(RequestInterface $request, Response $response, array &$data)
{
$data['message'] = $response->getStatusCode() . ' ' . $response->getReasonPhrase();
if ($requestId = $response->getHeader('x-amz-request-id')) {
$data['request_id'] = $requestId;
$data['message'] .= " (Request-ID: $requestId)";
}
}
/**
* Parses additional exception information from the response body
*
* @param \SimpleXMLElement $body The response body as XML
* @param array $data The current set of exception data
*/
protected function parseBody(\SimpleXMLElement $body, array &$data)
{
$data['parsed'] = $body;
$namespaces = $body->getDocNamespaces();
if (isset($namespaces[''])) {
// Account for the default namespace being defined and PHP not being able to handle it :(
$body->registerXPathNamespace('ns', $namespaces['']);
$prefix = 'ns:';
} else {
$prefix = '';
}
if ($tempXml = $body->xpath("//{$prefix}Code[1]")) {
$data['code'] = (string) $tempXml[0];
}
if ($tempXml = $body->xpath("//{$prefix}Message[1]")) {
$data['message'] = (string) $tempXml[0];
}
$tempXml = $body->xpath("//{$prefix}RequestId[1]");
if (empty($tempXml)) {
$tempXml = $body->xpath("//{$prefix}RequestID[1]");
}
if (isset($tempXml[0])) {
$data['request_id'] = (string) $tempXml[0];
}
}
}
sdk-2.5.2/Aws/Common/Exception/Parser/ExceptionParserInterface.php 0000644 115327001610067500000002561 12272324172 022233 0 ustar getHeader('x-amzn-ErrorType')) {
$data['code'] = substr($code, 0, strpos($code, ':'));
}
return $data;
}
}
sdk-2.5.2/Aws/Common/Facade/facade-classes.php 0000644 115327001610067500000011600 12272324172 016100 0 ustar getConfig() as $service) {
if (isset($service['alias'], $service['class'])) {
$facadeClass = __NAMESPACE__ . '\\' . $service['alias'];
$facadeAlias = ltrim($targetNamespace . '\\' . $service['alias'], '\\');
if (!class_exists($facadeAlias)) {
// @codeCoverageIgnoreStart
class_alias($facadeClass, $facadeAlias);
// @codeCoverageIgnoreEnd
}
}
}
}
/**
* Returns the instance of the client that the facade operates on
*
* @return \Aws\Common\Client\AwsClientInterface
*/
public static function getClient()
{
return self::$serviceBuilder->get(static::getServiceBuilderKey());
}
public static function __callStatic($method, $args)
{
return call_user_func_array(array(self::getClient(), $method), $args);
}
}
sdk-2.5.2/Aws/Common/Facade/FacadeInterface.php 0000644 115327001610067500000002114 12272324172 016226 0 ustar context = hash_init($algorithm);
}
/**
* {@inheritdoc}
*/
public function addData($data)
{
if (!$this->context) {
throw new LogicException('You may not add more data to a finalized chunk hash.');
}
hash_update($this->context, $data);
return $this;
}
/**
* {@inheritdoc}
*/
public function getHash($returnBinaryForm = false)
{
if (!$this->hash) {
$this->hashRaw = hash_final($this->context, true);
$this->hash = HashUtils::binToHex($this->hashRaw);
$this->context = null;
}
return $returnBinaryForm ? $this->hashRaw : $this->hash;
}
/**
* {@inheritdoc}
*/
public function __clone()
{
if ($this->context) {
$this->context = hash_copy($this->context);
}
}
}
sdk-2.5.2/Aws/Common/Hash/ChunkHashInterface.php 0000644 115327001610067500000002714 12272324172 016465 0 ustar checksums = $inBinaryForm ? $checksums : array_map('Aws\Common\Hash\HashUtils::hexToBin', $checksums);
// Pre-calculate hash
$treeHash->getHash();
return $treeHash;
}
/**
* Create a tree hash from a content body
*
* @param string|resource|EntityBody $content Content to create a tree hash for
* @param string $algorithm A valid hash algorithm name as returned by `hash_algos()`
*
* @return TreeHash
*/
public static function fromContent($content, $algorithm = self::DEFAULT_ALGORITHM)
{
$treeHash = new self($algorithm);
// Read the data in 1MB chunks and add to tree hash
$content = EntityBody::factory($content);
while ($data = $content->read(Size::MB)) {
$treeHash->addData($data);
}
// Pre-calculate hash
$treeHash->getHash();
return $treeHash;
}
/**
* Validates an entity body with a tree hash checksum
*
* @param string|resource|EntityBody $content Content to create a tree hash for
* @param string $checksum The checksum to use for validation
* @param string $algorithm A valid hash algorithm name as returned by `hash_algos()`
*
* @return bool
*/
public static function validateChecksum($content, $checksum, $algorithm = self::DEFAULT_ALGORITHM)
{
$treeHash = self::fromContent($content, $algorithm);
return ($checksum === $treeHash->getHash());
}
/**
* {@inheritdoc}
*/
public function __construct($algorithm = self::DEFAULT_ALGORITHM)
{
HashUtils::validateAlgorithm($algorithm);
$this->algorithm = $algorithm;
}
/**
* {@inheritdoc}
* @throws LogicException if the root tree hash is already calculated
* @throws InvalidArgumentException if the data is larger than 1MB
*/
public function addData($data)
{
// Error if hash is already calculated
if ($this->hash) {
throw new LogicException('You may not add more data to a finalized tree hash.');
}
// Make sure that only 1MB chunks or smaller get passed in
if (strlen($data) > Size::MB) {
throw new InvalidArgumentException('The chunk of data added is too large for tree hashing.');
}
// Store the raw hash of this data segment
$this->checksums[] = hash($this->algorithm, $data, true);
return $this;
}
/**
* Add a checksum to the tree hash directly
*
* @param string $checksum The checksum to add
* @param bool $inBinaryForm Whether or not the checksum is already in binary form
*
* @return self
* @throws LogicException if the root tree hash is already calculated
*/
public function addChecksum($checksum, $inBinaryForm = false)
{
// Error if hash is already calculated
if ($this->hash) {
throw new LogicException('You may not add more checksums to a finalized tree hash.');
}
// Convert the checksum to binary form if necessary
$this->checksums[] = $inBinaryForm ? $checksum : HashUtils::hexToBin($checksum);
return $this;
}
/**
* {@inheritdoc}
*/
public function getHash($returnBinaryForm = false)
{
if (!$this->hash) {
// Perform hashes up the tree to arrive at the root checksum of the tree hash
$hashes = $this->checksums;
while (count($hashes) > 1) {
$sets = array_chunk($hashes, 2);
$hashes = array();
foreach ($sets as $set) {
$hashes[] = (count($set) === 1) ? $set[0] : hash($this->algorithm, $set[0] . $set[1], true);
}
}
$this->hashRaw = $hashes[0];
$this->hash = HashUtils::binToHex($this->hashRaw);
}
return $returnBinaryForm ? $this->hashRaw : $this->hash;
}
/**
* @return array Array of raw checksums composing the tree hash
*/
public function getChecksums()
{
return $this->checksums;
}
}
sdk-2.5.2/Aws/Common/InstanceMetadata/InstanceMetadataClient.php 0000644 115327001610067500000007273 12272324172 021663 0 ustar 'http://169.254.169.254/{version}/',
'version' => 'latest',
'request.options' => array(
'connect_timeout' => 5,
'timeout' => 10
)
), array('base_url', 'version'));
return new self($config);
}
/**
* Constructor override
*/
public function __construct(Collection $config)
{
$this->setConfig($config);
$this->setBaseUrl($config->get(Options::BASE_URL));
$this->defaultHeaders = new Collection();
$this->setRequestFactory(RequestFactory::getInstance());
}
/**
* Get instance profile credentials
*
* @return Credentials
* @throws InstanceProfileCredentialsException
*/
public function getInstanceProfileCredentials()
{
try {
$request = $this->get('meta-data/iam/security-credentials/');
$credentials = trim($request->send()->getBody(true));
$result = $this->get("meta-data/iam/security-credentials/{$credentials}")->send()->json();
} catch (\Exception $e) {
$message = sprintf('Error retrieving credentials from the instance profile metadata server. When you are'
. ' not running inside of Amazon EC2, you must provide your AWS access key ID and secret access key in'
. ' the "key" and "secret" options when creating a client or provide an instantiated'
. ' Aws\\Common\\Credentials\\CredentialsInterface object. (%s)', $e->getMessage());
throw new InstanceProfileCredentialsException($message, $e->getCode());
}
// Ensure that the status code was successful
if ($result['Code'] !== 'Success') {
$e = new InstanceProfileCredentialsException('Unexpected response code: ' . $result['Code']);
$e->setStatusCode($result['Code']);
throw $e;
}
return new Credentials(
$result['AccessKeyId'],
$result['SecretAccessKey'],
$result['Token'],
strtotime($result['Expiration'])
);
}
}
sdk-2.5.2/Aws/Common/InstanceMetadata/Waiter/ServiceAvailable.php 0000644 115327001610067500000002703 12272324172 021744 0 ustar client->get();
try {
$request->getCurlOptions()->set(CURLOPT_CONNECTTIMEOUT, 10)
->set(CURLOPT_TIMEOUT, 10);
$request->send();
return true;
} catch (CurlException $e) {
return false;
}
}
}
sdk-2.5.2/Aws/Common/Iterator/AwsResourceIterator.php 0000644 115327001610067500000011633 12272324172 017652 0 ustar lastResult;
}
/**
* {@inheritdoc}
* This AWS specific version of the resource iterator provides a default implementation of the typical AWS iterator
* process. It relies on configuration and extension to implement the operation-specific logic of handling results
* and nextTokens. This method will loop until resources are acquired or there are no more iterations available.
*/
protected function sendRequest()
{
do {
// Prepare the request including setting the next token
$this->prepareRequest();
if ($this->nextToken) {
$this->applyNextToken();
}
// Execute the request and handle the results
$this->command->add(Ua::OPTION, Ua::ITERATOR);
$this->lastResult = $this->command->getResult();
$resources = $this->handleResults($this->lastResult);
$this->determineNextToken($this->lastResult);
// If no resources collected, prepare to reiterate before yielding
if ($reiterate = empty($resources) && $this->nextToken) {
$this->command = clone $this->originalCommand;
}
} while ($reiterate);
return $resources;
}
/**
* {@inheritdoc}
*/
protected function prepareRequest()
{
// Get the limit parameter key to set
$param = $this->get('limit_param');
if ($param && ($limit = $this->command->get($param))) {
$pageSize = $this->calculatePageSize();
// If the limit of the command is different than the pageSize of the iterator, use the smaller value
if ($limit && $pageSize) {
$this->command->set('limit', min($limit, $pageSize));
}
}
}
/**
* {@inheritdoc}
*/
protected function handleResults(Model $result)
{
$results = array();
// Get the result key that contains the results
if ($resultKey = $this->get('result_key')) {
$results = $result->getPath($resultKey) ?: array();
}
return $results;
}
/**
* {@inheritdoc}
*/
protected function applyNextToken()
{
// Get the token parameter key to set
if ($tokenParam = $this->get('token_param')) {
// Set the next token. Works with multi-value tokens
if (is_array($tokenParam)) {
if (is_array($this->nextToken) && count($tokenParam) === count($this->nextToken)) {
foreach (array_combine($tokenParam, $this->nextToken) as $param => $token) {
$this->command->set($param, $token);
}
} else {
throw new RuntimeException('The definition of the iterator\'s token parameter and the actual token '
. 'value are not compatible.');
}
} else {
$this->command->set($tokenParam, $this->nextToken);
}
}
}
/**
* {@inheritdoc}
*/
protected function determineNextToken(Model $result)
{
$this->nextToken = null;
// If the value of "more key" is true or there is no "more key" to check, then try to get the next token
$moreKey = $this->get('more_key');
if ($moreKey === null || $result->getPath($moreKey)) {
// Get the token key to check
if ($tokenKey = $this->get('token_key')) {
// Get the next token's value. Works with multi-value tokens
$getToken = function ($key) use ($result) {
return $result->getPath((string) $key);
};
$this->nextToken = is_array($tokenKey) ? array_map($getToken, $tokenKey) : $getToken($tokenKey);
}
}
}
}
sdk-2.5.2/Aws/Common/Iterator/AwsResourceIteratorFactory.php 0000644 115327001610067500000007254 12272324172 021206 0 ustar null,
'limit_param' => null,
'more_key' => null,
'token_key' => null,
'token_param' => null,
'operations' => array(),
);
/**
* @var Collection The configuration for the iterators
*/
protected $config;
/**
* @var Collection Additional configurations for specific iterators
*/
protected $operations;
/**
* @var ResourceIteratorFactoryInterface Another factory that will be used first to instantiate the iterator
*/
protected $primaryIteratorFactory;
/**
* @param array $config An array of configuration values for the factory
* @param ResourceIteratorFactoryInterface $primaryIteratorFactory Another factory to use for chain of command
*
* @throws InvalidArgumentException
*/
public function __construct(array $config, ResourceIteratorFactoryInterface $primaryIteratorFactory = null)
{
$this->primaryIteratorFactory = $primaryIteratorFactory;
// Set up the config with default values
$this->config = Collection::fromConfig($config, self::$defaultConfig);
// Pull out the operation-specific configurations
$this->operations = new Collection();
$potentialOperations = $this->config->get('operations') ?: array();
$this->config->remove('operations');
foreach ($potentialOperations as $key => $value) {
if (is_int($key) && is_string($value)) {
$this->operations->set($value, array());
} elseif (is_string($key) && is_array($value)) {
$this->operations->set($key, $value);
} else {
throw new InvalidArgumentException('The iterator factory configuration was invalid.');
}
}
}
/**
* {@inheritdoc}
*/
public function build(CommandInterface $command, array $options = array())
{
// Get the configuration data for the command
$commandName = $command->getName();
$iteratorConfig = $this->operations->get($commandName) ?: array();
$options = array_replace($this->config->getAll(), $iteratorConfig, $options);
// Instantiate the iterator using the primary factory (if there is one)
if ($this->primaryIteratorFactory && $this->primaryIteratorFactory->canBuild($command)) {
$iterator = $this->primaryIteratorFactory->build($command, $options);
} elseif (!$this->operations->hasKey($commandName)) {
throw new InvalidArgumentException("Iterator was not found for {$commandName}.");
} else {
// Fallback to this factory for creating the iterator if the primary factory did not work
$iterator = new AwsResourceIterator($command, $options);
}
return $iterator;
}
/**
* {@inheritdoc}
*/
public function canBuild(CommandInterface $command)
{
return ($this->primaryIteratorFactory && $this->primaryIteratorFactory->canBuild($command))
|| $this->operations->hasKey($command->getName());
}
}
sdk-2.5.2/Aws/Common/Model/MultipartUpload/AbstractTransfer.php 0000644 115327001610067500000015475 12272324172 021553 0 ustar client = $client;
$this->state = $state;
$this->source = $source;
$this->options = $options;
$this->init();
$this->partSize = $this->calculatePartSize();
}
public function __invoke()
{
return $this->upload();
}
/**
* {@inheritdoc}
*/
public static function getAllEvents()
{
return array(
self::BEFORE_PART_UPLOAD,
self::AFTER_UPLOAD,
self::BEFORE_PART_UPLOAD,
self::AFTER_PART_UPLOAD,
self::AFTER_ABORT,
self::AFTER_COMPLETE
);
}
/**
* {@inheritdoc}
*/
public function abort()
{
$command = $this->getAbortCommand();
$result = $command->getResult();
$this->state->setAborted(true);
$this->stop();
$this->dispatch(self::AFTER_ABORT, $this->getEventData($command));
return $result;
}
/**
* {@inheritdoc}
*/
public function stop()
{
$this->stopped = true;
return $this->state;
}
/**
* {@inheritdoc}
*/
public function getState()
{
return $this->state;
}
/**
* Get the array of options associated with the transfer
*
* @return array
*/
public function getOptions()
{
return $this->options;
}
/**
* Set an option on the transfer
*
* @param string $option Name of the option
* @param mixed $value Value to set
*
* @return self
*/
public function setOption($option, $value)
{
$this->options[$option] = $value;
return $this;
}
/**
* Get the source body of the upload
*
* @return EntityBodyInterface
*/
public function getSource()
{
return $this->source;
}
/**
* {@inheritdoc}
* @throws MultipartUploadException when an error is encountered. Use getLastException() to get more information.
* @throws RuntimeException when attempting to upload an aborted transfer
*/
public function upload()
{
if ($this->state->isAborted()) {
throw new RuntimeException('The transfer has been aborted and cannot be uploaded');
}
$this->stopped = false;
$eventData = $this->getEventData();
$this->dispatch(self::BEFORE_UPLOAD, $eventData);
try {
$this->transfer();
$this->dispatch(self::AFTER_UPLOAD, $eventData);
if ($this->stopped) {
return null;
} else {
$result = $this->complete();
$this->dispatch(self::AFTER_COMPLETE, $eventData);
}
} catch (\Exception $e) {
throw new MultipartUploadException($this->state, $e);
}
return $result;
}
/**
* Get an array used for event notifications
*
* @param OperationCommand $command Command to include in event data
*
* @return array
*/
protected function getEventData(OperationCommand $command = null)
{
$data = array(
'transfer' => $this,
'source' => $this->source,
'options' => $this->options,
'client' => $this->client,
'part_size' => $this->partSize,
'state' => $this->state
);
if ($command) {
$data['command'] = $command;
}
return $data;
}
/**
* Hook to initialize the transfer
*/
protected function init() {}
/**
* Determine the upload part size based on the size of the source data and
* taking into account the acceptable minimum and maximum part sizes.
*
* @return int The part size
*/
abstract protected function calculatePartSize();
/**
* Complete the multipart upload
*
* @return Model Returns the result of the complete multipart upload command
*/
abstract protected function complete();
/**
* Hook to implement in subclasses to perform the actual transfer
*/
abstract protected function transfer();
/**
* Fetches the abort command fom the concrete implementation
*
* @return OperationCommand
*/
abstract protected function getAbortCommand();
}
sdk-2.5.2/Aws/Common/Model/MultipartUpload/AbstractTransferState.php 0000644 115327001610067500000007065 12272324172 022550 0 ustar uploadId = $uploadId;
}
/**
* {@inheritdoc}
*/
public function getUploadId()
{
return $this->uploadId;
}
/**
* Get a data value from the transfer state's uploadId
*
* @param string $key Key to retrieve (e.g. Bucket, Key, UploadId, etc)
*
* @return string|null
*/
public function getFromId($key)
{
$params = $this->uploadId->toParams();
return isset($params[$key]) ? $params[$key] : null;
}
/**
* {@inheritdoc}
*/
public function getPart($partNumber)
{
return isset($this->parts[$partNumber]) ? $this->parts[$partNumber] : null;
}
/**
* {@inheritdoc}
*/
public function addPart(UploadPartInterface $part)
{
$partNumber = $part->getPartNumber();
$this->parts[$partNumber] = $part;
return $this;
}
/**
* {@inheritdoc}
*/
public function hasPart($partNumber)
{
return isset($this->parts[$partNumber]);
}
/**
* {@inheritdoc}
*/
public function getPartNumbers()
{
return array_keys($this->parts);
}
/**
* {@inheritdoc}
*/
public function setAborted($aborted)
{
$this->aborted = (bool) $aborted;
return $this;
}
/**
* {@inheritdoc}
*/
public function isAborted()
{
return $this->aborted;
}
/**
* {@inheritdoc}
*/
public function count()
{
return count($this->parts);
}
/**
* {@inheritdoc}
*/
public function getIterator()
{
return new \ArrayIterator($this->parts);
}
/**
* {@inheritdoc}
*/
public function serialize()
{
return serialize(get_object_vars($this));
}
/**
* {@inheritdoc}
*/
public function unserialize($serialized)
{
$data = unserialize($serialized);
foreach (get_object_vars($this) as $property => $oldValue) {
if (array_key_exists($property, $data)) {
$this->{$property} = $data[$property];
} else {
throw new RuntimeException("The {$property} property could be restored during unserialization.");
}
}
}
}
sdk-2.5.2/Aws/Common/Model/MultipartUpload/AbstractUploadBuilder.php 0000644 115327001610067500000010317 12272324172 022510 0 ustar client = $client;
return $this;
}
/**
* Set the state of the upload. This is useful for resuming from a previously started multipart upload.
* You must use a local file stream as the data source if you wish to resume from a previous upload.
*
* @param TransferStateInterface|string $state Pass a TransferStateInterface object or the ID of the initiated
* multipart upload. When an ID is passed, the builder will create a
* state object using the data from a ListParts API response.
*
* @return self
*/
public function resumeFrom($state)
{
$this->state = $state;
return $this;
}
/**
* Set the data source of the transfer
*
* @param resource|string|EntityBody $source Source of the transfer. Pass a string to transfer from a file on disk.
* You can also stream from a resource returned from fopen or a Guzzle
* {@see EntityBody} object.
*
* @return self
* @throws InvalidArgumentException when the source cannot be found or opened
*/
public function setSource($source)
{
// Use the contents of a file as the data source
if (is_string($source)) {
if (!file_exists($source)) {
throw new InvalidArgumentException("File does not exist: {$source}");
}
// Clear the cache so that we send accurate file sizes
clearstatcache(true, $source);
$source = fopen($source, 'r');
}
$this->source = EntityBody::factory($source);
if ($this->source->isSeekable() && $this->source->getSize() == 0) {
throw new InvalidArgumentException('Empty body provided to upload builder');
}
return $this;
}
/**
* Specify the headers to set on the upload
*
* @param array $headers Headers to add to the uploaded object
*
* @return self
*/
public function setHeaders(array $headers)
{
$this->headers = $headers;
return $this;
}
/**
* Build the appropriate uploader based on the builder options
*
* @return TransferInterface
*/
abstract public function build();
/**
* Initiate the multipart upload
*
* @return TransferStateInterface
*/
abstract protected function initiateMultipartUpload();
}
sdk-2.5.2/Aws/Common/Model/MultipartUpload/AbstractUploadId.php 0000644 115327001610067500000004356 12272324172 021464 0 ustar loadData($data);
return $uploadId;
}
/**
* {@inheritdoc}
*/
public function toParams()
{
return $this->data;
}
/**
* {@inheritdoc}
*/
public function serialize()
{
return serialize($this->data);
}
/**
* {@inheritdoc}
*/
public function unserialize($serialized)
{
$this->loadData(unserialize($serialized));
}
/**
* Loads an array of data into the UploadId by extracting only the needed keys
*
* @param array $data Data to load
*
* @throws InvalidArgumentException if a required key is missing
*/
protected function loadData($data)
{
$data = array_replace(static::$expectedValues, array_intersect_key($data, static::$expectedValues));
foreach ($data as $key => $value) {
if (isset($data[$key])) {
$this->data[$key] = $data[$key];
} else {
throw new InvalidArgumentException("A required key [$key] was missing from the UploadId.");
}
}
}
}
sdk-2.5.2/Aws/Common/Model/MultipartUpload/AbstractUploadPart.php 0000644 115327001610067500000004741 12272324172 022034 0 ustar loadData($data);
return $part;
}
/**
* {@inheritdoc}
*/
public function getPartNumber()
{
return $this->partNumber;
}
/**
* {@inheritdoc}
*/
public function toArray()
{
$array = array();
foreach (static::$keyMap as $key => $property) {
$array[$key] = $this->{$property};
}
return $array;
}
/**
* {@inheritdoc}
*/
public function serialize()
{
return serialize($this->toArray());
}
/**
* {@inheritdoc}
*/
public function unserialize($serialized)
{
$this->loadData(unserialize($serialized));
}
/**
* Loads an array of data into the upload part by extracting only the needed keys
*
* @param array|\Traversable $data Data to load into the upload part value object
*
* @throws InvalidArgumentException if a required key is missing
*/
protected function loadData($data)
{
foreach (static::$keyMap as $key => $property) {
if (isset($data[$key])) {
$this->{$property} = $data[$key];
} else {
throw new InvalidArgumentException("A required key [$key] was missing from the upload part.");
}
}
}
}
sdk-2.5.2/Aws/Common/Model/MultipartUpload/TransferInterface.php 0000644 115327001610067500000003517 12272324172 021702 0 ustar 'Aws\Common\Aws',
'services' => array(
'default_settings' => array(
'params' => array()
),
'autoscaling' => array(
'alias' => 'AutoScaling',
'extends' => 'default_settings',
'class' => 'Aws\AutoScaling\AutoScalingClient'
),
'cloudformation' => array(
'alias' => 'CloudFormation',
'extends' => 'default_settings',
'class' => 'Aws\CloudFormation\CloudFormationClient'
),
'cloudfront' => array(
'alias' => 'CloudFront',
'extends' => 'default_settings',
'class' => 'Aws\CloudFront\CloudFrontClient'
),
'cloudfront_20120505' => array(
'extends' => 'cloudfront',
'params' => array(
'version' => '2012-05-05'
)
),
'cloudsearch' => array(
'alias' => 'CloudSearch',
'extends' => 'default_settings',
'class' => 'Aws\CloudSearch\CloudSearchClient'
),
'cloudtrail' => array(
'alias' => 'CloudTrail',
'extends' => 'default_settings',
'class' => 'Aws\CloudTrail\CloudTrailClient'
),
'cloudwatch' => array(
'alias' => 'CloudWatch',
'extends' => 'default_settings',
'class' => 'Aws\CloudWatch\CloudWatchClient'
),
'datapipeline' => array(
'alias' => 'DataPipeline',
'extends' => 'default_settings',
'class' => 'Aws\DataPipeline\DataPipelineClient'
),
'directconnect' => array(
'alias' => 'DirectConnect',
'extends' => 'default_settings',
'class' => 'Aws\DirectConnect\DirectConnectClient'
),
'dynamodb' => array(
'alias' => 'DynamoDb',
'extends' => 'default_settings',
'class' => 'Aws\DynamoDb\DynamoDbClient'
),
'dynamodb_20111205' => array(
'extends' => 'dynamodb',
'params' => array(
'version' => '2011-12-05'
)
),
'ec2' => array(
'alias' => 'Ec2',
'extends' => 'default_settings',
'class' => 'Aws\Ec2\Ec2Client'
),
'elasticache' => array(
'alias' => 'ElastiCache',
'extends' => 'default_settings',
'class' => 'Aws\ElastiCache\ElastiCacheClient'
),
'elasticbeanstalk' => array(
'alias' => 'ElasticBeanstalk',
'extends' => 'default_settings',
'class' => 'Aws\ElasticBeanstalk\ElasticBeanstalkClient'
),
'elasticloadbalancing' => array(
'alias' => 'ElasticLoadBalancing',
'extends' => 'default_settings',
'class' => 'Aws\ElasticLoadBalancing\ElasticLoadBalancingClient'
),
'elastictranscoder' => array(
'alias' => 'ElasticTranscoder',
'extends' => 'default_settings',
'class' => 'Aws\ElasticTranscoder\ElasticTranscoderClient'
),
'emr' => array(
'alias' => 'Emr',
'extends' => 'default_settings',
'class' => 'Aws\Emr\EmrClient'
),
'glacier' => array(
'alias' => 'Glacier',
'extends' => 'default_settings',
'class' => 'Aws\Glacier\GlacierClient'
),
'kinesis' => array(
'alias' => 'Kinesis',
'extends' => 'default_settings',
'class' => 'Aws\Kinesis\KinesisClient'
),
'iam' => array(
'alias' => 'Iam',
'extends' => 'default_settings',
'class' => 'Aws\Iam\IamClient'
),
'importexport' => array(
'alias' => 'ImportExport',
'extends' => 'default_settings',
'class' => 'Aws\ImportExport\ImportExportClient'
),
'opsworks' => array(
'alias' => 'OpsWorks',
'extends' => 'default_settings',
'class' => 'Aws\OpsWorks\OpsWorksClient'
),
'rds' => array(
'alias' => 'Rds',
'extends' => 'default_settings',
'class' => 'Aws\Rds\RdsClient'
),
'redshift' => array(
'alias' => 'Redshift',
'extends' => 'default_settings',
'class' => 'Aws\Redshift\RedshiftClient'
),
'route53' => array(
'alias' => 'Route53',
'extends' => 'default_settings',
'class' => 'Aws\Route53\Route53Client'
),
's3' => array(
'alias' => 'S3',
'extends' => 'default_settings',
'class' => 'Aws\S3\S3Client'
),
'sdb' => array(
'alias' => 'SimpleDb',
'extends' => 'default_settings',
'class' => 'Aws\SimpleDb\SimpleDbClient'
),
'ses' => array(
'alias' => 'Ses',
'extends' => 'default_settings',
'class' => 'Aws\Ses\SesClient'
),
'sns' => array(
'alias' => 'Sns',
'extends' => 'default_settings',
'class' => 'Aws\Sns\SnsClient'
),
'sqs' => array(
'alias' => 'Sqs',
'extends' => 'default_settings',
'class' => 'Aws\Sqs\SqsClient'
),
'storagegateway' => array(
'alias' => 'StorageGateway',
'extends' => 'default_settings',
'class' => 'Aws\StorageGateway\StorageGatewayClient'
),
'sts' => array(
'alias' => 'Sts',
'extends' => 'default_settings',
'class' => 'Aws\Sts\StsClient'
),
'support' => array(
'alias' => 'Support',
'extends' => 'default_settings',
'class' => 'Aws\Support\SupportClient'
),
'swf' => array(
'alias' => 'Swf',
'extends' => 'default_settings',
'class' => 'Aws\Swf\SwfClient'
),
)
);
sdk-2.5.2/Aws/Common/Resources/sdk1-config.php 0000644 115327001610067500000007050 12272324172 016162 0 ustar array('_aws'),
'services' => array(
'sdk1_settings' => array(
'extends' => 'default_settings',
'params' => array(
'certificate_authority' => false
)
),
'v1.autoscaling' => array(
'extends' => 'sdk1_settings',
'class' => 'AmazonAS'
),
'v1.cloudformation' => array(
'extends' => 'sdk1_settings',
'class' => 'AmazonCloudFormation'
),
'v1.cloudfront' => array(
'extends' => 'sdk1_settings',
'class' => 'AmazonCloudFront'
),
'v1.cloudsearch' => array(
'extends' => 'sdk1_settings',
'class' => 'AmazonCloudSearch'
),
'v1.cloudwatch' => array(
'extends' => 'sdk1_settings',
'class' => 'AmazonCloudWatch'
),
'v1.dynamodb' => array(
'extends' => 'sdk1_settings',
'class' => 'AmazonDynamoDB'
),
'v1.ec2' => array(
'extends' => 'sdk1_settings',
'class' => 'AmazonEC2'
),
'v1.elasticache' => array(
'extends' => 'sdk1_settings',
'class' => 'AmazonElastiCache'
),
'v1.elasticbeanstalk' => array(
'extends' => 'sdk1_settings',
'class' => 'AmazonElasticBeanstalk'
),
'v1.elb' => array(
'extends' => 'sdk1_settings',
'class' => 'AmazonELB'
),
'v1.emr' => array(
'extends' => 'sdk1_settings',
'class' => 'AmazonEMR'
),
'v1.iam' => array(
'extends' => 'sdk1_settings',
'class' => 'AmazonIAM'
),
'v1.importexport' => array(
'extends' => 'sdk1_settings',
'class' => 'AmazonImportExport'
),
'v1.rds' => array(
'extends' => 'sdk1_settings',
'class' => 'AmazonRDS'
),
'v1.s3' => array(
'extends' => 'sdk1_settings',
'class' => 'AmazonS3'
),
'v1.sdb' => array(
'extends' => 'sdk1_settings',
'class' => 'AmazonSDB'
),
'v1.ses' => array(
'extends' => 'sdk1_settings',
'class' => 'AmazonSES'
),
'v1.sns' => array(
'extends' => 'sdk1_settings',
'class' => 'AmazonSNS'
),
'v1.sqs' => array(
'extends' => 'sdk1_settings',
'class' => 'AmazonSQS'
),
'v1.storagegateway' => array(
'extends' => 'sdk1_settings',
'class' => 'AmazonStorageGateway'
),
'v1.sts' => array(
'extends' => 'sdk1_settings',
'class' => 'AmazonSTS'
),
'v1.swf' => array(
'extends' => 'sdk1_settings',
'class' => 'AmazonSWF'
)
)
);
sdk-2.5.2/Aws/Common/Signature/AbstractSignature.php 0000644 115327001610067500000001601 12272324172 017465 0 ustar credentials = $credentials;
$this->signature = $signature;
}
/**
* {@inheritdoc}
*/
public static function getSubscribedEvents()
{
return array(
'request.before_send' => array('onRequestBeforeSend', -255),
'client.credentials_changed' => array('onCredentialsChanged')
);
}
/**
* Updates the listener with new credentials if the client is updated
*
* @param Event $event Event emitted
*/
public function onCredentialsChanged(Event $event)
{
$this->credentials = $event['credentials'];
}
/**
* Signs requests before they are sent
*
* @param Event $event Event emitted
*/
public function onRequestBeforeSend(Event $event)
{
$this->signature->signRequest($event['request'], $this->credentials);
}
}
sdk-2.5.2/Aws/Common/Signature/SignatureV2.php 0000644 115327001610067500000007065 12272324172 016223 0 ustar getTimestamp(true);
// set values we need in CanonicalizedParameterString
$this->addParameter($request, 'Timestamp', gmdate('c', $timestamp));
$this->addParameter($request, 'SignatureVersion', '2');
$this->addParameter($request, 'SignatureMethod', 'HmacSHA256');
$this->addParameter($request, 'AWSAccessKeyId', $credentials->getAccessKeyId());
if ($token = $credentials->getSecurityToken()) {
$this->addParameter($request, 'SecurityToken', $token);
}
// Get the path and ensure it's absolute
$path = '/' . ltrim($request->getUrl(true)->normalizePath()->getPath(), '/');
// build string to sign
$sign = $request->getMethod() . "\n"
. $request->getHost() . "\n"
. $path . "\n"
. $this->getCanonicalizedParameterString($request);
// Add the string to sign to the request for debugging purposes
$request->getParams()->set('aws.string_to_sign', $sign);
$signature = base64_encode(
hash_hmac(
'sha256',
$sign,
$credentials->getSecretKey(),
true
)
);
$this->addParameter($request, 'Signature', $signature);
}
/**
* Add a parameter key and value to the request according to type
*
* @param RequestInterface $request The request
* @param string $key The name of the parameter
* @param string $value The value of the parameter
*/
public function addParameter(RequestInterface $request, $key, $value)
{
if ($request->getMethod() == 'POST') {
$request->setPostField($key, $value);
} else {
$request->getQuery()->set($key, $value);
}
}
/**
* Get the canonicalized query/parameter string for a request
*
* @param RequestInterface $request Request used to build canonicalized string
*
* @return string
*/
private function getCanonicalizedParameterString(RequestInterface $request)
{
if ($request->getMethod() == 'POST') {
$params = $request->getPostFields()->toArray();
} else {
$params = $request->getQuery()->toArray();
}
// Don't resign a previous signature value
unset($params['Signature']);
uksort($params, 'strcmp');
$str = '';
foreach ($params as $key => $val) {
$str .= rawurlencode($key) . '=' . rawurlencode($val) . '&';
}
return substr($str, 0, -1);
}
}
sdk-2.5.2/Aws/Common/Signature/SignatureV3Https.php 0000644 115327001610067500000004101 12272324172 017233 0 ustar hasHeader('date') && !$request->hasHeader('x-amz-date')) {
$request->setHeader('Date', gmdate(DateFormat::RFC1123, $this->getTimestamp()));
}
// Add the security token if one is present
if ($credentials->getSecurityToken()) {
$request->setHeader('x-amz-security-token', $credentials->getSecurityToken());
}
// Determine the string to sign
$stringToSign = (string) ($request->getHeader('Date') ?: $request->getHeader('x-amz-date'));
$request->getParams()->set('aws.string_to_sign', $stringToSign);
// Calculate the signature
$signature = base64_encode(hash_hmac('sha256', $stringToSign, $credentials->getSecretKey(), true));
// Add the authorization header to the request
$headerFormat = 'AWS3-HTTPS AWSAccessKeyId=%s,Algorithm=HmacSHA256,Signature=%s';
$request->setHeader('X-Amzn-Authorization', sprintf($headerFormat, $credentials->getAccessKeyId(), $signature));
}
}
sdk-2.5.2/Aws/Common/Signature/SignatureV4.php 0000644 115327001610067500000024250 12272324172 016220 0 ustar serviceName = $serviceName;
$this->regionName = $regionName;
}
/**
* Set the service name instead of inferring it from a request URL
*
* @param string $service Name of the service used when signing
*
* @return self
*/
public function setServiceName($service)
{
$this->serviceName = $service;
return $this;
}
/**
* Set the region name instead of inferring it from a request URL
*
* @param string $region Name of the region used when signing
*
* @return self
*/
public function setRegionName($region)
{
$this->regionName = $region;
return $this;
}
/**
* Set the maximum number of computed hashes to cache
*
* @param int $maxCacheSize Maximum number of hashes to cache
*
* @return self
*/
public function setMaxCacheSize($maxCacheSize)
{
$this->maxCacheSize = $maxCacheSize;
return $this;
}
public function signRequest(RequestInterface $request, CredentialsInterface $credentials)
{
$timestamp = $this->getTimestamp();
$longDate = gmdate(DateFormat::ISO8601, $timestamp);
$shortDate = substr($longDate, 0, 8);
// Remove any previously set Authorization headers so that retries work
$request->removeHeader('Authorization');
// Requires a x-amz-date header or Date
if ($request->hasHeader('x-amz-date') || !$request->hasHeader('Date')) {
$request->setHeader('x-amz-date', $longDate);
} else {
$request->setHeader('Date', gmdate(DateFormat::RFC1123, $timestamp));
}
// Add the security token if one is present
if ($credentials->getSecurityToken()) {
$request->setHeader('x-amz-security-token', $credentials->getSecurityToken());
}
// Parse the service and region or use one that is explicitly set
$region = $this->regionName;
$service = $this->serviceName;
if (!$region || !$service) {
$url = Url::factory($request->getUrl());
$region = $region ?: HostNameUtils::parseRegionName($url);
$service = $service ?: HostNameUtils::parseServiceName($url);
}
$credentialScope = "{$shortDate}/{$region}/{$service}/aws4_request";
// Calculate the request signature payload
if ($request->hasHeader('x-amz-content-sha256')) {
// Handle streaming operations (e.g. Glacier.UploadArchive)
$payload = $request->getHeader('x-amz-content-sha256');
} elseif ($request instanceof EntityEnclosingRequestInterface) {
$payload = hash(
'sha256',
$request->getMethod() == 'POST' && count($request->getPostFields())
? (string) $request->getPostFields()
: (string) $request->getBody()
);
} else {
// Use the default payload if there is no body
$payload = self::DEFAULT_PAYLOAD;
}
$signingContext = $this->createSigningContext($request, $payload);
$signingContext['string_to_sign'] = "AWS4-HMAC-SHA256\n{$longDate}\n{$credentialScope}\n"
. hash('sha256', $signingContext['canonical_request']);
// Calculate the signing key using a series of derived keys
$signingKey = $this->getSigningKey($shortDate, $region, $service, $credentials->getSecretKey());
$signature = hash_hmac('sha256', $signingContext['string_to_sign'], $signingKey);
$request->setHeader('Authorization', "AWS4-HMAC-SHA256 "
. "Credential={$credentials->getAccessKeyId()}/{$credentialScope}, "
. "SignedHeaders={$signingContext['signed_headers']}, Signature={$signature}");
// Add debug information to the request
$request->getParams()->set('aws.signature', $signingContext);
}
/**
* Create the canonical representation of a request
*
* @param RequestInterface $request Request to canonicalize
* @param string $payload Request payload (typically the value
* of the x-amz-content-sha256 header.
*
* @return array Returns an array of context information including:
* - canonical_request
* - signed_headers
*/
protected function createSigningContext(RequestInterface $request, $payload)
{
// Normalize the path as required by SigV4 and ensure it's absolute
$canon = $request->getMethod() . "\n"
. $this->normalizePath($request) . "\n"
. $this->getCanonicalizedQueryString($request) . "\n";
// Create the canonical headers
$headers = array();
foreach ($request->getHeaders()->getAll() as $key => $values) {
$key = strtolower($key);
if ($key != 'user-agent') {
$headers[$key] = array();
foreach ($values as $value) {
$headers[$key][] = preg_replace('/\s+/', ' ', trim($value));
}
// Sort the value if there is more than one
if (count($values) > 1) {
sort($headers[$key]);
}
}
}
// The headers must be sorted
ksort($headers);
// Continue to build the canonical request by adding headers
foreach ($headers as $key => $values) {
// Combine multi-value headers into a comma separated list
$canon .= $key . ':' . implode(',', $values) . "\n";
}
// Create the signed headers
$signedHeaders = implode(';', array_keys($headers));
$canon .= "\n{$signedHeaders}\n{$payload}";
return array(
'canonical_request' => $canon,
'signed_headers' => $signedHeaders
);
}
/**
* Get the normalized path of a request
*
* @param RequestInterface $request Request to normalize
*
* @return string Returns the normalized path
*/
protected function normalizePath(RequestInterface $request)
{
return '/' . ltrim($request->getUrl(true)->normalizePath()->getPath(), '/');
}
/**
* Get a hash for a specific key and value. If the hash was previously
* cached, return it
*
* @param string $shortDate Short date
* @param string $region Region name
* @param string $service Service name
* @param string $secretKey Secret Access Key
*
* @return string
*/
protected function getSigningKey($shortDate, $region, $service, $secretKey)
{
$cacheKey = $shortDate . '_' . $region . '_' . $service . '_' . $secretKey;
// Retrieve the hash form the cache or create it and add it to the cache
if (!isset($this->hashCache[$cacheKey])) {
// When the cache size reaches the max, then just clear the cache
if (++$this->cacheSize > $this->maxCacheSize) {
$this->hashCache = array();
$this->cacheSize = 0;
}
$dateKey = hash_hmac('sha256', $shortDate, 'AWS4' . $secretKey, true);
$regionKey = hash_hmac('sha256', $region, $dateKey, true);
$serviceKey = hash_hmac('sha256', $service, $regionKey, true);
$this->hashCache[$cacheKey] = hash_hmac('sha256', 'aws4_request', $serviceKey, true);
}
return $this->hashCache[$cacheKey];
}
/**
* Get the canonicalized query string for a request
*
* @param RequestInterface $request
* @return string
*/
private function getCanonicalizedQueryString(RequestInterface $request)
{
$queryParams = $request->getQuery()->getAll();
unset($queryParams['X-Amz-Signature']);
if (empty($queryParams)) {
return '';
}
$qs = '';
ksort($queryParams);
foreach ($queryParams as $key => $values) {
if (is_array($values)) {
sort($values);
} elseif (!$values) {
$values = array('');
}
foreach ((array) $values as $value) {
if ($value === QueryString::BLANK) {
$value = '';
}
$qs .= rawurlencode($key) . '=' . rawurlencode($value) . '&';
}
}
return substr($qs, 0, -1);
}
}
sdk-2.5.2/Aws/Common/Waiter/AbstractResourceWaiter.php 0000644 115327001610067500000002472 12272324172 017770 0 ustar client = $client;
return $this;
}
/**
* {@inheritdoc}
*/
public function wait()
{
if (!$this->client) {
throw new RuntimeException('No client has been specified on the waiter');
}
parent::wait();
}
}
sdk-2.5.2/Aws/Common/Waiter/AbstractWaiter.php 0000644 115327001610067500000007221 12272324172 016255 0 ustar config[self::MAX_ATTEMPTS]) ? $this->config[self::MAX_ATTEMPTS] : 10;
}
/**
* Get the amount of time in seconds to delay between attempts
*
* @return int
*/
public function getInterval()
{
return isset($this->config[self::INTERVAL]) ? $this->config[self::INTERVAL] : 0;
}
/**
* {@inheritdoc}
*/
public function setMaxAttempts($maxAttempts)
{
$this->config[self::MAX_ATTEMPTS] = $maxAttempts;
return $this;
}
/**
* {@inheritdoc}
*/
public function setInterval($interval)
{
$this->config[self::INTERVAL] = $interval;
return $this;
}
/**
* Set config options associated with the waiter
*
* @param array $config Options to set
*
* @return self
*/
public function setConfig(array $config)
{
if (isset($config['waiter.before_attempt'])) {
$this->getEventDispatcher()->addListener('waiter.before_attempt', $config['waiter.before_attempt']);
unset($config['waiter.before_attempt']);
}
if (isset($config['waiter.before_wait'])) {
$this->getEventDispatcher()->addListener('waiter.before_wait', $config['waiter.before_wait']);
unset($config['waiter.before_wait']);
}
$this->config = $config;
return $this;
}
/**
* {@inheritdoc}
*/
public function wait()
{
$this->attempts = 0;
do {
$this->dispatch('waiter.before_attempt', array(
'waiter' => $this,
'config' => $this->config,
));
if ($this->doWait()) {
break;
}
if (++$this->attempts >= $this->getMaxAttempts()) {
throw new RuntimeException('Wait method never resolved to true after ' . $this->attempts . ' attempts');
}
$this->dispatch('waiter.before_wait', array(
'waiter' => $this,
'config' => $this->config,
));
if ($this->getInterval()) {
usleep($this->getInterval() * 1000000);
}
} while (1);
}
/**
* Method to implement in subclasses
*
* @return bool Return true when successful, false on failure
*/
abstract protected function doWait();
}
sdk-2.5.2/Aws/Common/Waiter/CallableWaiter.php 0000644 115327001610067500000004110 12272324172 016203 0 ustar callable = $callable;
return $this;
}
/**
* Set additional context for the callable function. This data will be passed into the callable function as the
* second argument
*
* @param array $context Additional context
*
* @return self
*/
public function setContext(array $context)
{
$this->context = $context;
return $this;
}
/**
* {@inheritdoc}
*/
public function doWait()
{
if (!$this->callable) {
throw new RuntimeException('No callable was specified for the wait method');
}
return call_user_func($this->callable, $this->attempts, $this->context);
}
}
sdk-2.5.2/Aws/Common/Waiter/CompositeWaiterFactory.php 0000644 115327001610067500000004245 12272324172 020007 0 ustar factories = $factories;
}
/**
* {@inheritdoc}
*/
public function build($waiter)
{
if (!($factory = $this->getFactory($waiter))) {
throw new InvalidArgumentException("Waiter was not found matching {$waiter}.");
}
return $factory->build($waiter);
}
/**
* {@inheritdoc}
*/
public function canBuild($waiter)
{
return (bool) $this->getFactory($waiter);
}
/**
* Add a factory to the composite factory
*
* @param WaiterFactoryInterface $factory Factory to add
*
* @return self
*/
public function addFactory(WaiterFactoryInterface $factory)
{
$this->factories[] = $factory;
return $this;
}
/**
* Get the factory that matches the waiter name
*
* @param string $waiter Name of the waiter
*
* @return WaiterFactoryInterface|bool
*/
protected function getFactory($waiter)
{
foreach ($this->factories as $factory) {
if ($factory->canBuild($waiter)) {
return $factory;
}
}
return false;
}
}
sdk-2.5.2/Aws/Common/Waiter/ConfigResourceWaiter.php 0000644 115327001610067500000016564 12272324172 017441 0 ustar waiterConfig = $waiterConfig;
$this->setInterval($waiterConfig->get(WaiterConfig::INTERVAL));
$this->setMaxAttempts($waiterConfig->get(WaiterConfig::MAX_ATTEMPTS));
}
/**
* {@inheritdoc}
*/
public function setConfig(array $config)
{
foreach ($config as $key => $value) {
if (substr($key, 0, 7) == 'waiter.') {
$this->waiterConfig->set(substr($key, 7), $value);
}
}
if (!isset($config[self::INTERVAL])) {
$config[self::INTERVAL] = $this->waiterConfig->get(WaiterConfig::INTERVAL);
}
if (!isset($config[self::MAX_ATTEMPTS])) {
$config[self::MAX_ATTEMPTS] = $this->waiterConfig->get(WaiterConfig::MAX_ATTEMPTS);
}
return parent::setConfig($config);
}
/**
* Get the waiter's configuration data
*
* @return WaiterConfig
*/
public function getWaiterConfig()
{
return $this->waiterConfig;
}
/**
* {@inheritdoc}
*/
protected function doWait()
{
$params = $this->config;
// remove waiter settings from the operation's input
foreach (array_keys($params) as $key) {
if (substr($key, 0, 7) == 'waiter.') {
unset($params[$key]);
}
}
$operation = $this->client->getCommand($this->waiterConfig->get(WaiterConfig::OPERATION), $params);
try {
return $this->checkResult($this->client->execute($operation));
} catch (ValidationException $e) {
throw new InvalidArgumentException(
$this->waiterConfig->get(WaiterConfig::WAITER_NAME) . ' waiter validation failed: ' . $e->getMessage(),
$e->getCode(),
$e
);
} catch (ServiceResponseException $e) {
// Check if this exception satisfies a success or failure acceptor
$transition = $this->checkErrorAcceptor($e);
if (null !== $transition) {
return $transition;
}
// Check if this exception should be ignored
foreach ((array) $this->waiterConfig->get(WaiterConfig::IGNORE_ERRORS) as $ignore) {
if ($e->getExceptionCode() == $ignore) {
// This exception is ignored, so it counts as a failed attempt rather than a fast-fail
return false;
}
}
// Allow non-ignore exceptions to bubble through
throw $e;
}
}
/**
* Check if an exception satisfies a success or failure acceptor
*
* @param ServiceResponseException $e
*
* @return bool|null Returns true for success, false for failure, and null for no transition
*/
protected function checkErrorAcceptor(ServiceResponseException $e)
{
if ($this->waiterConfig->get(WaiterConfig::SUCCESS_TYPE) == 'error') {
if ($e->getExceptionCode() == $this->waiterConfig->get(WaiterConfig::SUCCESS_VALUE)) {
// Mark as a success
return true;
}
}
// Mark as an attempt
return null;
}
/**
* Check to see if the response model satisfies a success or failure state
*
* @param Model $result Result model
*
* @return bool
* @throws RuntimeException
*/
protected function checkResult(Model $result)
{
// Check if the result evaluates to true based on the path and output model
if ($this->waiterConfig->get(WaiterConfig::SUCCESS_TYPE) == 'output' &&
$this->checkPath(
$result,
$this->waiterConfig->get(WaiterConfig::SUCCESS_PATH),
$this->waiterConfig->get(WaiterConfig::SUCCESS_VALUE)
)
) {
return true;
}
// It did not finish waiting yet. Determine if we need to fail-fast based on the failure acceptor.
if ($this->waiterConfig->get(WaiterConfig::FAILURE_TYPE) == 'output') {
$failureValue = $this->waiterConfig->get(WaiterConfig::FAILURE_VALUE);
if ($failureValue) {
$key = $this->waiterConfig->get(WaiterConfig::FAILURE_PATH);
if ($this->checkPath($result, $key, $failureValue, false)) {
// Determine which of the results triggered the failure
$triggered = array_intersect(
(array) $this->waiterConfig->get(WaiterConfig::FAILURE_VALUE),
array_unique((array) $result->getPath($key))
);
// fast fail because the failure case was satisfied
throw new RuntimeException(
'A resource entered into an invalid state of "'
. implode(', ', $triggered) . '" while waiting with the "'
. $this->waiterConfig->get(WaiterConfig::WAITER_NAME) . '" waiter.'
);
}
}
}
return false;
}
/**
* Check to see if the path of the output key is satisfied by the value
*
* @param Model $model Result model
* @param string $key Key to check
* @param string $checkValue Compare the key to the value
* @param bool $all Set to true to ensure all value match or false to only match one
*
* @return bool
*/
protected function checkPath(Model $model, $key = null, $checkValue = array(), $all = true)
{
// If no key is set, then just assume true because the request succeeded
if (!$key) {
return true;
}
if (!($result = $model->getPath($key))) {
return false;
}
$total = $matches = 0;
foreach ((array) $result as $value) {
$total++;
foreach ((array) $checkValue as $check) {
if ($value == $check) {
$matches++;
break;
}
}
}
// When matching all values, ensure that the match count matches the total count
if ($all && $total != $matches) {
return false;
}
return $matches > 0;
}
}
sdk-2.5.2/Aws/Common/Waiter/ResourceWaiterInterface.php 0000644 115327001610067500000002010 12272324172 020111 0 ustar CamelCase).
*/
class WaiterClassFactory implements WaiterFactoryInterface
{
/**
* @var array List of namespaces used to look for classes
*/
protected $namespaces;
/**
* @var InflectorInterface Inflector used to inflect class names
*/
protected $inflector;
/**
* @param array|string $namespaces Namespaces of waiter objects
* @param InflectorInterface $inflector Inflector used to resolve class names
*/
public function __construct($namespaces = array(), InflectorInterface $inflector = null)
{
$this->namespaces = (array) $namespaces;
$this->inflector = $inflector ?: Inflector::getDefault();
}
/**
* Registers a namespace to check for Waiters
*
* @param string $namespace Namespace which contains Waiter classes
*
* @return self
*/
public function registerNamespace($namespace)
{
array_unshift($this->namespaces, $namespace);
return $this;
}
/**
* {@inheritdoc}
*/
public function build($waiter)
{
if (!($className = $this->getClassName($waiter))) {
throw new InvalidArgumentException("Waiter was not found matching {$waiter}.");
}
return new $className();
}
/**
* {@inheritdoc}
*/
public function canBuild($waiter)
{
return $this->getClassName($waiter) !== null;
}
/**
* Get the name of a waiter class
*
* @param string $waiter Waiter name
*
* @return string|null
*/
protected function getClassName($waiter)
{
$waiterName = $this->inflector->camel($waiter);
// Determine the name of the class to load
$className = null;
foreach ($this->namespaces as $namespace) {
$potentialClassName = $namespace . '\\' . $waiterName;
if (class_exists($potentialClassName)) {
return $potentialClassName;
}
}
return null;
}
}
sdk-2.5.2/Aws/Common/Waiter/WaiterConfig.php 0000644 115327001610067500000004067 12272324172 015724 0 ustar data = $data;
$this->extractConfig();
}
/**
* Create the command configuration variables
*/
protected function extractConfig()
{
// Populate success.* and failure.* if specified in acceptor.*
foreach ($this->data as $key => $value) {
if (substr($key, 0, 9) == 'acceptor.') {
$name = substr($key, 9);
if (!isset($this->data["success.{$name}"])) {
$this->data["success.{$name}"] = $value;
}
if (!isset($this->data["failure.{$name}"])) {
$this->data["failure.{$name}"] = $value;
}
unset($this->data[$key]);
}
}
}
}
sdk-2.5.2/Aws/Common/Waiter/WaiterConfigFactory.php 0000644 115327001610067500000005636 12272324172 017257 0 ustar config = $config;
$this->inflector = $inflector ?: Inflector::getDefault();
}
/**
* {@inheritdoc}
*/
public function build($waiter)
{
return new ConfigResourceWaiter($this->getWaiterConfig($waiter));
}
/**
* {@inheritdoc}
*/
public function canBuild($waiter)
{
return isset($this->config[$waiter]) || isset($this->config[$this->inflector->camel($waiter)]);
}
/**
* Get waiter configuration data, taking __default__ and extensions into account
*
* @param string $name Waiter name
*
* @return WaiterConfig
* @throws InvalidArgumentException
*/
protected function getWaiterConfig($name)
{
if (!$this->canBuild($name)) {
throw new InvalidArgumentException('No waiter found matching "' . $name . '"');
}
// inflect the name if needed
$name = isset($this->config[$name]) ? $name : $this->inflector->camel($name);
$waiter = new WaiterConfig($this->config[$name]);
$waiter['name'] = $name;
// Always use __default__ as the basis if it's set
if (isset($this->config['__default__'])) {
$parentWaiter = new WaiterConfig($this->config['__default__']);
$waiter = $parentWaiter->overwriteWith($waiter);
}
// Allow for configuration extensions
if (isset($this->config[$name]['extends'])) {
$waiter = $this->getWaiterConfig($this->config[$name]['extends'])->overwriteWith($waiter);
}
return $waiter;
}
}
sdk-2.5.2/Aws/Common/Waiter/WaiterFactoryInterface.php 0000644 115327001610067500000002152 12272324172 017740 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/datapipeline-%s.php'
))
->setExceptionParser(new JsonQueryExceptionParser())
->setIteratorsConfig(array(
'limit_key' => 'limit',
'more_key' => 'hasMoreResults',
'token_param' => 'marker',
'token_key' => 'marker',
'operations' => array(
'ListPipelines' => array(
'result_key' => 'pipelineIdList',
),
'DescribeObjects' => array(
'result_key' => 'pipelineObjects',
),
'QueryObjects' => array(
'result_key' => 'ids',
),
)
))
->build();
return $client;
}
}
sdk-2.5.2/Aws/DataPipeline/Enum/WorkStatus.php 0000644 115327001610067500000001464 12272324172 016247 0 ustar '2012-10-29',
'endpointPrefix' => 'datapipeline',
'serviceFullName' => 'AWS Data Pipeline',
'serviceType' => 'json',
'jsonVersion' => '1.1',
'targetPrefix' => 'DataPipeline.',
'signatureVersion' => 'v4',
'namespace' => 'DataPipeline',
'regions' => array(
'us-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'datapipeline.us-east-1.amazonaws.com',
),
),
'operations' => array(
'ActivatePipeline' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DataPipeline.ActivatePipeline',
),
'pipelineId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 1024,
),
),
'errorResponses' => array(
array(
'reason' => 'The specified pipeline was not found. Verify that you used the correct user and account identifiers.',
'class' => 'PipelineNotFoundException',
),
array(
'reason' => 'The specified pipeline has been deleted.',
'class' => 'PipelineDeletedException',
),
array(
'reason' => 'An internal service error occurred.',
'class' => 'InternalServiceErrorException',
),
array(
'reason' => 'The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven\'t exceeded any of the service limits for your account.',
'class' => 'InvalidRequestException',
),
),
),
'CreatePipeline' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'CreatePipelineOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DataPipeline.CreatePipeline',
),
'name' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 1024,
),
'uniqueId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 1024,
),
'description' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 1024,
),
),
'errorResponses' => array(
array(
'reason' => 'An internal service error occurred.',
'class' => 'InternalServiceErrorException',
),
array(
'reason' => 'The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven\'t exceeded any of the service limits for your account.',
'class' => 'InvalidRequestException',
),
),
),
'DeletePipeline' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DataPipeline.DeletePipeline',
),
'pipelineId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 1024,
),
),
'errorResponses' => array(
array(
'reason' => 'The specified pipeline was not found. Verify that you used the correct user and account identifiers.',
'class' => 'PipelineNotFoundException',
),
array(
'reason' => 'An internal service error occurred.',
'class' => 'InternalServiceErrorException',
),
array(
'reason' => 'The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven\'t exceeded any of the service limits for your account.',
'class' => 'InvalidRequestException',
),
),
),
'DescribeObjects' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeObjectsOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DataPipeline.DescribeObjects',
),
'pipelineId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 1024,
),
'objectIds' => array(
'required' => true,
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'id',
'type' => 'string',
'minLength' => 1,
'maxLength' => 1024,
),
),
'evaluateExpressions' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'marker' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 1024,
),
),
'errorResponses' => array(
array(
'reason' => 'An internal service error occurred.',
'class' => 'InternalServiceErrorException',
),
array(
'reason' => 'The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven\'t exceeded any of the service limits for your account.',
'class' => 'InvalidRequestException',
),
array(
'reason' => 'The specified pipeline was not found. Verify that you used the correct user and account identifiers.',
'class' => 'PipelineNotFoundException',
),
array(
'reason' => 'The specified pipeline has been deleted.',
'class' => 'PipelineDeletedException',
),
),
),
'DescribePipelines' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribePipelinesOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DataPipeline.DescribePipelines',
),
'pipelineIds' => array(
'required' => true,
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'id',
'type' => 'string',
'minLength' => 1,
'maxLength' => 1024,
),
),
),
'errorResponses' => array(
array(
'reason' => 'The specified pipeline was not found. Verify that you used the correct user and account identifiers.',
'class' => 'PipelineNotFoundException',
),
array(
'reason' => 'The specified pipeline has been deleted.',
'class' => 'PipelineDeletedException',
),
array(
'reason' => 'An internal service error occurred.',
'class' => 'InternalServiceErrorException',
),
array(
'reason' => 'The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven\'t exceeded any of the service limits for your account.',
'class' => 'InvalidRequestException',
),
),
),
'EvaluateExpression' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EvaluateExpressionOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DataPipeline.EvaluateExpression',
),
'pipelineId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 1024,
),
'objectId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 1024,
),
'expression' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'maxLength' => 20971520,
),
),
'errorResponses' => array(
array(
'reason' => 'An internal service error occurred.',
'class' => 'InternalServiceErrorException',
),
array(
'reason' => 'The specified task was not found.',
'class' => 'TaskNotFoundException',
),
array(
'reason' => 'The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven\'t exceeded any of the service limits for your account.',
'class' => 'InvalidRequestException',
),
array(
'reason' => 'The specified pipeline was not found. Verify that you used the correct user and account identifiers.',
'class' => 'PipelineNotFoundException',
),
array(
'reason' => 'The specified pipeline has been deleted.',
'class' => 'PipelineDeletedException',
),
),
),
'GetPipelineDefinition' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'GetPipelineDefinitionOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DataPipeline.GetPipelineDefinition',
),
'pipelineId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 1024,
),
'version' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 1024,
),
),
'errorResponses' => array(
array(
'reason' => 'An internal service error occurred.',
'class' => 'InternalServiceErrorException',
),
array(
'reason' => 'The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven\'t exceeded any of the service limits for your account.',
'class' => 'InvalidRequestException',
),
array(
'reason' => 'The specified pipeline was not found. Verify that you used the correct user and account identifiers.',
'class' => 'PipelineNotFoundException',
),
array(
'reason' => 'The specified pipeline has been deleted.',
'class' => 'PipelineDeletedException',
),
),
),
'ListPipelines' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ListPipelinesOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DataPipeline.ListPipelines',
),
'marker' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 1024,
),
),
'errorResponses' => array(
array(
'reason' => 'An internal service error occurred.',
'class' => 'InternalServiceErrorException',
),
array(
'reason' => 'The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven\'t exceeded any of the service limits for your account.',
'class' => 'InvalidRequestException',
),
),
),
'PollForTask' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'PollForTaskOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DataPipeline.PollForTask',
),
'workerGroup' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'maxLength' => 1024,
),
'hostname' => array(
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 1024,
),
'instanceIdentity' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'document' => array(
'type' => 'string',
'maxLength' => 1024,
),
'signature' => array(
'type' => 'string',
'maxLength' => 1024,
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'An internal service error occurred.',
'class' => 'InternalServiceErrorException',
),
array(
'reason' => 'The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven\'t exceeded any of the service limits for your account.',
'class' => 'InvalidRequestException',
),
array(
'reason' => 'The specified task was not found.',
'class' => 'TaskNotFoundException',
),
),
),
'PutPipelineDefinition' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'PutPipelineDefinitionOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DataPipeline.PutPipelineDefinition',
),
'pipelineId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 1024,
),
'pipelineObjects' => array(
'required' => true,
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'PipelineObject',
'type' => 'object',
'properties' => array(
'id' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 1024,
),
'name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 1024,
),
'fields' => array(
'required' => true,
'type' => 'array',
'items' => array(
'name' => 'Field',
'type' => 'object',
'properties' => array(
'key' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
'stringValue' => array(
'type' => 'string',
'maxLength' => 10240,
),
'refValue' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
),
),
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'An internal service error occurred.',
'class' => 'InternalServiceErrorException',
),
array(
'reason' => 'The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven\'t exceeded any of the service limits for your account.',
'class' => 'InvalidRequestException',
),
array(
'reason' => 'The specified pipeline was not found. Verify that you used the correct user and account identifiers.',
'class' => 'PipelineNotFoundException',
),
array(
'reason' => 'The specified pipeline has been deleted.',
'class' => 'PipelineDeletedException',
),
),
),
'QueryObjects' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'QueryObjectsOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DataPipeline.QueryObjects',
),
'pipelineId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 1024,
),
'query' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'selectors' => array(
'type' => 'array',
'items' => array(
'name' => 'Selector',
'type' => 'object',
'properties' => array(
'fieldName' => array(
'type' => 'string',
'maxLength' => 1024,
),
'operator' => array(
'type' => 'object',
'properties' => array(
'' => array(
),
),
),
),
),
),
),
),
'sphere' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'maxLength' => 1024,
),
'marker' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 1024,
),
'limit' => array(
'type' => 'numeric',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified pipeline was not found. Verify that you used the correct user and account identifiers.',
'class' => 'PipelineNotFoundException',
),
array(
'reason' => 'The specified pipeline has been deleted.',
'class' => 'PipelineDeletedException',
),
array(
'reason' => 'An internal service error occurred.',
'class' => 'InternalServiceErrorException',
),
array(
'reason' => 'The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven\'t exceeded any of the service limits for your account.',
'class' => 'InvalidRequestException',
),
),
),
'ReportTaskProgress' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ReportTaskProgressOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DataPipeline.ReportTaskProgress',
),
'taskId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 2048,
),
),
'errorResponses' => array(
array(
'reason' => 'An internal service error occurred.',
'class' => 'InternalServiceErrorException',
),
array(
'reason' => 'The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven\'t exceeded any of the service limits for your account.',
'class' => 'InvalidRequestException',
),
array(
'reason' => 'The specified task was not found.',
'class' => 'TaskNotFoundException',
),
array(
'reason' => 'The specified pipeline was not found. Verify that you used the correct user and account identifiers.',
'class' => 'PipelineNotFoundException',
),
array(
'reason' => 'The specified pipeline has been deleted.',
'class' => 'PipelineDeletedException',
),
),
),
'ReportTaskRunnerHeartbeat' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ReportTaskRunnerHeartbeatOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DataPipeline.ReportTaskRunnerHeartbeat',
),
'taskrunnerId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 1024,
),
'workerGroup' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 1024,
),
'hostname' => array(
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 1024,
),
),
'errorResponses' => array(
array(
'reason' => 'An internal service error occurred.',
'class' => 'InternalServiceErrorException',
),
array(
'reason' => 'The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven\'t exceeded any of the service limits for your account.',
'class' => 'InvalidRequestException',
),
),
),
'SetStatus' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DataPipeline.SetStatus',
),
'pipelineId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 1024,
),
'objectIds' => array(
'required' => true,
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'id',
'type' => 'string',
'minLength' => 1,
'maxLength' => 1024,
),
),
'status' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'maxLength' => 1024,
),
),
'errorResponses' => array(
array(
'reason' => 'The specified pipeline was not found. Verify that you used the correct user and account identifiers.',
'class' => 'PipelineNotFoundException',
),
array(
'reason' => 'The specified pipeline has been deleted.',
'class' => 'PipelineDeletedException',
),
array(
'reason' => 'An internal service error occurred.',
'class' => 'InternalServiceErrorException',
),
array(
'reason' => 'The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven\'t exceeded any of the service limits for your account.',
'class' => 'InvalidRequestException',
),
),
),
'SetTaskStatus' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DataPipeline.SetTaskStatus',
),
'taskId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 2048,
),
'taskStatus' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'errorId' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 1024,
),
'errorMessage' => array(
'type' => 'string',
'location' => 'json',
),
'errorStackTrace' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 1024,
),
),
'errorResponses' => array(
array(
'reason' => 'An internal service error occurred.',
'class' => 'InternalServiceErrorException',
),
array(
'reason' => 'The specified task was not found.',
'class' => 'TaskNotFoundException',
),
array(
'reason' => 'The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven\'t exceeded any of the service limits for your account.',
'class' => 'InvalidRequestException',
),
array(
'reason' => 'The specified pipeline was not found. Verify that you used the correct user and account identifiers.',
'class' => 'PipelineNotFoundException',
),
array(
'reason' => 'The specified pipeline has been deleted.',
'class' => 'PipelineDeletedException',
),
),
),
'ValidatePipelineDefinition' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ValidatePipelineDefinitionOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DataPipeline.ValidatePipelineDefinition',
),
'pipelineId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 1024,
),
'pipelineObjects' => array(
'required' => true,
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'PipelineObject',
'type' => 'object',
'properties' => array(
'id' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 1024,
),
'name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 1024,
),
'fields' => array(
'required' => true,
'type' => 'array',
'items' => array(
'name' => 'Field',
'type' => 'object',
'properties' => array(
'key' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
'stringValue' => array(
'type' => 'string',
'maxLength' => 10240,
),
'refValue' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
),
),
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'An internal service error occurred.',
'class' => 'InternalServiceErrorException',
),
array(
'reason' => 'The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven\'t exceeded any of the service limits for your account.',
'class' => 'InvalidRequestException',
),
array(
'reason' => 'The specified pipeline was not found. Verify that you used the correct user and account identifiers.',
'class' => 'PipelineNotFoundException',
),
array(
'reason' => 'The specified pipeline has been deleted.',
'class' => 'PipelineDeletedException',
),
),
),
),
'models' => array(
'EmptyOutput' => array(
'type' => 'object',
'additionalProperties' => true,
),
'CreatePipelineOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'pipelineId' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'DescribeObjectsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'pipelineObjects' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'PipelineObject',
'type' => 'object',
'properties' => array(
'id' => array(
'type' => 'string',
),
'name' => array(
'type' => 'string',
),
'fields' => array(
'type' => 'array',
'items' => array(
'name' => 'Field',
'type' => 'object',
'properties' => array(
'key' => array(
'type' => 'string',
),
'stringValue' => array(
'type' => 'string',
),
'refValue' => array(
'type' => 'string',
),
),
),
),
),
),
),
'marker' => array(
'type' => 'string',
'location' => 'json',
),
'hasMoreResults' => array(
'type' => 'boolean',
'location' => 'json',
),
),
),
'DescribePipelinesOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'pipelineDescriptionList' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'PipelineDescription',
'type' => 'object',
'properties' => array(
'pipelineId' => array(
'type' => 'string',
),
'name' => array(
'type' => 'string',
),
'fields' => array(
'type' => 'array',
'items' => array(
'name' => 'Field',
'type' => 'object',
'properties' => array(
'key' => array(
'type' => 'string',
),
'stringValue' => array(
'type' => 'string',
),
'refValue' => array(
'type' => 'string',
),
),
),
),
'description' => array(
'type' => 'string',
),
),
),
),
),
),
'EvaluateExpressionOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'evaluatedExpression' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'GetPipelineDefinitionOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'pipelineObjects' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'PipelineObject',
'type' => 'object',
'properties' => array(
'id' => array(
'type' => 'string',
),
'name' => array(
'type' => 'string',
),
'fields' => array(
'type' => 'array',
'items' => array(
'name' => 'Field',
'type' => 'object',
'properties' => array(
'key' => array(
'type' => 'string',
),
'stringValue' => array(
'type' => 'string',
),
'refValue' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'ListPipelinesOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'pipelineIdList' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'PipelineIdName',
'type' => 'object',
'properties' => array(
'id' => array(
'type' => 'string',
),
'name' => array(
'type' => 'string',
),
),
),
),
'marker' => array(
'type' => 'string',
'location' => 'json',
),
'hasMoreResults' => array(
'type' => 'boolean',
'location' => 'json',
),
),
),
'PollForTaskOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'taskObject' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'taskId' => array(
'type' => 'string',
),
'pipelineId' => array(
'type' => 'string',
),
'attemptId' => array(
'type' => 'string',
),
'objects' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'id' => array(
'type' => 'string',
),
'name' => array(
'type' => 'string',
),
'fields' => array(
'type' => 'array',
'items' => array(
'name' => 'Field',
'type' => 'object',
'properties' => array(
'key' => array(
'type' => 'string',
),
'stringValue' => array(
'type' => 'string',
),
'refValue' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
),
),
'PutPipelineDefinitionOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'validationErrors' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'ValidationError',
'type' => 'object',
'properties' => array(
'id' => array(
'type' => 'string',
),
'errors' => array(
'type' => 'array',
'items' => array(
'name' => 'validationMessage',
'type' => 'string',
),
),
),
),
),
'validationWarnings' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'ValidationWarning',
'type' => 'object',
'properties' => array(
'id' => array(
'type' => 'string',
),
'warnings' => array(
'type' => 'array',
'items' => array(
'name' => 'validationMessage',
'type' => 'string',
),
),
),
),
),
'errored' => array(
'type' => 'boolean',
'location' => 'json',
),
),
),
'QueryObjectsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ids' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'id',
'type' => 'string',
),
),
'marker' => array(
'type' => 'string',
'location' => 'json',
),
'hasMoreResults' => array(
'type' => 'boolean',
'location' => 'json',
),
),
),
'ReportTaskProgressOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'canceled' => array(
'type' => 'boolean',
'location' => 'json',
),
),
),
'ReportTaskRunnerHeartbeatOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'terminate' => array(
'type' => 'boolean',
'location' => 'json',
),
),
),
'ValidatePipelineDefinitionOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'validationErrors' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'ValidationError',
'type' => 'object',
'properties' => array(
'id' => array(
'type' => 'string',
),
'errors' => array(
'type' => 'array',
'items' => array(
'name' => 'validationMessage',
'type' => 'string',
),
),
),
),
),
'validationWarnings' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'ValidationWarning',
'type' => 'object',
'properties' => array(
'id' => array(
'type' => 'string',
),
'warnings' => array(
'type' => 'array',
'items' => array(
'name' => 'validationMessage',
'type' => 'string',
),
),
),
),
),
'errored' => array(
'type' => 'boolean',
'location' => 'json',
),
),
),
),
);
sdk-2.5.2/Aws/DirectConnect/DirectConnectClient.php 0000644 115327001610067500000012676 12272324172 017274 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/directconnect-%s.php'
))
->setExceptionParser(new JsonQueryExceptionParser())
->setIteratorsConfig(array(
'operations' => array(
'DescribeConnections' => array(
'result_key' => 'connections',
),
'DescribeOfferings' => array(
'result_key' => 'offerings',
),
'DescribeVirtualGateways' => array(
'result_key' => 'virtualGateways',
),
'DescribeVirtualInterfaces' => array(
'result_key' => 'virtualInterfaces',
),
)
))
->build();
}
}
sdk-2.5.2/Aws/DirectConnect/Enum/ConnectionState.php 0000644 115327001610067500000001746 12272324172 017411 0 ustar '2012-10-25',
'endpointPrefix' => 'directconnect',
'serviceFullName' => 'AWS Direct Connect',
'serviceType' => 'json',
'jsonVersion' => '1.1',
'targetPrefix' => 'OvertureService.',
'signatureVersion' => 'v4',
'namespace' => 'DirectConnect',
'regions' => array(
'us-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'directconnect.us-east-1.amazonaws.com',
),
'us-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'directconnect.us-west-1.amazonaws.com',
),
'us-west-2' => array(
'http' => false,
'https' => true,
'hostname' => 'directconnect.us-west-2.amazonaws.com',
),
'eu-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'directconnect.eu-west-1.amazonaws.com',
),
'ap-northeast-1' => array(
'http' => false,
'https' => true,
'hostname' => 'directconnect.ap-northeast-1.amazonaws.com',
),
'ap-southeast-1' => array(
'http' => false,
'https' => true,
'hostname' => 'directconnect.ap-southeast-1.amazonaws.com',
),
'ap-southeast-2' => array(
'http' => false,
'https' => true,
'hostname' => 'directconnect.ap-southeast-2.amazonaws.com',
),
'sa-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'directconnect.sa-east-1.amazonaws.com',
),
),
'operations' => array(
'AllocateConnectionOnInterconnect' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'Connection',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OvertureService.AllocateConnectionOnInterconnect',
),
'bandwidth' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'connectionName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'ownerAccount' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'interconnectId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'vlan' => array(
'required' => true,
'type' => 'numeric',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'A server-side error occurred during the API call. The error message will contain additional details about the cause.',
'class' => 'DirectConnectServerException',
),
array(
'reason' => 'The API was called with invalid parameters. The error message will contain additional details about the cause.',
'class' => 'DirectConnectClientException',
),
),
),
'AllocatePrivateVirtualInterface' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'VirtualInterface',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OvertureService.AllocatePrivateVirtualInterface',
),
'connectionId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'ownerAccount' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'newPrivateVirtualInterfaceAllocation' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'properties' => array(
'virtualInterfaceName' => array(
'required' => true,
'type' => 'string',
),
'vlan' => array(
'required' => true,
'type' => 'numeric',
),
'asn' => array(
'required' => true,
'type' => 'numeric',
),
'authKey' => array(
'type' => 'string',
),
'amazonAddress' => array(
'type' => 'string',
),
'customerAddress' => array(
'type' => 'string',
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'A server-side error occurred during the API call. The error message will contain additional details about the cause.',
'class' => 'DirectConnectServerException',
),
array(
'reason' => 'The API was called with invalid parameters. The error message will contain additional details about the cause.',
'class' => 'DirectConnectClientException',
),
),
),
'AllocatePublicVirtualInterface' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'VirtualInterface',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OvertureService.AllocatePublicVirtualInterface',
),
'connectionId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'ownerAccount' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'newPublicVirtualInterfaceAllocation' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'properties' => array(
'virtualInterfaceName' => array(
'required' => true,
'type' => 'string',
),
'vlan' => array(
'required' => true,
'type' => 'numeric',
),
'asn' => array(
'required' => true,
'type' => 'numeric',
),
'authKey' => array(
'type' => 'string',
),
'amazonAddress' => array(
'required' => true,
'type' => 'string',
),
'customerAddress' => array(
'required' => true,
'type' => 'string',
),
'routeFilterPrefixes' => array(
'required' => true,
'type' => 'array',
'items' => array(
'name' => 'RouteFilterPrefix',
'type' => 'object',
'properties' => array(
'cidr' => array(
'type' => 'string',
),
),
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'A server-side error occurred during the API call. The error message will contain additional details about the cause.',
'class' => 'DirectConnectServerException',
),
array(
'reason' => 'The API was called with invalid parameters. The error message will contain additional details about the cause.',
'class' => 'DirectConnectClientException',
),
),
),
'ConfirmConnection' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ConfirmConnectionResponse',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OvertureService.ConfirmConnection',
),
'connectionId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'A server-side error occurred during the API call. The error message will contain additional details about the cause.',
'class' => 'DirectConnectServerException',
),
array(
'reason' => 'The API was called with invalid parameters. The error message will contain additional details about the cause.',
'class' => 'DirectConnectClientException',
),
),
),
'ConfirmPrivateVirtualInterface' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ConfirmPrivateVirtualInterfaceResponse',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OvertureService.ConfirmPrivateVirtualInterface',
),
'virtualInterfaceId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'virtualGatewayId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'A server-side error occurred during the API call. The error message will contain additional details about the cause.',
'class' => 'DirectConnectServerException',
),
array(
'reason' => 'The API was called with invalid parameters. The error message will contain additional details about the cause.',
'class' => 'DirectConnectClientException',
),
),
),
'ConfirmPublicVirtualInterface' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ConfirmPublicVirtualInterfaceResponse',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OvertureService.ConfirmPublicVirtualInterface',
),
'virtualInterfaceId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'A server-side error occurred during the API call. The error message will contain additional details about the cause.',
'class' => 'DirectConnectServerException',
),
array(
'reason' => 'The API was called with invalid parameters. The error message will contain additional details about the cause.',
'class' => 'DirectConnectClientException',
),
),
),
'CreateConnection' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'Connection',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OvertureService.CreateConnection',
),
'location' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'bandwidth' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'connectionName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'A server-side error occurred during the API call. The error message will contain additional details about the cause.',
'class' => 'DirectConnectServerException',
),
array(
'reason' => 'The API was called with invalid parameters. The error message will contain additional details about the cause.',
'class' => 'DirectConnectClientException',
),
),
),
'CreateInterconnect' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'Interconnect',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OvertureService.CreateInterconnect',
),
'interconnectName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'bandwidth' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'location' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'A server-side error occurred during the API call. The error message will contain additional details about the cause.',
'class' => 'DirectConnectServerException',
),
array(
'reason' => 'The API was called with invalid parameters. The error message will contain additional details about the cause.',
'class' => 'DirectConnectClientException',
),
),
),
'CreatePrivateVirtualInterface' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'VirtualInterface',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OvertureService.CreatePrivateVirtualInterface',
),
'connectionId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'newPrivateVirtualInterface' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'properties' => array(
'virtualInterfaceName' => array(
'required' => true,
'type' => 'string',
),
'vlan' => array(
'required' => true,
'type' => 'numeric',
),
'asn' => array(
'required' => true,
'type' => 'numeric',
),
'authKey' => array(
'type' => 'string',
),
'amazonAddress' => array(
'type' => 'string',
),
'customerAddress' => array(
'type' => 'string',
),
'virtualGatewayId' => array(
'required' => true,
'type' => 'string',
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'A server-side error occurred during the API call. The error message will contain additional details about the cause.',
'class' => 'DirectConnectServerException',
),
array(
'reason' => 'The API was called with invalid parameters. The error message will contain additional details about the cause.',
'class' => 'DirectConnectClientException',
),
),
),
'CreatePublicVirtualInterface' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'VirtualInterface',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OvertureService.CreatePublicVirtualInterface',
),
'connectionId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'newPublicVirtualInterface' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'properties' => array(
'virtualInterfaceName' => array(
'required' => true,
'type' => 'string',
),
'vlan' => array(
'required' => true,
'type' => 'numeric',
),
'asn' => array(
'required' => true,
'type' => 'numeric',
),
'authKey' => array(
'type' => 'string',
),
'amazonAddress' => array(
'required' => true,
'type' => 'string',
),
'customerAddress' => array(
'required' => true,
'type' => 'string',
),
'routeFilterPrefixes' => array(
'required' => true,
'type' => 'array',
'items' => array(
'name' => 'RouteFilterPrefix',
'type' => 'object',
'properties' => array(
'cidr' => array(
'type' => 'string',
),
),
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'A server-side error occurred during the API call. The error message will contain additional details about the cause.',
'class' => 'DirectConnectServerException',
),
array(
'reason' => 'The API was called with invalid parameters. The error message will contain additional details about the cause.',
'class' => 'DirectConnectClientException',
),
),
),
'DeleteConnection' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'Connection',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OvertureService.DeleteConnection',
),
'connectionId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'A server-side error occurred during the API call. The error message will contain additional details about the cause.',
'class' => 'DirectConnectServerException',
),
array(
'reason' => 'The API was called with invalid parameters. The error message will contain additional details about the cause.',
'class' => 'DirectConnectClientException',
),
),
),
'DeleteInterconnect' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DeleteInterconnectResponse',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OvertureService.DeleteInterconnect',
),
'interconnectId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'A server-side error occurred during the API call. The error message will contain additional details about the cause.',
'class' => 'DirectConnectServerException',
),
array(
'reason' => 'The API was called with invalid parameters. The error message will contain additional details about the cause.',
'class' => 'DirectConnectClientException',
),
),
),
'DeleteVirtualInterface' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DeleteVirtualInterfaceResponse',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OvertureService.DeleteVirtualInterface',
),
'virtualInterfaceId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'A server-side error occurred during the API call. The error message will contain additional details about the cause.',
'class' => 'DirectConnectServerException',
),
array(
'reason' => 'The API was called with invalid parameters. The error message will contain additional details about the cause.',
'class' => 'DirectConnectClientException',
),
),
),
'DescribeConnections' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'Connections',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OvertureService.DescribeConnections',
),
'connectionId' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'A server-side error occurred during the API call. The error message will contain additional details about the cause.',
'class' => 'DirectConnectServerException',
),
array(
'reason' => 'The API was called with invalid parameters. The error message will contain additional details about the cause.',
'class' => 'DirectConnectClientException',
),
),
),
'DescribeConnectionsOnInterconnect' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'Connections',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OvertureService.DescribeConnectionsOnInterconnect',
),
'interconnectId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'A server-side error occurred during the API call. The error message will contain additional details about the cause.',
'class' => 'DirectConnectServerException',
),
array(
'reason' => 'The API was called with invalid parameters. The error message will contain additional details about the cause.',
'class' => 'DirectConnectClientException',
),
),
),
'DescribeInterconnects' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'Interconnects',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OvertureService.DescribeInterconnects',
),
'interconnectId' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'A server-side error occurred during the API call. The error message will contain additional details about the cause.',
'class' => 'DirectConnectServerException',
),
array(
'reason' => 'The API was called with invalid parameters. The error message will contain additional details about the cause.',
'class' => 'DirectConnectClientException',
),
),
),
'DescribeLocations' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'Locations',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OvertureService.DescribeLocations',
),
),
'errorResponses' => array(
array(
'reason' => 'A server-side error occurred during the API call. The error message will contain additional details about the cause.',
'class' => 'DirectConnectServerException',
),
array(
'reason' => 'The API was called with invalid parameters. The error message will contain additional details about the cause.',
'class' => 'DirectConnectClientException',
),
),
),
'DescribeVirtualGateways' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'VirtualGateways',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OvertureService.DescribeVirtualGateways',
),
),
'errorResponses' => array(
array(
'reason' => 'A server-side error occurred during the API call. The error message will contain additional details about the cause.',
'class' => 'DirectConnectServerException',
),
array(
'reason' => 'The API was called with invalid parameters. The error message will contain additional details about the cause.',
'class' => 'DirectConnectClientException',
),
),
),
'DescribeVirtualInterfaces' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'VirtualInterfaces',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OvertureService.DescribeVirtualInterfaces',
),
'connectionId' => array(
'type' => 'string',
'location' => 'json',
),
'virtualInterfaceId' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'A server-side error occurred during the API call. The error message will contain additional details about the cause.',
'class' => 'DirectConnectServerException',
),
array(
'reason' => 'The API was called with invalid parameters. The error message will contain additional details about the cause.',
'class' => 'DirectConnectClientException',
),
),
),
),
'models' => array(
'Connection' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ownerAccount' => array(
'type' => 'string',
'location' => 'json',
),
'connectionId' => array(
'type' => 'string',
'location' => 'json',
),
'connectionName' => array(
'type' => 'string',
'location' => 'json',
),
'connectionState' => array(
'type' => 'string',
'location' => 'json',
),
'region' => array(
'type' => 'string',
'location' => 'json',
),
'location' => array(
'type' => 'string',
'location' => 'json',
),
'bandwidth' => array(
'type' => 'string',
'location' => 'json',
),
'vlan' => array(
'type' => 'numeric',
'location' => 'json',
),
'partnerName' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'VirtualInterface' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ownerAccount' => array(
'type' => 'string',
'location' => 'json',
),
'virtualInterfaceId' => array(
'type' => 'string',
'location' => 'json',
),
'location' => array(
'type' => 'string',
'location' => 'json',
),
'connectionId' => array(
'type' => 'string',
'location' => 'json',
),
'virtualInterfaceType' => array(
'type' => 'string',
'location' => 'json',
),
'virtualInterfaceName' => array(
'type' => 'string',
'location' => 'json',
),
'vlan' => array(
'type' => 'numeric',
'location' => 'json',
),
'asn' => array(
'type' => 'numeric',
'location' => 'json',
),
'authKey' => array(
'type' => 'string',
'location' => 'json',
),
'amazonAddress' => array(
'type' => 'string',
'location' => 'json',
),
'customerAddress' => array(
'type' => 'string',
'location' => 'json',
),
'virtualInterfaceState' => array(
'type' => 'string',
'location' => 'json',
),
'customerRouterConfig' => array(
'type' => 'string',
'location' => 'json',
),
'virtualGatewayId' => array(
'type' => 'string',
'location' => 'json',
),
'routeFilterPrefixes' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'RouteFilterPrefix',
'type' => 'object',
'properties' => array(
'cidr' => array(
'type' => 'string',
),
),
),
),
),
),
'ConfirmConnectionResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'connectionState' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'ConfirmPrivateVirtualInterfaceResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'virtualInterfaceState' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'ConfirmPublicVirtualInterfaceResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'virtualInterfaceState' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'Interconnect' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'interconnectId' => array(
'type' => 'string',
'location' => 'json',
),
'interconnectName' => array(
'type' => 'string',
'location' => 'json',
),
'interconnectState' => array(
'type' => 'string',
'location' => 'json',
),
'region' => array(
'type' => 'string',
'location' => 'json',
),
'location' => array(
'type' => 'string',
'location' => 'json',
),
'bandwidth' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'DeleteInterconnectResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'interconnectState' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'DeleteVirtualInterfaceResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'virtualInterfaceState' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'Connections' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'connections' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'Connection',
'type' => 'object',
'properties' => array(
'ownerAccount' => array(
'type' => 'string',
),
'connectionId' => array(
'type' => 'string',
),
'connectionName' => array(
'type' => 'string',
),
'connectionState' => array(
'type' => 'string',
),
'region' => array(
'type' => 'string',
),
'location' => array(
'type' => 'string',
),
'bandwidth' => array(
'type' => 'string',
),
'vlan' => array(
'type' => 'numeric',
),
'partnerName' => array(
'type' => 'string',
),
),
),
),
),
),
'Interconnects' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'interconnects' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'Interconnect',
'type' => 'object',
'properties' => array(
'interconnectId' => array(
'type' => 'string',
),
'interconnectName' => array(
'type' => 'string',
),
'interconnectState' => array(
'type' => 'string',
),
'region' => array(
'type' => 'string',
),
'location' => array(
'type' => 'string',
),
'bandwidth' => array(
'type' => 'string',
),
),
),
),
),
),
'Locations' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'locations' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'Location',
'type' => 'object',
'properties' => array(
'locationCode' => array(
'type' => 'string',
),
'locationName' => array(
'type' => 'string',
),
),
),
),
),
),
'VirtualGateways' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'virtualGateways' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'VirtualGateway',
'type' => 'object',
'properties' => array(
'virtualGatewayId' => array(
'type' => 'string',
),
'virtualGatewayState' => array(
'type' => 'string',
),
),
),
),
),
),
'VirtualInterfaces' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'virtualInterfaces' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'VirtualInterface',
'type' => 'object',
'properties' => array(
'ownerAccount' => array(
'type' => 'string',
),
'virtualInterfaceId' => array(
'type' => 'string',
),
'location' => array(
'type' => 'string',
),
'connectionId' => array(
'type' => 'string',
),
'virtualInterfaceType' => array(
'type' => 'string',
),
'virtualInterfaceName' => array(
'type' => 'string',
),
'vlan' => array(
'type' => 'numeric',
),
'asn' => array(
'type' => 'numeric',
),
'authKey' => array(
'type' => 'string',
),
'amazonAddress' => array(
'type' => 'string',
),
'customerAddress' => array(
'type' => 'string',
),
'virtualInterfaceState' => array(
'type' => 'string',
),
'customerRouterConfig' => array(
'type' => 'string',
),
'virtualGatewayId' => array(
'type' => 'string',
),
'routeFilterPrefixes' => array(
'type' => 'array',
'items' => array(
'name' => 'RouteFilterPrefix',
'type' => 'object',
'properties' => array(
'cidr' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
),
);
sdk-2.5.2/Aws/DynamoDb/Crc32ErrorChecker.php 0000644 115327001610067500000003601 12272324172 015521 0 ustar setNext($next);
}
}
/**
* {@inheridoc}
*/
public function makesDecision()
{
return true;
}
/**
* {@inheritdoc}
*/
protected function getDelay(
$retries,
RequestInterface $request,
Response $response = null,
HttpException $e = null
) {
if ($response) {
// Validate the checksum against our computed checksum
if ($checksum = (string) $response->getHeader('x-amz-crc32')) {
// Retry the request if the checksums don't match, otherwise, return null
return $checksum != hexdec(Stream::getHash($response->getBody(), 'crc32b')) ? true : null;
}
}
}
}
sdk-2.5.2/Aws/DynamoDb/DynamoDbClient.php 0000644 115327001610067500000021500 12272324172 015200 0 ustar setConfig($config)
->setConfigDefaults(array(
// DynamoDB does not use redirects
self::DISABLE_REDIRECTS => true,
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/dynamodb-%s.php',
// DynamoDB does not require response processing other than turning JSON into an array
self::COMMAND_PARAMS => array(Cmd::RESPONSE_PROCESSING => Cmd::TYPE_NO_TRANSLATION)
))
->setExceptionParser($exceptionParser)
->setIteratorsConfig(array(
'result_key' => 'Items',
'token_param' => 'ExclusiveStartKey',
'token_key' => 'LastEvaluatedKey',
'operations' => array(
'BatchGetItem' => array(
'token_param' => 'RequestItems',
'token_key' => 'UnprocessedKeys',
'result_key' => 'Responses/*',
),
'ListTables' => array(
'result_key' => 'TableNames',
'token_param' => 'ExclusiveStartTableName',
'token_key' => 'LastEvaluatedTableName',
),
'Query',
'Scan',
)
))
->build();
}
/**
* Formats a value as a DynamoDB attribute.
*
* @param mixed $value The value to format for DynamoDB.
* @param string $format The type of format (e.g. put, update).
*
* @return array The formatted value.
*/
public function formatValue($value, $format = Attribute::FORMAT_PUT)
{
return Attribute::factory($value)->getFormatted($format);
}
/**
* Formats an array of values as DynamoDB attributes.
*
* @param array $values The values to format for DynamoDB.
* @param string $format The type of format (e.g. put, update).
*
* @return array The formatted values.
*/
public function formatAttributes(array $values, $format = Attribute::FORMAT_PUT)
{
$formatted = array();
foreach ($values as $key => $value) {
$formatted[$key] = $this->formatValue($value, $format);
}
return $formatted;
}
/**
* Calculate the amount of time needed for an exponential backoff to wait
* before retrying a request
*
* @param int $retries Number of retries
*
* @return float Returns the amount of time to wait in seconds
*/
public static function calculateRetryDelay($retries)
{
return $retries == 0 ? 0 : (50 * (int) pow(2, $retries - 1)) / 1000;
}
/**
* Convenience method for instantiating and registering the DynamoDB
* Session handler with this DynamoDB client object.
*
* @param array $config Array of options for the session handler factory
*
* @return SessionHandler
*/
public function registerSessionHandler(array $config = array())
{
$config = array_replace(array('dynamodb_client' => $this), $config);
$handler = SessionHandler::factory($config);
$handler->register();
return $handler;
}
}
sdk-2.5.2/Aws/DynamoDb/Enum/AttributeAction.php 0000644 115327001610067500000001454 12272324172 016357 0 ustar addItem($unprocessedItem);
}
}
/**
* Adds an unprocessed write request to the collection
*
* @param WriteRequestInterface $unprocessedItem
*
* @return UnprocessedWriteRequestsException
*/
public function addItem(WriteRequestInterface $unprocessedItem)
{
$this->items[] = $unprocessedItem;
return $this;
}
/**
* Get the total number of request exceptions
*
* @return int
*/
public function count()
{
return count($this->items);
}
/**
* Allows array-like iteration over the request exceptions
*
* @return \ArrayIterator
*/
public function getIterator()
{
return new \ArrayIterator($this->items);
}
}
sdk-2.5.2/Aws/DynamoDb/Exception/UnrecognizedClientException.php 0000644 115327001610067500000001333 12272324172 021756 0 ustar get('Items'))) {
if ($item = $result->get('Item') ?: $result->get('Attributes')) {
$items = array($item);
} else {
$items = $result->getPath('Responses/*');
}
}
return new self(new \ArrayIterator($items ?: array()));
}
/**
* Ensures that the inner iterator is both Traversable and Countable
*
* {@inheritdoc}
*
* @throws InvalidArgumentException
*/
public function __construct(\Traversable $iterator)
{
if (!($iterator instanceof \Countable)) {
throw new InvalidArgumentException('The inner iterator for an ItemIterator must be Countable.');
}
parent::__construct($iterator);
}
/**
* Returns the first item in the iterator
*/
public function getFirst()
{
$this->rewind();
return $this->current();
}
/**
* {@inheritdoc}
* @return Collection
*/
public function current()
{
return new Collection(array_map(array($this, 'processAttribute'), parent::current()));
}
public function count()
{
return $this->getInnerIterator()->count();
}
public function toArray()
{
return iterator_to_array($this, false);
}
/**
* Converts an item's attribute from the DynamoDB format to a typeless value in order to simplify the overall
* array structure of an item. The method also base64 decodes the value any Binary attributes
*
* @param array $attribute
*
* @return array|string
*/
protected function processAttribute(array $attribute)
{
list($type, $value) = each($attribute);
if ($type === 'B') {
$value = base64_decode($value);
} elseif ($type === 'BS') {
$value = array_map('base64_decode', $value);
}
return $value;
}
}
sdk-2.5.2/Aws/DynamoDb/Iterator/ScanIterator.php 0000644 115327001610067500000003161 12272324172 016536 0 ustar scannedCount;
}
/**
* {@inheritdoc}
*/
protected function handleResults(Model $result)
{
$this->scannedCount += (int) $result->get('ScannedCount');
return parent::handleResults($result);
}
}
sdk-2.5.2/Aws/DynamoDb/Model/Attribute.php 0000644 115327001610067500000016357 12272324172 015365 0 ustar 1) {
throw new InvalidArgumentException('Sets must be at most one level deep.');
}
// Handle specific, allowed object types
if ($value instanceof Attribute) {
return $value;
} elseif ($value instanceof \Traversable) {
$value = iterator_to_array($value);
} elseif (is_object($value) && method_exists($value, '__toString')) {
$value = (string) $value;
}
// Ensure that the value is valid
if ($value === null || $value === array() || $value === '') {
// Note: "Empty" values are not allowed except for zero and false.
throw new InvalidArgumentException('The value must not be empty.');
} elseif (is_resource($value) || is_object($value)) {
throw new InvalidArgumentException('The value must be able to be converted to string.');
}
// Create the attribute to return
if (is_int($value) || is_float($value)) {
// Handle numeric values
$attribute = new Attribute((string) $value, Type::NUMBER);
} elseif (is_bool($value)) {
// Handle boolean values
$attribute = new Attribute($value ? '1' : '0', Type::NUMBER);
} elseif (is_array($value) || $value instanceof \Traversable) {
// Handle arrays
$setType = null;
$attribute = new Attribute(array());
// Loop through each value to analyze and prepare it
foreach ($value as $subValue) {
// Recursively get the attribute for the set. The depth param only allows one level of recursion
$subAttribute = static::factory($subValue, $depth + 1);
// The type of each sub-value must be the same, or else the whole array is invalid
if ($setType === null) {
$setType = $subAttribute->type;
} elseif ($setType !== $subAttribute->type) {
throw new InvalidArgumentException('The set did not contain values of a uniform type.');
}
// Save the value for the upstream array
$attribute->value[] = (string) $subAttribute->value;
}
// Make sure the type is changed to be a set type
$attribute->type = $setType . self::SET_SUFFIX;
} else {
$attribute = new Attribute((string) $value);
}
return $attribute;
}
/**
* Instantiates a DynamoDB attribute.
*
* @param string|array $value The DynamoDB attribute value
* @param string $type The DynamoDB attribute type (N, S, B, NS, SS, BS)
*/
public function __construct($value, $type = Type::STRING)
{
$this->setValue($value);
$this->setType($type);
}
/**
* Convert the attribute to a string
*
* @return string
*/
public function __toString()
{
return implode(', ', (array) $this->value);
}
/**
* Retrieve the formatted data
*
* @param string $format The format to apply to the data
*
* @return string The formatted version of the data
*/
public function getFormatted($format = Attribute::FORMAT_PUT)
{
switch ($format) {
case self::FORMAT_EXPECTED:
// no break
case self::FORMAT_UPDATE:
$formatted = array('Value' => array($this->type => $this->value));
break;
case self::FORMAT_PUT:
// no break
default:
$formatted = array($this->type => $this->value);
}
return $formatted;
}
/**
* Retrieve the attribute type
*
* @return string The attribute type
*/
public function getType()
{
return $this->type;
}
/**
* Retrieve the attribute value
*
* @return string The attribute value
*/
public function getValue()
{
return $this->value;
}
/**
* Set the attribute type
*
* @param string $type The attribute type to set
*
* @return self
* @throws InvalidArgumentException
*/
public function setType($type)
{
if (in_array($type, Type::values())) {
$this->type = $type;
} else {
throw new InvalidArgumentException('An attribute type must be a valid DynamoDB type.');
}
return $this;
}
/**
* Set the attribute value
*
* @param string|array $value The attribute value
*
* @return self
* @throws InvalidArgumentException
*/
public function setValue($value)
{
if (is_string($value) || is_array($value)) {
$this->value = $value;
} else {
throw new InvalidArgumentException('An attribute value may only be a string or array.');
}
return $this;
}
/**
* {@inheritdoc}
*/
public function toArray()
{
return $this->getFormatted();
}
}
sdk-2.5.2/Aws/DynamoDb/Model/Item.php 0000644 115327001610067500000013025 12272324172 014305 0 ustar data;
foreach ($result as &$value) {
if ($value instanceof Attribute) {
$value = $value->toArray();
}
}
return $result;
}
/**
* Construct a new Item
*
* @param array $attributes Array of attributes
* @param string $tableName Table of the item (if known)
*/
public function __construct(array $attributes = array(), $tableName = null)
{
$this->replace($attributes);
$this->tableName = $tableName;
}
/**
* Set the name of the table associated with the item
*
* @param string $tableName Table name
*
* @return self
*/
public function setTableName($tableName)
{
$this->tableName = $tableName;
return $this;
}
/**
* Get the name of the table associated with the item
*
* @return string|null
*/
public function getTableName()
{
return $this->tableName;
}
/**
* Get an attribute object by name
*
* @param string $name Name of the attribute to retrieve
*
* @return Attribute|null
*/
public function get($name)
{
return isset($this->data[$name]) ? $this->data[$name] : null;
}
/**
* Get all of the attribute names of the item
*
* @return array
*/
public function keys()
{
return array_keys($this->data);
}
/**
* Check if a particular attribute exists on the item
*
* @param string $attribute Attribute name to check
*
* @return bool
*/
public function has($attribute)
{
return isset($this->data[$attribute]);
}
/**
* Get all of the {@see Attribute} objects
*
* @return array
*/
public function all()
{
return $this->data;
}
/**
* Add an attribute
*
* @param string $name Name of the attribute to add
* @param Attribute $attribute Attribute to add
*
* @return self
*/
public function add($name, Attribute $attribute)
{
$this->data[$name] = $attribute;
return $this;
}
/**
* Set all of the attributes
*
* @param array $attributes Array of {@see Attribute} objects
*
* @return self
*/
public function replace(array $attributes)
{
foreach ($attributes as $name => $attribute) {
if (!($attribute instanceof Attribute)) {
$attribute = new Attribute(current($attribute), key($attribute));
}
$this->add($name, $attribute);
}
return $this;
}
/**
* Remove an attribute by name
*
* @param string $name Name of the attribute to remove
*
* @return self
*/
public function remove($name)
{
unset($this->data[$name]);
return $this;
}
/**
* Get the total number of attributes
*
* @return int
*/
public function count()
{
return count($this->data);
}
/**
* {@inheritdoc}
*/
public function getIterator()
{
return new \ArrayIterator($this->data);
}
/**
* ArrayAccess implementation of offsetExists()
*
* @param string $offset Array key
*
* @return bool
*/
public function offsetExists($offset)
{
return isset($this->data[$offset]);
}
/**
* ArrayAccess implementation of offsetGet()
*
* @param string $offset Array key
*
* @return null|mixed
*/
public function offsetGet($offset)
{
return isset($this->data[$offset]) ? $this->data[$offset] : null;
}
/**
* ArrayAccess implementation of offsetGet()
*
* @param string $offset Array key
* @param mixed $value Value to set
*/
public function offsetSet($offset, $value)
{
$this->data[$offset] = $value;
}
/**
* ArrayAccess implementation of offsetUnset()
*
* @param string $offset Array key
*/
public function offsetUnset($offset)
{
unset($this->data[$offset]);
}
}
sdk-2.5.2/Aws/DynamoDb/Model/BatchRequest/AbstractWriteRequest.php 0000644 115327001610067500000001750 12272324172 022132 0 ustar tableName;
}
}
sdk-2.5.2/Aws/DynamoDb/Model/BatchRequest/DeleteRequest.php 0000644 115327001610067500000004776 12272324172 020571 0 ustar getName() !== 'DeleteItem') {
throw new InvalidArgumentException();
}
// Get relevant data for a DeleteRequest
$table = $command->get('TableName');
$key = $command->get('Key');
// Return an instantiated DeleteRequest object
return new DeleteRequest($key, $table);
}
/**
* Constructs a new delete request
*
* @param array $key The key of the item to delete
* @param string $tableName The name of the table which has the item
*/
public function __construct(array $key, $tableName)
{
$this->key = $key;
$this->tableName = $tableName;
}
/**
* The parameter form of the request
*
* @return array
*/
public function toArray()
{
$key = $this->key;
foreach ($key as &$element) {
if ($element instanceof Attribute) {
$element = $element->toArray();
}
}
return array('DeleteRequest' => array('Key' => $key));
}
/**
* Get the key
*
* @return array
*/
public function getKey()
{
return $this->key;
}
}
sdk-2.5.2/Aws/DynamoDb/Model/BatchRequest/PutRequest.php 0000644 115327001610067500000005346 12272324172 020131 0 ustar getName() !== 'PutItem') {
throw new InvalidArgumentException();
}
// Get relevant data for a PutRequest
$table = $command->get('TableName');
$item = $command->get('Item');
// Create an Item object from the 'item' command data
if (!($item instanceof Item)) {
$item = new Item($item, $table);
}
// Return an instantiated PutRequest object
return new PutRequest($item, $table);
}
/**
* Constructs a new put request
*
* @param Item $item The item to put into DynamoDB
* @param string $tableName The name of the table which has the item
*
* @throw InvalidArgumentException if the table name is not provided
*/
public function __construct(Item $item, $tableName = null)
{
$this->item = $item;
$this->tableName = $tableName ?: $item->getTableName();
if (!$this->tableName) {
throw new InvalidArgumentException('A table name is required to create a PutRequest.');
}
}
/**
* The parameter form of the request
*
* @return array
*/
public function toArray()
{
return array('PutRequest' => array('Item' => $this->item->toArray()));
}
/**
* Get the item
*
* @return Item
*/
public function getItem()
{
return $this->item;
}
}
sdk-2.5.2/Aws/DynamoDb/Model/BatchRequest/UnprocessedRequest.php 0000644 115327001610067500000002412 12272324172 021642 0 ustar data = $data;
$this->tableName = $tableName;
}
/**
* The parameter form of the request
*
* @return array
*/
public function toArray()
{
return $this->data;
}
}
sdk-2.5.2/Aws/DynamoDb/Model/BatchRequest/WriteRequestBatch.php 0000644 115327001610067500000010445 12272324172 021411 0 ustar createBatchesWith(new BatchSizeDivisor($batchSize))
->transferWith(new WriteRequestBatchTransfer($client));
if ($notify) {
$builder->notify($notify);
}
$batch = new self($builder->build());
$batch = new FlushingBatch($batch, $batchSize);
return $batch;
}
/**
* {@inheritdoc}
*/
public function add($item)
{
if ($item instanceof AbstractCommand) {
// Convert PutItem and DeleteItem into the correct format
$name = $item->getName();
if (in_array($name, array('PutItem', 'DeleteItem'))) {
$class = __NAMESPACE__ . '\\' . str_replace('Item', 'Request', $name);
$item = $class::fromCommand($item);
} else {
throw new InvalidArgumentException('The command provided was not a PutItem or DeleteItem command.');
}
}
if (!($item instanceof WriteRequestInterface)) {
throw new InvalidArgumentException('The item are are trying to add to the batch queue is invalid.');
}
return $this->decoratedBatch->add($item);
}
/**
* {@inheritdoc}
*/
public function flush()
{
// Flush the queue
$items = array();
while (!$this->decoratedBatch->isEmpty()) {
try {
$items = array_merge($items, $this->decoratedBatch->flush());
} catch (BatchTransferException $e) {
$unprocessed = $e->getPrevious();
if ($unprocessed instanceof UnprocessedWriteRequestsException) {
// Handles the UnprocessedItemsException that may occur for
// throttled items the batch. These are re-queued here
foreach ($unprocessed as $unprocessedItem) {
$this->add($unprocessedItem);
}
} else {
// Re-throw the exception if not handled
throw $e;
}
}
}
return $items;
}
}
sdk-2.5.2/Aws/DynamoDb/Model/BatchRequest/WriteRequestBatchTransfer.php 0000644 115327001610067500000016543 12272324172 023123 0 ustar client = $client;
}
/**
* {@inheritdoc}
*/
public function transfer(array $batch)
{
// Create a container exception for any unprocessed items
$unprocessed = new UnprocessedWriteRequestsException();
// Execute the transfer logic
$this->performTransfer($batch, $unprocessed);
// Throw an exception containing the unprocessed items if there are any
if (count($unprocessed)) {
throw $unprocessed;
}
}
/**
* Transfer a batch of requests and collect any unprocessed items
*
* @param array $batch A batch of write requests
* @param UnprocessedWriteRequestsException $unprocessedRequests Collection of unprocessed items
*
* @throws \Guzzle\Common\Exception\ExceptionCollection
*/
protected function performTransfer(
array $batch,
UnprocessedWriteRequestsException $unprocessedRequests
) {
// Do nothing if the batch is empty
if (empty($batch)) {
return;
}
// Chunk the array and prepare a set of parallel commands
$commands = array();
foreach (array_chunk($batch, self::BATCH_WRITE_MAX_SIZE) as $chunk) {
// Convert the request items into the format required by the client
$items = array();
foreach ($chunk as $item) {
if ($item instanceof AbstractWriteRequest) {
/** @var $item AbstractWriteRequest */
$table = $item->getTableName();
if (!isset($items[$table])) {
$items[$table] = array();
}
$items[$table][] = $item->toArray();
}
}
// Create the BatchWriteItem request
$commands[] = $this->client->getCommand('BatchWriteItem', array(
'RequestItems' => $items,
Ua::OPTION => Ua::BATCH
));
}
// Execute the commands and handle exceptions
try {
$commands = $this->client->execute($commands);
$this->getUnprocessedRequestsFromCommands($commands, $unprocessedRequests);
} catch (ExceptionCollection $exceptions) {
// Create a container exception for any unhandled (true) exceptions
$unhandledExceptions = new ExceptionCollection();
// Loop through caught exceptions and handle RequestTooLarge scenarios
/** @var $e DynamoDbException */
foreach ($exceptions as $e) {
if ($e instanceof DynamoDbException && $e->getStatusCode() === 413) {
$request = $e->getResponse()->getRequest();
$this->retryLargeRequest($request, $unprocessedRequests);
} else {
$unhandledExceptions->add($e);
}
}
// If there were unhandled exceptions, throw them
if (count($unhandledExceptions)) {
throw $unhandledExceptions;
}
}
}
/**
* Handles unprocessed items from the executed commands. Unprocessed items
* can be collected and thrown in an UnprocessedWriteRequestsException
*
* @param array $commands Array of commands
* @param UnprocessedWriteRequestsException $unprocessedRequests Collection of unprocessed items
*/
protected function getUnprocessedRequestsFromCommands(
array $commands,
UnprocessedWriteRequestsException $unprocessedRequests
) {
/** @var $command CommandInterface */
foreach ($commands as $command) {
if ($command instanceof CommandInterface && $command->isExecuted()) {
$result = $command->getResult();
$items = $this->convertResultsToUnprocessedRequests($result['UnprocessedItems']);
foreach ($items as $request) {
$unprocessedRequests->addItem($request);
}
}
}
}
/**
* Handles exceptions caused by the request being too large (over 1 MB). The
* response will have a status code of 413. In this case the batch should be
* split up into smaller batches and retried.
*
* @param EntityEnclosingRequestInterface $request The failed request
* @param UnprocessedWriteRequestsException $unprocessedRequests Collection of unprocessed items
*/
protected function retryLargeRequest(
EntityEnclosingRequestInterface $request,
UnprocessedWriteRequestsException $unprocessedRequests
) {
// Collect the items out from the request object
$items = json_decode($request->getBody(true), true);
$items = $this->convertResultsToUnprocessedRequests($items['RequestItems']);
// Divide batch into smaller batches and transfer them via recursion
// NOTE: Dividing the batch into 3 (instead of 2) batches resulted in less recursion during testing
if ($items) {
$newBatches = array_chunk($items, ceil(count($items) / 3));
foreach ($newBatches as $newBatch) {
$this->performTransfer($newBatch, $unprocessedRequests);
}
}
}
/**
* Collects and creates unprocessed request objects from data collected from erroneous cases
*
* @param array $items Data formatted under "RequestItems" or "UnprocessedItems" keys
*
* @return array
*/
protected function convertResultsToUnprocessedRequests(array $items)
{
$unprocessed = array();
foreach ($items as $table => $requests) {
foreach ($requests as $request) {
$unprocessed[] = new UnprocessedRequest($request, $table);
}
}
return $unprocessed;
}
}
sdk-2.5.2/Aws/DynamoDb/Model/BatchRequest/WriteRequestInterface.php 0000644 115327001610067500000001672 12272324172 022272 0 ustar '2011-12-05',
'endpointPrefix' => 'dynamodb',
'serviceFullName' => 'Amazon DynamoDB',
'serviceAbbreviation' => 'DynamoDB',
'serviceType' => 'json',
'jsonVersion' => '1.0',
'targetPrefix' => 'DynamoDB_20111205.',
'signatureVersion' => 'v4',
'namespace' => 'DynamoDb',
'regions' => array(
'us-east-1' => array(
'http' => true,
'https' => true,
'hostname' => 'dynamodb.us-east-1.amazonaws.com',
),
'us-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'dynamodb.us-west-1.amazonaws.com',
),
'us-west-2' => array(
'http' => true,
'https' => true,
'hostname' => 'dynamodb.us-west-2.amazonaws.com',
),
'eu-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'dynamodb.eu-west-1.amazonaws.com',
),
'ap-northeast-1' => array(
'http' => true,
'https' => true,
'hostname' => 'dynamodb.ap-northeast-1.amazonaws.com',
),
'ap-southeast-1' => array(
'http' => true,
'https' => true,
'hostname' => 'dynamodb.ap-southeast-1.amazonaws.com',
),
'ap-southeast-2' => array(
'http' => true,
'https' => true,
'hostname' => 'dynamodb.ap-southeast-2.amazonaws.com',
),
'sa-east-1' => array(
'http' => true,
'https' => true,
'hostname' => 'dynamodb.sa-east-1.amazonaws.com',
),
'us-gov-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'dynamodb.us-gov-west-1.amazonaws.com',
),
),
'operations' => array(
'BatchGetItem' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'BatchGetItemOutput',
'responseType' => 'model',
'responseNotes' => 'Returns a json_decoded array of the response body',
'summary' => 'Retrieves the attributes for multiple items from multiple tables using their primary keys.',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DynamoDB_20111205.BatchGetItem',
),
'RequestItems' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'object',
'data' => array(
'shape_name' => 'TableName',
'key_pattern' => '/[a-zA-Z0-9_.-]+/',
),
'properties' => array(
'Keys' => array(
'required' => true,
'type' => 'array',
'minItems' => 1,
'maxItems' => 100,
'items' => array(
'name' => 'Key',
'description' => 'The primary key that uniquely identifies each item in a table. A primary key can be a one attribute (hash) primary key or a two attribute (hash-and-range) primary key.',
'type' => 'object',
'properties' => array(
'HashKeyElement' => array(
'required' => true,
'description' => 'A hash key element is treated as the primary key, and can be a string or a number. Single attribute primary keys have one index value. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
'RangeKeyElement' => array(
'description' => 'A range key element is treated as a secondary key (used in conjunction with the primary key), and can be a string or a number, and is only used for hash-and-range primary keys. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
),
),
),
'AttributesToGet' => array(
'type' => 'array',
'minItems' => 1,
'items' => array(
'name' => 'AttributeName',
'type' => 'string',
),
),
'ConsistentRead' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'This exception is thrown when the level of provisioned throughput defined for the table is exceeded.',
'class' => 'ProvisionedThroughputExceededException',
),
array(
'reason' => 'This exception is thrown when the resource which is being attempted to be changed is in use.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'This exception is thrown when the service has a problem when trying to process the request.',
'class' => 'InternalServerErrorException',
),
),
),
'BatchWriteItem' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'BatchWriteItemOutput',
'responseType' => 'model',
'responseNotes' => 'Returns a json_decoded array of the response body',
'summary' => 'Allows to execute a batch of Put and/or Delete Requests for many tables in a single call. A total of 25 requests are allowed.',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DynamoDB_20111205.BatchWriteItem',
),
'RequestItems' => array(
'required' => true,
'description' => 'A map of table name to list-of-write-requests. Used as input to the BatchWriteItem API call',
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'array',
'minItems' => 1,
'maxItems' => 25,
'data' => array(
'shape_name' => 'TableName',
'key_pattern' => '/[a-zA-Z0-9_.-]+/',
),
'items' => array(
'name' => 'WriteRequest',
'description' => 'This structure is a Union of PutRequest and DeleteRequest. It can contain exactly one of PutRequest or DeleteRequest. Never Both. This is enforced in the code.',
'type' => 'object',
'properties' => array(
'PutRequest' => array(
'type' => 'object',
'properties' => array(
'Item' => array(
'required' => true,
'description' => 'The item to put',
'type' => 'object',
'additionalProperties' => array(
'description' => 'AttributeValue can be String, Number, Binary, StringSet, NumberSet, BinarySet.',
'type' => 'object',
'data' => array(
'shape_name' => 'AttributeName',
),
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
),
),
),
'DeleteRequest' => array(
'type' => 'object',
'properties' => array(
'Key' => array(
'required' => true,
'description' => 'The item\'s key to be delete',
'type' => 'object',
'properties' => array(
'HashKeyElement' => array(
'required' => true,
'description' => 'A hash key element is treated as the primary key, and can be a string or a number. Single attribute primary keys have one index value. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
'RangeKeyElement' => array(
'description' => 'A range key element is treated as a secondary key (used in conjunction with the primary key), and can be a string or a number, and is only used for hash-and-range primary keys. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
),
),
),
),
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'This exception is thrown when the level of provisioned throughput defined for the table is exceeded.',
'class' => 'ProvisionedThroughputExceededException',
),
array(
'reason' => 'This exception is thrown when the resource which is being attempted to be changed is in use.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'This exception is thrown when the service has a problem when trying to process the request.',
'class' => 'InternalServerErrorException',
),
),
),
'CreateTable' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'CreateTableOutput',
'responseType' => 'model',
'responseNotes' => 'Returns a json_decoded array of the response body',
'summary' => 'Adds a new table to your account.',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DynamoDB_20111205.CreateTable',
),
'TableName' => array(
'required' => true,
'description' => 'The name of the table you want to create. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period).',
'type' => 'string',
'location' => 'json',
'minLength' => 3,
'maxLength' => 255,
),
'KeySchema' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'properties' => array(
'HashKeyElement' => array(
'required' => true,
'description' => 'A hash key element is treated as the primary key, and can be a string or a number. Single attribute primary keys have one index value. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'required' => true,
'description' => 'The AttributeName of the KeySchemaElement.',
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
'AttributeType' => array(
'required' => true,
'description' => 'The AttributeType of the KeySchemaElement which can be a String or a Number.',
'type' => 'string',
'enum' => array(
'S',
'N',
'B',
),
),
),
),
'RangeKeyElement' => array(
'description' => 'A range key element is treated as a secondary key (used in conjunction with the primary key), and can be a string or a number, and is only used for hash-and-range primary keys. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'required' => true,
'description' => 'The AttributeName of the KeySchemaElement.',
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
'AttributeType' => array(
'required' => true,
'description' => 'The AttributeType of the KeySchemaElement which can be a String or a Number.',
'type' => 'string',
'enum' => array(
'S',
'N',
'B',
),
),
),
),
),
),
'ProvisionedThroughput' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'properties' => array(
'ReadCapacityUnits' => array(
'required' => true,
'description' => 'ReadCapacityUnits are in terms of strictly consistent reads, assuming items of 1k. 2k items require twice the ReadCapacityUnits. Eventually-consistent reads only require half the ReadCapacityUnits of stirctly consistent reads.',
'type' => 'numeric',
'minimum' => 1,
),
'WriteCapacityUnits' => array(
'required' => true,
'description' => 'WriteCapacityUnits are in terms of strictly consistent reads, assuming items of 1k. 2k items require twice the WriteCapacityUnits.',
'type' => 'numeric',
'minimum' => 1,
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'This exception is thrown when the resource which is being attempted to be changed is in use.',
'class' => 'ResourceInUseException',
),
array(
'reason' => 'This exception is thrown when the subscriber exceeded the limits on the number of objects or operations.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'This exception is thrown when the service has a problem when trying to process the request.',
'class' => 'InternalServerErrorException',
),
),
),
'DeleteItem' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DeleteItemOutput',
'responseType' => 'model',
'responseNotes' => 'Returns a json_decoded array of the response body',
'summary' => 'Deletes a single item in a table by primary key.',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DynamoDB_20111205.DeleteItem',
),
'TableName' => array(
'required' => true,
'description' => 'The name of the table in which you want to delete an item. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period).',
'type' => 'string',
'location' => 'json',
'minLength' => 3,
'maxLength' => 255,
),
'Key' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'properties' => array(
'HashKeyElement' => array(
'required' => true,
'description' => 'A hash key element is treated as the primary key, and can be a string or a number. Single attribute primary keys have one index value. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
'RangeKeyElement' => array(
'description' => 'A range key element is treated as a secondary key (used in conjunction with the primary key), and can be a string or a number, and is only used for hash-and-range primary keys. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
),
),
'Expected' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'description' => 'Allows you to provide an attribute name, and whether or not Amazon DynamoDB should check to see if the attribute value already exists; or if the attribute value exists and has a particular value before changing it.',
'type' => 'object',
'data' => array(
'shape_name' => 'AttributeName',
),
'properties' => array(
'Value' => array(
'description' => 'Specify whether or not a value already exists and has a specific content for the attribute name-value pair.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
'Exists' => array(
'description' => 'Specify whether or not a value already exists for the attribute name-value pair.',
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
'ReturnValues' => array(
'type' => 'string',
'location' => 'json',
'enum' => array(
'NONE',
'ALL_OLD',
'UPDATED_OLD',
'ALL_NEW',
'UPDATED_NEW',
),
),
),
'errorResponses' => array(
array(
'reason' => 'This exception is thrown when an expected value does not match what was found in the system.',
'class' => 'ConditionalCheckFailedException',
),
array(
'reason' => 'This exception is thrown when the level of provisioned throughput defined for the table is exceeded.',
'class' => 'ProvisionedThroughputExceededException',
),
array(
'reason' => 'This exception is thrown when the resource which is being attempted to be changed is in use.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'This exception is thrown when the service has a problem when trying to process the request.',
'class' => 'InternalServerErrorException',
),
),
),
'DeleteTable' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DeleteTableOutput',
'responseType' => 'model',
'responseNotes' => 'Returns a json_decoded array of the response body',
'summary' => 'Deletes a table and all of its items.',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DynamoDB_20111205.DeleteTable',
),
'TableName' => array(
'required' => true,
'description' => 'The name of the table you want to delete. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period).',
'type' => 'string',
'location' => 'json',
'minLength' => 3,
'maxLength' => 255,
),
),
'errorResponses' => array(
array(
'reason' => 'This exception is thrown when the resource which is being attempted to be changed is in use.',
'class' => 'ResourceInUseException',
),
array(
'reason' => 'This exception is thrown when the resource which is being attempted to be changed is in use.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'This exception is thrown when the subscriber exceeded the limits on the number of objects or operations.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'This exception is thrown when the service has a problem when trying to process the request.',
'class' => 'InternalServerErrorException',
),
),
),
'DescribeTable' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeTableOutput',
'responseType' => 'model',
'responseNotes' => 'Returns a json_decoded array of the response body',
'summary' => 'Retrieves information about the table, including the current status of the table, the primary key schema and when the table was created.',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DynamoDB_20111205.DescribeTable',
),
'TableName' => array(
'required' => true,
'description' => 'The name of the table you want to describe. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period).',
'type' => 'string',
'location' => 'json',
'minLength' => 3,
'maxLength' => 255,
),
),
'errorResponses' => array(
array(
'reason' => 'This exception is thrown when the resource which is being attempted to be changed is in use.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'This exception is thrown when the service has a problem when trying to process the request.',
'class' => 'InternalServerErrorException',
),
),
),
'GetItem' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'GetItemOutput',
'responseType' => 'model',
'responseNotes' => 'Returns a json_decoded array of the response body',
'summary' => 'Retrieves a set of Attributes for an item that matches the primary key.',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DynamoDB_20111205.GetItem',
),
'TableName' => array(
'required' => true,
'description' => 'The name of the table in which you want to get an item. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period).',
'type' => 'string',
'location' => 'json',
'minLength' => 3,
'maxLength' => 255,
),
'Key' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'properties' => array(
'HashKeyElement' => array(
'required' => true,
'description' => 'A hash key element is treated as the primary key, and can be a string or a number. Single attribute primary keys have one index value. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
'RangeKeyElement' => array(
'description' => 'A range key element is treated as a secondary key (used in conjunction with the primary key), and can be a string or a number, and is only used for hash-and-range primary keys. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
),
),
'AttributesToGet' => array(
'type' => 'array',
'location' => 'json',
'minItems' => 1,
'items' => array(
'name' => 'AttributeName',
'type' => 'string',
),
),
'ConsistentRead' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'This exception is thrown when the level of provisioned throughput defined for the table is exceeded.',
'class' => 'ProvisionedThroughputExceededException',
),
array(
'reason' => 'This exception is thrown when the resource which is being attempted to be changed is in use.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'This exception is thrown when the service has a problem when trying to process the request.',
'class' => 'InternalServerErrorException',
),
),
),
'ListTables' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ListTablesOutput',
'responseType' => 'model',
'responseNotes' => 'Returns a json_decoded array of the response body',
'summary' => 'Retrieves a paginated list of table names created by the AWS Account of the caller in the AWS Region (e.g. us-east-1).',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DynamoDB_20111205.ListTables',
),
'ExclusiveStartTableName' => array(
'description' => 'The name of the table that starts the list. If you already ran a ListTables operation and received a LastEvaluatedTableName value in the response, use that value here to continue the list.',
'type' => 'string',
'location' => 'json',
'minLength' => 3,
'maxLength' => 255,
),
'Limit' => array(
'type' => 'numeric',
'location' => 'json',
'minimum' => 1,
'maximum' => 100,
),
),
'errorResponses' => array(
array(
'reason' => 'This exception is thrown when the service has a problem when trying to process the request.',
'class' => 'InternalServerErrorException',
),
),
),
'PutItem' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'PutItemOutput',
'responseType' => 'model',
'responseNotes' => 'Returns a json_decoded array of the response body',
'summary' => 'Creates a new item, or replaces an old item with a new item (including all the attributes).',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DynamoDB_20111205.PutItem',
),
'TableName' => array(
'required' => true,
'description' => 'The name of the table in which you want to put an item. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period).',
'type' => 'string',
'location' => 'json',
'minLength' => 3,
'maxLength' => 255,
),
'Item' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'description' => 'AttributeValue can be String, Number, Binary, StringSet, NumberSet, BinarySet.',
'type' => 'object',
'data' => array(
'shape_name' => 'AttributeName',
),
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
),
'Expected' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'description' => 'Allows you to provide an attribute name, and whether or not Amazon DynamoDB should check to see if the attribute value already exists; or if the attribute value exists and has a particular value before changing it.',
'type' => 'object',
'data' => array(
'shape_name' => 'AttributeName',
),
'properties' => array(
'Value' => array(
'description' => 'Specify whether or not a value already exists and has a specific content for the attribute name-value pair.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
'Exists' => array(
'description' => 'Specify whether or not a value already exists for the attribute name-value pair.',
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
'ReturnValues' => array(
'type' => 'string',
'location' => 'json',
'enum' => array(
'NONE',
'ALL_OLD',
'UPDATED_OLD',
'ALL_NEW',
'UPDATED_NEW',
),
),
),
'errorResponses' => array(
array(
'reason' => 'This exception is thrown when an expected value does not match what was found in the system.',
'class' => 'ConditionalCheckFailedException',
),
array(
'reason' => 'This exception is thrown when the level of provisioned throughput defined for the table is exceeded.',
'class' => 'ProvisionedThroughputExceededException',
),
array(
'reason' => 'This exception is thrown when the resource which is being attempted to be changed is in use.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'This exception is thrown when the service has a problem when trying to process the request.',
'class' => 'InternalServerErrorException',
),
),
),
'Query' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'QueryOutput',
'responseType' => 'model',
'responseNotes' => 'Returns a json_decoded array of the response body',
'summary' => 'Gets the values of one or more items and its attributes by primary key (composite primary key, only).',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DynamoDB_20111205.Query',
),
'TableName' => array(
'required' => true,
'description' => 'The name of the table in which you want to query. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period).',
'type' => 'string',
'location' => 'json',
'minLength' => 3,
'maxLength' => 255,
),
'AttributesToGet' => array(
'type' => 'array',
'location' => 'json',
'minItems' => 1,
'items' => array(
'name' => 'AttributeName',
'type' => 'string',
),
),
'Limit' => array(
'description' => 'The maximum number of items to return. If Amazon DynamoDB hits this limit while querying the table, it stops the query and returns the matching values up to the limit, and a LastEvaluatedKey to apply in a subsequent operation to continue the query. Also, if the result set size exceeds 1MB before Amazon DynamoDB hits this limit, it stops the query and returns the matching values, and a LastEvaluatedKey to apply in a subsequent operation to continue the query.',
'type' => 'numeric',
'location' => 'json',
'minimum' => 1,
),
'ConsistentRead' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'Count' => array(
'description' => 'If set to true, Amazon DynamoDB returns a total number of items that match the query parameters, instead of a list of the matching items and their attributes. Do not set Count to true while providing a list of AttributesToGet, otherwise Amazon DynamoDB returns a validation error.',
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'HashKeyValue' => array(
'required' => true,
'description' => 'Attribute value of the hash component of the composite primary key.',
'type' => 'object',
'location' => 'json',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
'RangeKeyCondition' => array(
'description' => 'A container for the attribute values and comparison operators to use for the query.',
'type' => 'object',
'location' => 'json',
'properties' => array(
'AttributeValueList' => array(
'type' => 'array',
'items' => array(
'name' => 'AttributeValue',
'description' => 'AttributeValue can be String, Number, Binary, StringSet, NumberSet, BinarySet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
),
'ComparisonOperator' => array(
'required' => true,
'type' => 'string',
'enum' => array(
'EQ',
'NE',
'IN',
'LE',
'LT',
'GE',
'GT',
'BETWEEN',
'NOT_NULL',
'NULL',
'CONTAINS',
'NOT_CONTAINS',
'BEGINS_WITH',
),
),
),
),
'ScanIndexForward' => array(
'description' => 'Specifies forward or backward traversal of the index. Amazon DynamoDB returns results reflecting the requested order, determined by the range key. The default value is true (forward).',
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'ExclusiveStartKey' => array(
'description' => 'Primary key of the item from which to continue an earlier query. An earlier query might provide this value as the LastEvaluatedKey if that query operation was interrupted before completing the query; either because of the result set size or the Limit parameter. The LastEvaluatedKey can be passed back in a new query request to continue the operation from that point.',
'type' => 'object',
'location' => 'json',
'properties' => array(
'HashKeyElement' => array(
'required' => true,
'description' => 'A hash key element is treated as the primary key, and can be a string or a number. Single attribute primary keys have one index value. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
'RangeKeyElement' => array(
'description' => 'A range key element is treated as a secondary key (used in conjunction with the primary key), and can be a string or a number, and is only used for hash-and-range primary keys. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'This exception is thrown when the level of provisioned throughput defined for the table is exceeded.',
'class' => 'ProvisionedThroughputExceededException',
),
array(
'reason' => 'This exception is thrown when the resource which is being attempted to be changed is in use.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'This exception is thrown when the service has a problem when trying to process the request.',
'class' => 'InternalServerErrorException',
),
),
),
'Scan' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ScanOutput',
'responseType' => 'model',
'responseNotes' => 'Returns a json_decoded array of the response body',
'summary' => 'Retrieves one or more items and its attributes by performing a full scan of a table.',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DynamoDB_20111205.Scan',
),
'TableName' => array(
'required' => true,
'description' => 'The name of the table in which you want to scan. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period).',
'type' => 'string',
'location' => 'json',
'minLength' => 3,
'maxLength' => 255,
),
'AttributesToGet' => array(
'type' => 'array',
'location' => 'json',
'minItems' => 1,
'items' => array(
'name' => 'AttributeName',
'type' => 'string',
),
),
'Limit' => array(
'description' => 'The maximum number of items to return. If Amazon DynamoDB hits this limit while scanning the table, it stops the scan and returns the matching values up to the limit, and a LastEvaluatedKey to apply in a subsequent operation to continue the scan. Also, if the scanned data set size exceeds 1 MB before Amazon DynamoDB hits this limit, it stops the scan and returns the matching values up to the limit, and a LastEvaluatedKey to apply in a subsequent operation to continue the scan.',
'type' => 'numeric',
'location' => 'json',
'minimum' => 1,
),
'Count' => array(
'description' => 'If set to true, Amazon DynamoDB returns a total number of items for the Scan operation, even if the operation has no matching items for the assigned filter. Do not set Count to true while providing a list of AttributesToGet, otherwise Amazon DynamoDB returns a validation error.',
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'ScanFilter' => array(
'description' => 'Evaluates the scan results and returns only the desired values.',
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'object',
'data' => array(
'shape_name' => 'String',
),
'properties' => array(
'AttributeValueList' => array(
'type' => 'array',
'items' => array(
'name' => 'AttributeValue',
'description' => 'AttributeValue can be String, Number, Binary, StringSet, NumberSet, BinarySet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
),
'ComparisonOperator' => array(
'required' => true,
'type' => 'string',
'enum' => array(
'EQ',
'NE',
'IN',
'LE',
'LT',
'GE',
'GT',
'BETWEEN',
'NOT_NULL',
'NULL',
'CONTAINS',
'NOT_CONTAINS',
'BEGINS_WITH',
),
),
),
),
),
'ExclusiveStartKey' => array(
'description' => 'Primary key of the item from which to continue an earlier scan. An earlier scan might provide this value if that scan operation was interrupted before scanning the entire table; either because of the result set size or the Limit parameter. The LastEvaluatedKey can be passed back in a new scan request to continue the operation from that point.',
'type' => 'object',
'location' => 'json',
'properties' => array(
'HashKeyElement' => array(
'required' => true,
'description' => 'A hash key element is treated as the primary key, and can be a string or a number. Single attribute primary keys have one index value. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
'RangeKeyElement' => array(
'description' => 'A range key element is treated as a secondary key (used in conjunction with the primary key), and can be a string or a number, and is only used for hash-and-range primary keys. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'This exception is thrown when the level of provisioned throughput defined for the table is exceeded.',
'class' => 'ProvisionedThroughputExceededException',
),
array(
'reason' => 'This exception is thrown when the resource which is being attempted to be changed is in use.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'This exception is thrown when the service has a problem when trying to process the request.',
'class' => 'InternalServerErrorException',
),
),
),
'UpdateItem' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'UpdateItemOutput',
'responseType' => 'model',
'responseNotes' => 'Returns a json_decoded array of the response body',
'summary' => 'Edits an existing item\'s attributes.',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DynamoDB_20111205.UpdateItem',
),
'TableName' => array(
'required' => true,
'description' => 'The name of the table in which you want to update an item. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period).',
'type' => 'string',
'location' => 'json',
'minLength' => 3,
'maxLength' => 255,
),
'Key' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'properties' => array(
'HashKeyElement' => array(
'required' => true,
'description' => 'A hash key element is treated as the primary key, and can be a string or a number. Single attribute primary keys have one index value. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
'RangeKeyElement' => array(
'description' => 'A range key element is treated as a secondary key (used in conjunction with the primary key), and can be a string or a number, and is only used for hash-and-range primary keys. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
),
),
'AttributeUpdates' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'description' => 'Specifies the attribute to update and how to perform the update. Possible values: PUT (default), ADD or DELETE.',
'type' => 'object',
'data' => array(
'shape_name' => 'AttributeName',
),
'properties' => array(
'Value' => array(
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
'Action' => array(
'type' => 'string',
'enum' => array(
'ADD',
'PUT',
'DELETE',
),
),
),
),
),
'Expected' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'description' => 'Allows you to provide an attribute name, and whether or not Amazon DynamoDB should check to see if the attribute value already exists; or if the attribute value exists and has a particular value before changing it.',
'type' => 'object',
'data' => array(
'shape_name' => 'AttributeName',
),
'properties' => array(
'Value' => array(
'description' => 'Specify whether or not a value already exists and has a specific content for the attribute name-value pair.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
'Exists' => array(
'description' => 'Specify whether or not a value already exists for the attribute name-value pair.',
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
'ReturnValues' => array(
'type' => 'string',
'location' => 'json',
'enum' => array(
'NONE',
'ALL_OLD',
'UPDATED_OLD',
'ALL_NEW',
'UPDATED_NEW',
),
),
),
'errorResponses' => array(
array(
'reason' => 'This exception is thrown when an expected value does not match what was found in the system.',
'class' => 'ConditionalCheckFailedException',
),
array(
'reason' => 'This exception is thrown when the level of provisioned throughput defined for the table is exceeded.',
'class' => 'ProvisionedThroughputExceededException',
),
array(
'reason' => 'This exception is thrown when the resource which is being attempted to be changed is in use.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'This exception is thrown when the service has a problem when trying to process the request.',
'class' => 'InternalServerErrorException',
),
),
),
'UpdateTable' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'UpdateTableOutput',
'responseType' => 'model',
'responseNotes' => 'Returns a json_decoded array of the response body',
'summary' => 'Updates the provisioned throughput for the given table.',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DynamoDB_20111205.UpdateTable',
),
'TableName' => array(
'required' => true,
'description' => 'The name of the table you want to update. Allowed characters are a-z, A-Z, 0-9, _ (underscore), - (hyphen) and . (period).',
'type' => 'string',
'location' => 'json',
'minLength' => 3,
'maxLength' => 255,
),
'ProvisionedThroughput' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'properties' => array(
'ReadCapacityUnits' => array(
'required' => true,
'description' => 'ReadCapacityUnits are in terms of strictly consistent reads, assuming items of 1k. 2k items require twice the ReadCapacityUnits. Eventually-consistent reads only require half the ReadCapacityUnits of stirctly consistent reads.',
'type' => 'numeric',
'minimum' => 1,
),
'WriteCapacityUnits' => array(
'required' => true,
'description' => 'WriteCapacityUnits are in terms of strictly consistent reads, assuming items of 1k. 2k items require twice the WriteCapacityUnits.',
'type' => 'numeric',
'minimum' => 1,
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'This exception is thrown when the resource which is being attempted to be changed is in use.',
'class' => 'ResourceInUseException',
),
array(
'reason' => 'This exception is thrown when the resource which is being attempted to be changed is in use.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'This exception is thrown when the subscriber exceeded the limits on the number of objects or operations.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'This exception is thrown when the service has a problem when trying to process the request.',
'class' => 'InternalServerErrorException',
),
),
),
),
'models' => array(
'BatchGetItemOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Responses' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'description' => 'The item attributes from a response in a specific table, along with the read resources consumed on the table during the request.',
'type' => 'object',
'properties' => array(
'Items' => array(
'type' => 'array',
'items' => array(
'name' => 'AttributeMap',
'type' => 'object',
'additionalProperties' => array(
'description' => 'AttributeValue can be String, Number, Binary, StringSet, NumberSet, BinarySet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
),
),
),
),
),
),
'ConsumedCapacityUnits' => array(
'type' => 'numeric',
),
),
),
),
'UnprocessedKeys' => array(
'description' => 'Contains a map of tables and their respective keys that were not processed with the current response, possibly due to reaching a limit on the response size. The UnprocessedKeys value is in the same form as a RequestItems parameter (so the value can be provided directly to a subsequent BatchGetItem operation). For more information, see the above RequestItems parameter.',
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'Keys' => array(
'type' => 'array',
'items' => array(
'name' => 'Key',
'description' => 'The primary key that uniquely identifies each item in a table. A primary key can be a one attribute (hash) primary key or a two attribute (hash-and-range) primary key.',
'type' => 'object',
'properties' => array(
'HashKeyElement' => array(
'description' => 'A hash key element is treated as the primary key, and can be a string or a number. Single attribute primary keys have one index value. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
),
),
),
),
'RangeKeyElement' => array(
'description' => 'A range key element is treated as a secondary key (used in conjunction with the primary key), and can be a string or a number, and is only used for hash-and-range primary keys. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
),
),
),
),
),
),
),
'AttributesToGet' => array(
'type' => 'array',
'items' => array(
'name' => 'AttributeName',
'type' => 'string',
),
),
'ConsistentRead' => array(
'type' => 'boolean',
),
),
),
),
),
),
'BatchWriteItemOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Responses' => array(
'description' => 'The response object as a result of BatchWriteItem call. This is essentially a map of table name to ConsumedCapacityUnits.',
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'ConsumedCapacityUnits' => array(
'type' => 'numeric',
),
),
),
),
'UnprocessedItems' => array(
'description' => 'The Items which we could not successfully process in a BatchWriteItem call is returned as UnprocessedItems',
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'array',
'items' => array(
'name' => 'WriteRequest',
'description' => 'This structure is a Union of PutRequest and DeleteRequest. It can contain exactly one of PutRequest or DeleteRequest. Never Both. This is enforced in the code.',
'type' => 'object',
'properties' => array(
'PutRequest' => array(
'type' => 'object',
'properties' => array(
'Item' => array(
'description' => 'The item to put',
'type' => 'object',
'additionalProperties' => array(
'description' => 'AttributeValue can be String, Number, Binary, StringSet, NumberSet, BinarySet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
),
),
),
),
),
),
),
'DeleteRequest' => array(
'type' => 'object',
'properties' => array(
'Key' => array(
'description' => 'The item\'s key to be delete',
'type' => 'object',
'properties' => array(
'HashKeyElement' => array(
'description' => 'A hash key element is treated as the primary key, and can be a string or a number. Single attribute primary keys have one index value. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
),
),
),
),
'RangeKeyElement' => array(
'description' => 'A range key element is treated as a secondary key (used in conjunction with the primary key), and can be a string or a number, and is only used for hash-and-range primary keys. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
),
),
),
),
),
),
),
),
),
),
),
),
),
),
'CreateTableOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'TableDescription' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'TableName' => array(
'description' => 'The name of the table being described.',
'type' => 'string',
),
'KeySchema' => array(
'type' => 'object',
'properties' => array(
'HashKeyElement' => array(
'description' => 'A hash key element is treated as the primary key, and can be a string or a number. Single attribute primary keys have one index value. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'description' => 'The AttributeName of the KeySchemaElement.',
'type' => 'string',
),
'AttributeType' => array(
'description' => 'The AttributeType of the KeySchemaElement which can be a String or a Number.',
'type' => 'string',
),
),
),
'RangeKeyElement' => array(
'description' => 'A range key element is treated as a secondary key (used in conjunction with the primary key), and can be a string or a number, and is only used for hash-and-range primary keys. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'description' => 'The AttributeName of the KeySchemaElement.',
'type' => 'string',
),
'AttributeType' => array(
'description' => 'The AttributeType of the KeySchemaElement which can be a String or a Number.',
'type' => 'string',
),
),
),
),
),
'TableStatus' => array(
'type' => 'string',
),
'CreationDateTime' => array(
'type' => 'string',
),
'ProvisionedThroughput' => array(
'type' => 'object',
'properties' => array(
'LastIncreaseDateTime' => array(
'type' => 'string',
),
'LastDecreaseDateTime' => array(
'type' => 'string',
),
'ReadCapacityUnits' => array(
'type' => 'numeric',
),
'WriteCapacityUnits' => array(
'type' => 'numeric',
),
),
),
'TableSizeBytes' => array(
'type' => 'numeric',
),
'ItemCount' => array(
'type' => 'numeric',
),
),
),
),
),
'DeleteItemOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Attributes' => array(
'description' => 'If the ReturnValues parameter is provided as ALL_OLD in the request, Amazon DynamoDB returns an array of attribute name-value pairs (essentially, the deleted item). Otherwise, the response contains an empty set.',
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'description' => 'AttributeValue can be String, Number, Binary, StringSet, NumberSet, BinarySet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
),
),
),
),
),
'ConsumedCapacityUnits' => array(
'type' => 'numeric',
'location' => 'json',
),
),
),
'DeleteTableOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'TableDescription' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'TableName' => array(
'description' => 'The name of the table being described.',
'type' => 'string',
),
'KeySchema' => array(
'type' => 'object',
'properties' => array(
'HashKeyElement' => array(
'description' => 'A hash key element is treated as the primary key, and can be a string or a number. Single attribute primary keys have one index value. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'description' => 'The AttributeName of the KeySchemaElement.',
'type' => 'string',
),
'AttributeType' => array(
'description' => 'The AttributeType of the KeySchemaElement which can be a String or a Number.',
'type' => 'string',
),
),
),
'RangeKeyElement' => array(
'description' => 'A range key element is treated as a secondary key (used in conjunction with the primary key), and can be a string or a number, and is only used for hash-and-range primary keys. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'description' => 'The AttributeName of the KeySchemaElement.',
'type' => 'string',
),
'AttributeType' => array(
'description' => 'The AttributeType of the KeySchemaElement which can be a String or a Number.',
'type' => 'string',
),
),
),
),
),
'TableStatus' => array(
'type' => 'string',
),
'CreationDateTime' => array(
'type' => 'string',
),
'ProvisionedThroughput' => array(
'type' => 'object',
'properties' => array(
'LastIncreaseDateTime' => array(
'type' => 'string',
),
'LastDecreaseDateTime' => array(
'type' => 'string',
),
'ReadCapacityUnits' => array(
'type' => 'numeric',
),
'WriteCapacityUnits' => array(
'type' => 'numeric',
),
),
),
'TableSizeBytes' => array(
'type' => 'numeric',
),
'ItemCount' => array(
'type' => 'numeric',
),
),
),
),
),
'DescribeTableOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Table' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'TableName' => array(
'description' => 'The name of the table being described.',
'type' => 'string',
),
'KeySchema' => array(
'type' => 'object',
'properties' => array(
'HashKeyElement' => array(
'description' => 'A hash key element is treated as the primary key, and can be a string or a number. Single attribute primary keys have one index value. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'description' => 'The AttributeName of the KeySchemaElement.',
'type' => 'string',
),
'AttributeType' => array(
'description' => 'The AttributeType of the KeySchemaElement which can be a String or a Number.',
'type' => 'string',
),
),
),
'RangeKeyElement' => array(
'description' => 'A range key element is treated as a secondary key (used in conjunction with the primary key), and can be a string or a number, and is only used for hash-and-range primary keys. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'description' => 'The AttributeName of the KeySchemaElement.',
'type' => 'string',
),
'AttributeType' => array(
'description' => 'The AttributeType of the KeySchemaElement which can be a String or a Number.',
'type' => 'string',
),
),
),
),
),
'TableStatus' => array(
'type' => 'string',
),
'CreationDateTime' => array(
'type' => 'string',
),
'ProvisionedThroughput' => array(
'type' => 'object',
'properties' => array(
'LastIncreaseDateTime' => array(
'type' => 'string',
),
'LastDecreaseDateTime' => array(
'type' => 'string',
),
'ReadCapacityUnits' => array(
'type' => 'numeric',
),
'WriteCapacityUnits' => array(
'type' => 'numeric',
),
),
),
'TableSizeBytes' => array(
'type' => 'numeric',
),
'ItemCount' => array(
'type' => 'numeric',
),
),
),
),
),
'GetItemOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Item' => array(
'description' => 'Contains the requested attributes.',
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'description' => 'AttributeValue can be String, Number, Binary, StringSet, NumberSet, BinarySet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
),
),
),
),
),
'ConsumedCapacityUnits' => array(
'type' => 'numeric',
'location' => 'json',
),
),
),
'ListTablesOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'TableNames' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'TableName',
'type' => 'string',
),
),
'LastEvaluatedTableName' => array(
'description' => 'The name of the last table in the current list. Use this value as the ExclusiveStartTableName in a new request to continue the list until all the table names are returned. If this value is null, all table names have been returned.',
'type' => 'string',
'location' => 'json',
),
),
),
'PutItemOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Attributes' => array(
'description' => 'Attribute values before the put operation, but only if the ReturnValues parameter is specified as ALL_OLD in the request.',
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'description' => 'AttributeValue can be String, Number, Binary, StringSet, NumberSet, BinarySet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
),
),
),
),
),
'ConsumedCapacityUnits' => array(
'type' => 'numeric',
'location' => 'json',
),
),
),
'QueryOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Items' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'AttributeMap',
'type' => 'object',
'additionalProperties' => array(
'description' => 'AttributeValue can be String, Number, Binary, StringSet, NumberSet, BinarySet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
),
),
),
),
),
),
'Count' => array(
'description' => 'Number of items in the response.',
'type' => 'numeric',
'location' => 'json',
),
'LastEvaluatedKey' => array(
'description' => 'Primary key of the item where the query operation stopped, inclusive of the previous result set. Use this value to start a new operation excluding this value in the new request. The LastEvaluatedKey is null when the entire query result set is complete (i.e. the operation processed the "last page").',
'type' => 'object',
'location' => 'json',
'properties' => array(
'HashKeyElement' => array(
'description' => 'A hash key element is treated as the primary key, and can be a string or a number. Single attribute primary keys have one index value. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
),
),
),
),
'RangeKeyElement' => array(
'description' => 'A range key element is treated as a secondary key (used in conjunction with the primary key), and can be a string or a number, and is only used for hash-and-range primary keys. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
),
),
),
),
),
),
'ConsumedCapacityUnits' => array(
'type' => 'numeric',
'location' => 'json',
),
),
),
'ScanOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Items' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'AttributeMap',
'type' => 'object',
'additionalProperties' => array(
'description' => 'AttributeValue can be String, Number, Binary, StringSet, NumberSet, BinarySet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
),
),
),
),
),
),
'Count' => array(
'description' => 'Number of items in the response.',
'type' => 'numeric',
'location' => 'json',
),
'ScannedCount' => array(
'description' => 'Number of items in the complete scan before any filters are applied. A high ScannedCount value with few, or no, Count results indicates an inefficient Scan operation.',
'type' => 'numeric',
'location' => 'json',
),
'LastEvaluatedKey' => array(
'description' => 'Primary key of the item where the scan operation stopped. Provide this value in a subsequent scan operation to continue the operation from that point. The LastEvaluatedKey is null when the entire scan result set is complete (i.e. the operation processed the "last page").',
'type' => 'object',
'location' => 'json',
'properties' => array(
'HashKeyElement' => array(
'description' => 'A hash key element is treated as the primary key, and can be a string or a number. Single attribute primary keys have one index value. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
),
),
),
),
'RangeKeyElement' => array(
'description' => 'A range key element is treated as a secondary key (used in conjunction with the primary key), and can be a string or a number, and is only used for hash-and-range primary keys. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
),
),
),
),
),
),
'ConsumedCapacityUnits' => array(
'type' => 'numeric',
'location' => 'json',
),
),
),
'UpdateItemOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Attributes' => array(
'description' => 'A map of attribute name-value pairs, but only if the ReturnValues parameter is specified as something other than NONE in the request.',
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'description' => 'AttributeValue can be String, Number, Binary, StringSet, NumberSet, BinarySet.',
'type' => 'object',
'properties' => array(
'S' => array(
'description' => 'Strings are Unicode with UTF-8 binary encoding. The maximum size is limited by the size of the primary key (1024 bytes as a range part of a key or 2048 bytes as a single part hash key) or the item size (64k).',
'type' => 'string',
),
'N' => array(
'description' => 'Numbers are positive or negative exact-value decimals and integers. A number can have up to 38 digits precision and can be between 10^-128 to 10^+126.',
'type' => 'string',
),
'B' => array(
'description' => 'Binary attributes are sequences of unsigned bytes.',
'type' => 'string',
),
'SS' => array(
'description' => 'A set of strings.',
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'description' => 'A set of numbers.',
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'description' => 'A set of binary attributes.',
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
),
),
),
),
),
'ConsumedCapacityUnits' => array(
'type' => 'numeric',
'location' => 'json',
),
),
),
'UpdateTableOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'TableDescription' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'TableName' => array(
'description' => 'The name of the table being described.',
'type' => 'string',
),
'KeySchema' => array(
'type' => 'object',
'properties' => array(
'HashKeyElement' => array(
'description' => 'A hash key element is treated as the primary key, and can be a string or a number. Single attribute primary keys have one index value. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'description' => 'The AttributeName of the KeySchemaElement.',
'type' => 'string',
),
'AttributeType' => array(
'description' => 'The AttributeType of the KeySchemaElement which can be a String or a Number.',
'type' => 'string',
),
),
),
'RangeKeyElement' => array(
'description' => 'A range key element is treated as a secondary key (used in conjunction with the primary key), and can be a string or a number, and is only used for hash-and-range primary keys. The value can be String, Number, StringSet, NumberSet.',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'description' => 'The AttributeName of the KeySchemaElement.',
'type' => 'string',
),
'AttributeType' => array(
'description' => 'The AttributeType of the KeySchemaElement which can be a String or a Number.',
'type' => 'string',
),
),
),
),
),
'TableStatus' => array(
'type' => 'string',
),
'CreationDateTime' => array(
'type' => 'string',
),
'ProvisionedThroughput' => array(
'type' => 'object',
'properties' => array(
'LastIncreaseDateTime' => array(
'type' => 'string',
),
'LastDecreaseDateTime' => array(
'type' => 'string',
),
'ReadCapacityUnits' => array(
'type' => 'numeric',
),
'WriteCapacityUnits' => array(
'type' => 'numeric',
),
),
),
'TableSizeBytes' => array(
'type' => 'numeric',
),
'ItemCount' => array(
'type' => 'numeric',
),
),
),
),
),
),
'waiters' => array(
'__default__' => array(
'interval' => 20,
'max_attempts' => 25,
),
'__TableState' => array(
'operation' => 'DescribeTable',
),
'TableExists' => array(
'extends' => '__TableState',
'description' => 'Wait until a table exists and can be accessed',
'success.type' => 'output',
'success.path' => 'Table/TableStatus',
'success.value' => 'ACTIVE',
'ignore_errors' => array(
'ResourceNotFoundException',
),
),
'TableNotExists' => array(
'extends' => '__TableState',
'description' => 'Wait until a table is deleted',
'success.type' => 'error',
'success.value' => 'ResourceNotFoundException',
),
),
);
sdk-2.5.2/Aws/DynamoDb/Resources/dynamodb-2012-08-10.php 0000644 115327001610067500000572645 12272324172 017165 0 ustar '2012-08-10',
'endpointPrefix' => 'dynamodb',
'serviceFullName' => 'Amazon DynamoDB',
'serviceAbbreviation' => 'DynamoDB',
'serviceType' => 'json',
'jsonVersion' => '1.0',
'targetPrefix' => 'DynamoDB_20120810.',
'signatureVersion' => 'v4',
'namespace' => 'DynamoDb',
'regions' => array(
'us-east-1' => array(
'http' => true,
'https' => true,
'hostname' => 'dynamodb.us-east-1.amazonaws.com',
),
'us-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'dynamodb.us-west-1.amazonaws.com',
),
'us-west-2' => array(
'http' => true,
'https' => true,
'hostname' => 'dynamodb.us-west-2.amazonaws.com',
),
'eu-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'dynamodb.eu-west-1.amazonaws.com',
),
'ap-northeast-1' => array(
'http' => true,
'https' => true,
'hostname' => 'dynamodb.ap-northeast-1.amazonaws.com',
),
'ap-southeast-1' => array(
'http' => true,
'https' => true,
'hostname' => 'dynamodb.ap-southeast-1.amazonaws.com',
),
'ap-southeast-2' => array(
'http' => true,
'https' => true,
'hostname' => 'dynamodb.ap-southeast-2.amazonaws.com',
),
'sa-east-1' => array(
'http' => true,
'https' => true,
'hostname' => 'dynamodb.sa-east-1.amazonaws.com',
),
'cn-north-1' => array(
'http' => true,
'https' => true,
'hostname' => 'dynamodb.cn-north-1.amazonaws.com.cn',
),
'us-gov-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'dynamodb.us-gov-west-1.amazonaws.com',
),
),
'operations' => array(
'BatchGetItem' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'BatchGetItemOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DynamoDB_20120810.BatchGetItem',
),
'RequestItems' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'object',
'data' => array(
'shape_name' => 'TableName',
'key_pattern' => '/[a-zA-Z0-9_.-]+/',
),
'properties' => array(
'Keys' => array(
'required' => true,
'type' => 'array',
'minItems' => 1,
'maxItems' => 100,
'items' => array(
'name' => 'Key',
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'data' => array(
'shape_name' => 'AttributeName',
),
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
),
),
'AttributesToGet' => array(
'type' => 'array',
'minItems' => 1,
'items' => array(
'name' => 'AttributeName',
'type' => 'string',
),
),
'ConsistentRead' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
'ReturnConsumedCapacity' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'The request rate is too high, or the request is too large, for the available throughput to accommodate. The AWS SDKs automatically retry requests that receive this exception; therefore, your request will eventually succeed, unless the request is too large or your retry queue is too large to finish. Reduce the frequency of requests by using the strategies listed in Error Retries and Exponential Backoff in the Amazon DynamoDB Developer Guide.',
'class' => 'ProvisionedThroughputExceededException',
),
array(
'reason' => 'The operation tried to access a nonexistent table or index. The resource may not be specified correctly, or its status may not be ACTIVE.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'An error occurred on the server side.',
'class' => 'InternalServerErrorException',
),
),
),
'BatchWriteItem' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'BatchWriteItemOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DynamoDB_20120810.BatchWriteItem',
),
'RequestItems' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'array',
'minItems' => 1,
'maxItems' => 25,
'data' => array(
'shape_name' => 'TableName',
'key_pattern' => '/[a-zA-Z0-9_.-]+/',
),
'items' => array(
'name' => 'WriteRequest',
'type' => 'object',
'properties' => array(
'PutRequest' => array(
'type' => 'object',
'properties' => array(
'Item' => array(
'required' => true,
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'data' => array(
'shape_name' => 'AttributeName',
),
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
),
),
),
'DeleteRequest' => array(
'type' => 'object',
'properties' => array(
'Key' => array(
'required' => true,
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'data' => array(
'shape_name' => 'AttributeName',
),
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
),
),
),
),
),
),
),
'ReturnConsumedCapacity' => array(
'type' => 'string',
'location' => 'json',
),
'ReturnItemCollectionMetrics' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'The request rate is too high, or the request is too large, for the available throughput to accommodate. The AWS SDKs automatically retry requests that receive this exception; therefore, your request will eventually succeed, unless the request is too large or your retry queue is too large to finish. Reduce the frequency of requests by using the strategies listed in Error Retries and Exponential Backoff in the Amazon DynamoDB Developer Guide.',
'class' => 'ProvisionedThroughputExceededException',
),
array(
'reason' => 'The operation tried to access a nonexistent table or index. The resource may not be specified correctly, or its status may not be ACTIVE.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'An item collection is too large. This exception is only returned for tables that have one or more local secondary indexes.',
'class' => 'ItemCollectionSizeLimitExceededException',
),
array(
'reason' => 'An error occurred on the server side.',
'class' => 'InternalServerErrorException',
),
),
),
'CreateTable' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'CreateTableOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DynamoDB_20120810.CreateTable',
),
'AttributeDefinitions' => array(
'required' => true,
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'AttributeDefinition',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
'AttributeType' => array(
'required' => true,
'type' => 'string',
),
),
),
),
'TableName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 3,
'maxLength' => 255,
),
'KeySchema' => array(
'required' => true,
'type' => 'array',
'location' => 'json',
'minItems' => 1,
'maxItems' => 2,
'items' => array(
'name' => 'KeySchemaElement',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
'KeyType' => array(
'required' => true,
'type' => 'string',
),
),
),
),
'LocalSecondaryIndexes' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'LocalSecondaryIndex',
'type' => 'object',
'properties' => array(
'IndexName' => array(
'required' => true,
'type' => 'string',
'minLength' => 3,
'maxLength' => 255,
),
'KeySchema' => array(
'required' => true,
'type' => 'array',
'minItems' => 1,
'maxItems' => 2,
'items' => array(
'name' => 'KeySchemaElement',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
'KeyType' => array(
'required' => true,
'type' => 'string',
),
),
),
),
'Projection' => array(
'required' => true,
'type' => 'object',
'properties' => array(
'ProjectionType' => array(
'type' => 'string',
),
'NonKeyAttributes' => array(
'type' => 'array',
'minItems' => 1,
'maxItems' => 20,
'items' => array(
'name' => 'NonKeyAttributeName',
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
),
),
),
),
),
),
'GlobalSecondaryIndexes' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'GlobalSecondaryIndex',
'type' => 'object',
'properties' => array(
'IndexName' => array(
'required' => true,
'type' => 'string',
'minLength' => 3,
'maxLength' => 255,
),
'KeySchema' => array(
'required' => true,
'type' => 'array',
'minItems' => 1,
'maxItems' => 2,
'items' => array(
'name' => 'KeySchemaElement',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
'KeyType' => array(
'required' => true,
'type' => 'string',
),
),
),
),
'Projection' => array(
'required' => true,
'type' => 'object',
'properties' => array(
'ProjectionType' => array(
'type' => 'string',
),
'NonKeyAttributes' => array(
'type' => 'array',
'minItems' => 1,
'maxItems' => 20,
'items' => array(
'name' => 'NonKeyAttributeName',
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
),
),
),
'ProvisionedThroughput' => array(
'required' => true,
'type' => 'object',
'properties' => array(
'ReadCapacityUnits' => array(
'required' => true,
'type' => 'numeric',
'minimum' => 1,
),
'WriteCapacityUnits' => array(
'required' => true,
'type' => 'numeric',
'minimum' => 1,
),
),
),
),
),
),
'ProvisionedThroughput' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'properties' => array(
'ReadCapacityUnits' => array(
'required' => true,
'type' => 'numeric',
'minimum' => 1,
),
'WriteCapacityUnits' => array(
'required' => true,
'type' => 'numeric',
'minimum' => 1,
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'The operation conflicts with the resource\'s availability. For example, you attempted to recreate an existing table, or tried to delete a table currently in the CREATING state.',
'class' => 'ResourceInUseException',
),
array(
'reason' => 'The number of concurrent table requests (cumulative number of tables in the CREATING, DELETING or UPDATING state) exceeds the maximum allowed of 10. Also, for tables with secondary indexes, only one of those tables can be in the CREATING state at any point in time. Do not attempt to create more than one such table simultaneously. The total limit of tables in the ACTIVE state is 250.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'An error occurred on the server side.',
'class' => 'InternalServerErrorException',
),
),
),
'DeleteItem' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DeleteItemOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DynamoDB_20120810.DeleteItem',
),
'TableName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 3,
'maxLength' => 255,
),
'Key' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'object',
'data' => array(
'shape_name' => 'AttributeName',
),
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
),
'Expected' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'object',
'data' => array(
'shape_name' => 'AttributeName',
),
'properties' => array(
'Value' => array(
'type' => 'object',
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
'Exists' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
'ReturnValues' => array(
'type' => 'string',
'location' => 'json',
),
'ReturnConsumedCapacity' => array(
'type' => 'string',
'location' => 'json',
),
'ReturnItemCollectionMetrics' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'A condition specified in the operation could not be evaluated.',
'class' => 'ConditionalCheckFailedException',
),
array(
'reason' => 'The request rate is too high, or the request is too large, for the available throughput to accommodate. The AWS SDKs automatically retry requests that receive this exception; therefore, your request will eventually succeed, unless the request is too large or your retry queue is too large to finish. Reduce the frequency of requests by using the strategies listed in Error Retries and Exponential Backoff in the Amazon DynamoDB Developer Guide.',
'class' => 'ProvisionedThroughputExceededException',
),
array(
'reason' => 'The operation tried to access a nonexistent table or index. The resource may not be specified correctly, or its status may not be ACTIVE.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'An item collection is too large. This exception is only returned for tables that have one or more local secondary indexes.',
'class' => 'ItemCollectionSizeLimitExceededException',
),
array(
'reason' => 'An error occurred on the server side.',
'class' => 'InternalServerErrorException',
),
),
),
'DeleteTable' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DeleteTableOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DynamoDB_20120810.DeleteTable',
),
'TableName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 3,
'maxLength' => 255,
),
),
'errorResponses' => array(
array(
'reason' => 'The operation conflicts with the resource\'s availability. For example, you attempted to recreate an existing table, or tried to delete a table currently in the CREATING state.',
'class' => 'ResourceInUseException',
),
array(
'reason' => 'The operation tried to access a nonexistent table or index. The resource may not be specified correctly, or its status may not be ACTIVE.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'The number of concurrent table requests (cumulative number of tables in the CREATING, DELETING or UPDATING state) exceeds the maximum allowed of 10. Also, for tables with secondary indexes, only one of those tables can be in the CREATING state at any point in time. Do not attempt to create more than one such table simultaneously. The total limit of tables in the ACTIVE state is 250.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'An error occurred on the server side.',
'class' => 'InternalServerErrorException',
),
),
),
'DescribeTable' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeTableOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DynamoDB_20120810.DescribeTable',
),
'TableName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 3,
'maxLength' => 255,
),
),
'errorResponses' => array(
array(
'reason' => 'The operation tried to access a nonexistent table or index. The resource may not be specified correctly, or its status may not be ACTIVE.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'An error occurred on the server side.',
'class' => 'InternalServerErrorException',
),
),
),
'GetItem' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'GetItemOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DynamoDB_20120810.GetItem',
),
'TableName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 3,
'maxLength' => 255,
),
'Key' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'object',
'data' => array(
'shape_name' => 'AttributeName',
),
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
),
'AttributesToGet' => array(
'type' => 'array',
'location' => 'json',
'minItems' => 1,
'items' => array(
'name' => 'AttributeName',
'type' => 'string',
),
),
'ConsistentRead' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'ReturnConsumedCapacity' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'The request rate is too high, or the request is too large, for the available throughput to accommodate. The AWS SDKs automatically retry requests that receive this exception; therefore, your request will eventually succeed, unless the request is too large or your retry queue is too large to finish. Reduce the frequency of requests by using the strategies listed in Error Retries and Exponential Backoff in the Amazon DynamoDB Developer Guide.',
'class' => 'ProvisionedThroughputExceededException',
),
array(
'reason' => 'The operation tried to access a nonexistent table or index. The resource may not be specified correctly, or its status may not be ACTIVE.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'An error occurred on the server side.',
'class' => 'InternalServerErrorException',
),
),
),
'ListTables' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ListTablesOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DynamoDB_20120810.ListTables',
),
'ExclusiveStartTableName' => array(
'type' => 'string',
'location' => 'json',
'minLength' => 3,
'maxLength' => 255,
),
'Limit' => array(
'type' => 'numeric',
'location' => 'json',
'minimum' => 1,
'maximum' => 100,
),
),
'errorResponses' => array(
array(
'reason' => 'An error occurred on the server side.',
'class' => 'InternalServerErrorException',
),
),
),
'PutItem' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'PutItemOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DynamoDB_20120810.PutItem',
),
'TableName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 3,
'maxLength' => 255,
),
'Item' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'object',
'data' => array(
'shape_name' => 'AttributeName',
),
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
),
'Expected' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'object',
'data' => array(
'shape_name' => 'AttributeName',
),
'properties' => array(
'Value' => array(
'type' => 'object',
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
'Exists' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
'ReturnValues' => array(
'type' => 'string',
'location' => 'json',
),
'ReturnConsumedCapacity' => array(
'type' => 'string',
'location' => 'json',
),
'ReturnItemCollectionMetrics' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'A condition specified in the operation could not be evaluated.',
'class' => 'ConditionalCheckFailedException',
),
array(
'reason' => 'The request rate is too high, or the request is too large, for the available throughput to accommodate. The AWS SDKs automatically retry requests that receive this exception; therefore, your request will eventually succeed, unless the request is too large or your retry queue is too large to finish. Reduce the frequency of requests by using the strategies listed in Error Retries and Exponential Backoff in the Amazon DynamoDB Developer Guide.',
'class' => 'ProvisionedThroughputExceededException',
),
array(
'reason' => 'The operation tried to access a nonexistent table or index. The resource may not be specified correctly, or its status may not be ACTIVE.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'An item collection is too large. This exception is only returned for tables that have one or more local secondary indexes.',
'class' => 'ItemCollectionSizeLimitExceededException',
),
array(
'reason' => 'An error occurred on the server side.',
'class' => 'InternalServerErrorException',
),
),
),
'Query' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'QueryOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DynamoDB_20120810.Query',
),
'TableName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 3,
'maxLength' => 255,
),
'IndexName' => array(
'type' => 'string',
'location' => 'json',
'minLength' => 3,
'maxLength' => 255,
),
'Select' => array(
'type' => 'string',
'location' => 'json',
),
'AttributesToGet' => array(
'type' => 'array',
'location' => 'json',
'minItems' => 1,
'items' => array(
'name' => 'AttributeName',
'type' => 'string',
),
),
'Limit' => array(
'type' => 'numeric',
'location' => 'json',
'minimum' => 1,
),
'ConsistentRead' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'KeyConditions' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'object',
'data' => array(
'shape_name' => 'AttributeName',
),
'properties' => array(
'AttributeValueList' => array(
'type' => 'array',
'items' => array(
'name' => 'AttributeValue',
'type' => 'object',
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
),
'ComparisonOperator' => array(
'required' => true,
'type' => 'string',
),
),
),
),
'ScanIndexForward' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'ExclusiveStartKey' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'object',
'data' => array(
'shape_name' => 'AttributeName',
),
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
),
'ReturnConsumedCapacity' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'The request rate is too high, or the request is too large, for the available throughput to accommodate. The AWS SDKs automatically retry requests that receive this exception; therefore, your request will eventually succeed, unless the request is too large or your retry queue is too large to finish. Reduce the frequency of requests by using the strategies listed in Error Retries and Exponential Backoff in the Amazon DynamoDB Developer Guide.',
'class' => 'ProvisionedThroughputExceededException',
),
array(
'reason' => 'The operation tried to access a nonexistent table or index. The resource may not be specified correctly, or its status may not be ACTIVE.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'An error occurred on the server side.',
'class' => 'InternalServerErrorException',
),
),
),
'Scan' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ScanOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DynamoDB_20120810.Scan',
),
'TableName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 3,
'maxLength' => 255,
),
'AttributesToGet' => array(
'type' => 'array',
'location' => 'json',
'minItems' => 1,
'items' => array(
'name' => 'AttributeName',
'type' => 'string',
),
),
'Limit' => array(
'type' => 'numeric',
'location' => 'json',
'minimum' => 1,
),
'Select' => array(
'type' => 'string',
'location' => 'json',
),
'ScanFilter' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'object',
'data' => array(
'shape_name' => 'AttributeName',
),
'properties' => array(
'AttributeValueList' => array(
'type' => 'array',
'items' => array(
'name' => 'AttributeValue',
'type' => 'object',
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
),
'ComparisonOperator' => array(
'required' => true,
'type' => 'string',
),
),
),
),
'ExclusiveStartKey' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'object',
'data' => array(
'shape_name' => 'AttributeName',
),
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
),
'ReturnConsumedCapacity' => array(
'type' => 'string',
'location' => 'json',
),
'TotalSegments' => array(
'type' => 'numeric',
'location' => 'json',
'minimum' => 1,
'maximum' => 4096,
),
'Segment' => array(
'type' => 'numeric',
'location' => 'json',
'maximum' => 4095,
),
),
'errorResponses' => array(
array(
'reason' => 'The request rate is too high, or the request is too large, for the available throughput to accommodate. The AWS SDKs automatically retry requests that receive this exception; therefore, your request will eventually succeed, unless the request is too large or your retry queue is too large to finish. Reduce the frequency of requests by using the strategies listed in Error Retries and Exponential Backoff in the Amazon DynamoDB Developer Guide.',
'class' => 'ProvisionedThroughputExceededException',
),
array(
'reason' => 'The operation tried to access a nonexistent table or index. The resource may not be specified correctly, or its status may not be ACTIVE.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'An error occurred on the server side.',
'class' => 'InternalServerErrorException',
),
),
),
'UpdateItem' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'UpdateItemOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DynamoDB_20120810.UpdateItem',
),
'TableName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 3,
'maxLength' => 255,
),
'Key' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'object',
'data' => array(
'shape_name' => 'AttributeName',
),
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
),
'AttributeUpdates' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'object',
'data' => array(
'shape_name' => 'AttributeName',
),
'properties' => array(
'Value' => array(
'type' => 'object',
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
'Action' => array(
'type' => 'string',
),
),
),
),
'Expected' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'object',
'data' => array(
'shape_name' => 'AttributeName',
),
'properties' => array(
'Value' => array(
'type' => 'object',
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_encode',
),
),
),
),
),
'Exists' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
'ReturnValues' => array(
'type' => 'string',
'location' => 'json',
),
'ReturnConsumedCapacity' => array(
'type' => 'string',
'location' => 'json',
),
'ReturnItemCollectionMetrics' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'A condition specified in the operation could not be evaluated.',
'class' => 'ConditionalCheckFailedException',
),
array(
'reason' => 'The request rate is too high, or the request is too large, for the available throughput to accommodate. The AWS SDKs automatically retry requests that receive this exception; therefore, your request will eventually succeed, unless the request is too large or your retry queue is too large to finish. Reduce the frequency of requests by using the strategies listed in Error Retries and Exponential Backoff in the Amazon DynamoDB Developer Guide.',
'class' => 'ProvisionedThroughputExceededException',
),
array(
'reason' => 'The operation tried to access a nonexistent table or index. The resource may not be specified correctly, or its status may not be ACTIVE.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'An item collection is too large. This exception is only returned for tables that have one or more local secondary indexes.',
'class' => 'ItemCollectionSizeLimitExceededException',
),
array(
'reason' => 'An error occurred on the server side.',
'class' => 'InternalServerErrorException',
),
),
),
'UpdateTable' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'UpdateTableOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'DynamoDB_20120810.UpdateTable',
),
'TableName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 3,
'maxLength' => 255,
),
'ProvisionedThroughput' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'ReadCapacityUnits' => array(
'required' => true,
'type' => 'numeric',
'minimum' => 1,
),
'WriteCapacityUnits' => array(
'required' => true,
'type' => 'numeric',
'minimum' => 1,
),
),
),
'GlobalSecondaryIndexUpdates' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'GlobalSecondaryIndexUpdate',
'type' => 'object',
'properties' => array(
'Update' => array(
'type' => 'object',
'properties' => array(
'IndexName' => array(
'required' => true,
'type' => 'string',
'minLength' => 3,
'maxLength' => 255,
),
'ProvisionedThroughput' => array(
'required' => true,
'type' => 'object',
'properties' => array(
'ReadCapacityUnits' => array(
'required' => true,
'type' => 'numeric',
'minimum' => 1,
),
'WriteCapacityUnits' => array(
'required' => true,
'type' => 'numeric',
'minimum' => 1,
),
),
),
),
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'The operation conflicts with the resource\'s availability. For example, you attempted to recreate an existing table, or tried to delete a table currently in the CREATING state.',
'class' => 'ResourceInUseException',
),
array(
'reason' => 'The operation tried to access a nonexistent table or index. The resource may not be specified correctly, or its status may not be ACTIVE.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'The number of concurrent table requests (cumulative number of tables in the CREATING, DELETING or UPDATING state) exceeds the maximum allowed of 10. Also, for tables with secondary indexes, only one of those tables can be in the CREATING state at any point in time. Do not attempt to create more than one such table simultaneously. The total limit of tables in the ACTIVE state is 250.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'An error occurred on the server side.',
'class' => 'InternalServerErrorException',
),
),
),
),
'models' => array(
'BatchGetItemOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Responses' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'array',
'items' => array(
'name' => 'AttributeMap',
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
),
),
),
),
),
),
'UnprocessedKeys' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'Keys' => array(
'type' => 'array',
'items' => array(
'name' => 'Key',
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
),
),
),
),
),
'AttributesToGet' => array(
'type' => 'array',
'items' => array(
'name' => 'AttributeName',
'type' => 'string',
),
),
'ConsistentRead' => array(
'type' => 'boolean',
),
),
),
),
'ConsumedCapacity' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'ConsumedCapacity',
'type' => 'object',
'properties' => array(
'TableName' => array(
'type' => 'string',
),
'CapacityUnits' => array(
'type' => 'numeric',
),
'Table' => array(
'type' => 'object',
'properties' => array(
'CapacityUnits' => array(
'type' => 'numeric',
),
),
),
'LocalSecondaryIndexes' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'CapacityUnits' => array(
'type' => 'numeric',
),
),
),
),
'GlobalSecondaryIndexes' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'CapacityUnits' => array(
'type' => 'numeric',
),
),
),
),
),
),
),
),
),
'BatchWriteItemOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'UnprocessedItems' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'array',
'items' => array(
'name' => 'WriteRequest',
'type' => 'object',
'properties' => array(
'PutRequest' => array(
'type' => 'object',
'properties' => array(
'Item' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
),
),
),
),
),
),
'DeleteRequest' => array(
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
),
),
),
),
),
),
),
),
),
),
'ItemCollectionMetrics' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'array',
'items' => array(
'name' => 'ItemCollectionMetrics',
'type' => 'object',
'properties' => array(
'ItemCollectionKey' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
),
),
),
),
'SizeEstimateRangeGB' => array(
'type' => 'array',
'items' => array(
'name' => 'ItemCollectionSizeEstimateBound',
'type' => 'numeric',
),
),
),
),
),
),
'ConsumedCapacity' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'ConsumedCapacity',
'type' => 'object',
'properties' => array(
'TableName' => array(
'type' => 'string',
),
'CapacityUnits' => array(
'type' => 'numeric',
),
'Table' => array(
'type' => 'object',
'properties' => array(
'CapacityUnits' => array(
'type' => 'numeric',
),
),
),
'LocalSecondaryIndexes' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'CapacityUnits' => array(
'type' => 'numeric',
),
),
),
),
'GlobalSecondaryIndexes' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'CapacityUnits' => array(
'type' => 'numeric',
),
),
),
),
),
),
),
),
),
'CreateTableOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'TableDescription' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'AttributeDefinitions' => array(
'type' => 'array',
'items' => array(
'name' => 'AttributeDefinition',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'type' => 'string',
),
'AttributeType' => array(
'type' => 'string',
),
),
),
),
'TableName' => array(
'type' => 'string',
),
'KeySchema' => array(
'type' => 'array',
'items' => array(
'name' => 'KeySchemaElement',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'type' => 'string',
),
'KeyType' => array(
'type' => 'string',
),
),
),
),
'TableStatus' => array(
'type' => 'string',
),
'CreationDateTime' => array(
'type' => 'string',
),
'ProvisionedThroughput' => array(
'type' => 'object',
'properties' => array(
'LastIncreaseDateTime' => array(
'type' => 'string',
),
'LastDecreaseDateTime' => array(
'type' => 'string',
),
'NumberOfDecreasesToday' => array(
'type' => 'numeric',
),
'ReadCapacityUnits' => array(
'type' => 'numeric',
),
'WriteCapacityUnits' => array(
'type' => 'numeric',
),
),
),
'TableSizeBytes' => array(
'type' => 'numeric',
),
'ItemCount' => array(
'type' => 'numeric',
),
'LocalSecondaryIndexes' => array(
'type' => 'array',
'items' => array(
'name' => 'LocalSecondaryIndexDescription',
'type' => 'object',
'properties' => array(
'IndexName' => array(
'type' => 'string',
),
'KeySchema' => array(
'type' => 'array',
'items' => array(
'name' => 'KeySchemaElement',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'type' => 'string',
),
'KeyType' => array(
'type' => 'string',
),
),
),
),
'Projection' => array(
'type' => 'object',
'properties' => array(
'ProjectionType' => array(
'type' => 'string',
),
'NonKeyAttributes' => array(
'type' => 'array',
'items' => array(
'name' => 'NonKeyAttributeName',
'type' => 'string',
),
),
),
),
'IndexSizeBytes' => array(
'type' => 'numeric',
),
'ItemCount' => array(
'type' => 'numeric',
),
),
),
),
'GlobalSecondaryIndexes' => array(
'type' => 'array',
'items' => array(
'name' => 'GlobalSecondaryIndexDescription',
'type' => 'object',
'properties' => array(
'IndexName' => array(
'type' => 'string',
),
'KeySchema' => array(
'type' => 'array',
'items' => array(
'name' => 'KeySchemaElement',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'type' => 'string',
),
'KeyType' => array(
'type' => 'string',
),
),
),
),
'Projection' => array(
'type' => 'object',
'properties' => array(
'ProjectionType' => array(
'type' => 'string',
),
'NonKeyAttributes' => array(
'type' => 'array',
'items' => array(
'name' => 'NonKeyAttributeName',
'type' => 'string',
),
),
),
),
'IndexStatus' => array(
'type' => 'string',
),
'ProvisionedThroughput' => array(
'type' => 'object',
'properties' => array(
'LastIncreaseDateTime' => array(
'type' => 'string',
),
'LastDecreaseDateTime' => array(
'type' => 'string',
),
'NumberOfDecreasesToday' => array(
'type' => 'numeric',
),
'ReadCapacityUnits' => array(
'type' => 'numeric',
),
'WriteCapacityUnits' => array(
'type' => 'numeric',
),
),
),
'IndexSizeBytes' => array(
'type' => 'numeric',
),
'ItemCount' => array(
'type' => 'numeric',
),
),
),
),
),
),
),
),
'DeleteItemOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Attributes' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
),
),
),
),
'ConsumedCapacity' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'TableName' => array(
'type' => 'string',
),
'CapacityUnits' => array(
'type' => 'numeric',
),
'Table' => array(
'type' => 'object',
'properties' => array(
'CapacityUnits' => array(
'type' => 'numeric',
),
),
),
'LocalSecondaryIndexes' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'CapacityUnits' => array(
'type' => 'numeric',
),
),
),
),
'GlobalSecondaryIndexes' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'CapacityUnits' => array(
'type' => 'numeric',
),
),
),
),
),
),
'ItemCollectionMetrics' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'ItemCollectionKey' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
),
),
),
),
'SizeEstimateRangeGB' => array(
'type' => 'array',
'items' => array(
'name' => 'ItemCollectionSizeEstimateBound',
'type' => 'numeric',
),
),
),
),
),
),
'DeleteTableOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'TableDescription' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'AttributeDefinitions' => array(
'type' => 'array',
'items' => array(
'name' => 'AttributeDefinition',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'type' => 'string',
),
'AttributeType' => array(
'type' => 'string',
),
),
),
),
'TableName' => array(
'type' => 'string',
),
'KeySchema' => array(
'type' => 'array',
'items' => array(
'name' => 'KeySchemaElement',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'type' => 'string',
),
'KeyType' => array(
'type' => 'string',
),
),
),
),
'TableStatus' => array(
'type' => 'string',
),
'CreationDateTime' => array(
'type' => 'string',
),
'ProvisionedThroughput' => array(
'type' => 'object',
'properties' => array(
'LastIncreaseDateTime' => array(
'type' => 'string',
),
'LastDecreaseDateTime' => array(
'type' => 'string',
),
'NumberOfDecreasesToday' => array(
'type' => 'numeric',
),
'ReadCapacityUnits' => array(
'type' => 'numeric',
),
'WriteCapacityUnits' => array(
'type' => 'numeric',
),
),
),
'TableSizeBytes' => array(
'type' => 'numeric',
),
'ItemCount' => array(
'type' => 'numeric',
),
'LocalSecondaryIndexes' => array(
'type' => 'array',
'items' => array(
'name' => 'LocalSecondaryIndexDescription',
'type' => 'object',
'properties' => array(
'IndexName' => array(
'type' => 'string',
),
'KeySchema' => array(
'type' => 'array',
'items' => array(
'name' => 'KeySchemaElement',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'type' => 'string',
),
'KeyType' => array(
'type' => 'string',
),
),
),
),
'Projection' => array(
'type' => 'object',
'properties' => array(
'ProjectionType' => array(
'type' => 'string',
),
'NonKeyAttributes' => array(
'type' => 'array',
'items' => array(
'name' => 'NonKeyAttributeName',
'type' => 'string',
),
),
),
),
'IndexSizeBytes' => array(
'type' => 'numeric',
),
'ItemCount' => array(
'type' => 'numeric',
),
),
),
),
'GlobalSecondaryIndexes' => array(
'type' => 'array',
'items' => array(
'name' => 'GlobalSecondaryIndexDescription',
'type' => 'object',
'properties' => array(
'IndexName' => array(
'type' => 'string',
),
'KeySchema' => array(
'type' => 'array',
'items' => array(
'name' => 'KeySchemaElement',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'type' => 'string',
),
'KeyType' => array(
'type' => 'string',
),
),
),
),
'Projection' => array(
'type' => 'object',
'properties' => array(
'ProjectionType' => array(
'type' => 'string',
),
'NonKeyAttributes' => array(
'type' => 'array',
'items' => array(
'name' => 'NonKeyAttributeName',
'type' => 'string',
),
),
),
),
'IndexStatus' => array(
'type' => 'string',
),
'ProvisionedThroughput' => array(
'type' => 'object',
'properties' => array(
'LastIncreaseDateTime' => array(
'type' => 'string',
),
'LastDecreaseDateTime' => array(
'type' => 'string',
),
'NumberOfDecreasesToday' => array(
'type' => 'numeric',
),
'ReadCapacityUnits' => array(
'type' => 'numeric',
),
'WriteCapacityUnits' => array(
'type' => 'numeric',
),
),
),
'IndexSizeBytes' => array(
'type' => 'numeric',
),
'ItemCount' => array(
'type' => 'numeric',
),
),
),
),
),
),
),
),
'DescribeTableOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Table' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'AttributeDefinitions' => array(
'type' => 'array',
'items' => array(
'name' => 'AttributeDefinition',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'type' => 'string',
),
'AttributeType' => array(
'type' => 'string',
),
),
),
),
'TableName' => array(
'type' => 'string',
),
'KeySchema' => array(
'type' => 'array',
'items' => array(
'name' => 'KeySchemaElement',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'type' => 'string',
),
'KeyType' => array(
'type' => 'string',
),
),
),
),
'TableStatus' => array(
'type' => 'string',
),
'CreationDateTime' => array(
'type' => 'string',
),
'ProvisionedThroughput' => array(
'type' => 'object',
'properties' => array(
'LastIncreaseDateTime' => array(
'type' => 'string',
),
'LastDecreaseDateTime' => array(
'type' => 'string',
),
'NumberOfDecreasesToday' => array(
'type' => 'numeric',
),
'ReadCapacityUnits' => array(
'type' => 'numeric',
),
'WriteCapacityUnits' => array(
'type' => 'numeric',
),
),
),
'TableSizeBytes' => array(
'type' => 'numeric',
),
'ItemCount' => array(
'type' => 'numeric',
),
'LocalSecondaryIndexes' => array(
'type' => 'array',
'items' => array(
'name' => 'LocalSecondaryIndexDescription',
'type' => 'object',
'properties' => array(
'IndexName' => array(
'type' => 'string',
),
'KeySchema' => array(
'type' => 'array',
'items' => array(
'name' => 'KeySchemaElement',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'type' => 'string',
),
'KeyType' => array(
'type' => 'string',
),
),
),
),
'Projection' => array(
'type' => 'object',
'properties' => array(
'ProjectionType' => array(
'type' => 'string',
),
'NonKeyAttributes' => array(
'type' => 'array',
'items' => array(
'name' => 'NonKeyAttributeName',
'type' => 'string',
),
),
),
),
'IndexSizeBytes' => array(
'type' => 'numeric',
),
'ItemCount' => array(
'type' => 'numeric',
),
),
),
),
'GlobalSecondaryIndexes' => array(
'type' => 'array',
'items' => array(
'name' => 'GlobalSecondaryIndexDescription',
'type' => 'object',
'properties' => array(
'IndexName' => array(
'type' => 'string',
),
'KeySchema' => array(
'type' => 'array',
'items' => array(
'name' => 'KeySchemaElement',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'type' => 'string',
),
'KeyType' => array(
'type' => 'string',
),
),
),
),
'Projection' => array(
'type' => 'object',
'properties' => array(
'ProjectionType' => array(
'type' => 'string',
),
'NonKeyAttributes' => array(
'type' => 'array',
'items' => array(
'name' => 'NonKeyAttributeName',
'type' => 'string',
),
),
),
),
'IndexStatus' => array(
'type' => 'string',
),
'ProvisionedThroughput' => array(
'type' => 'object',
'properties' => array(
'LastIncreaseDateTime' => array(
'type' => 'string',
),
'LastDecreaseDateTime' => array(
'type' => 'string',
),
'NumberOfDecreasesToday' => array(
'type' => 'numeric',
),
'ReadCapacityUnits' => array(
'type' => 'numeric',
),
'WriteCapacityUnits' => array(
'type' => 'numeric',
),
),
),
'IndexSizeBytes' => array(
'type' => 'numeric',
),
'ItemCount' => array(
'type' => 'numeric',
),
),
),
),
),
),
),
),
'GetItemOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Item' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
),
),
),
),
'ConsumedCapacity' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'TableName' => array(
'type' => 'string',
),
'CapacityUnits' => array(
'type' => 'numeric',
),
'Table' => array(
'type' => 'object',
'properties' => array(
'CapacityUnits' => array(
'type' => 'numeric',
),
),
),
'LocalSecondaryIndexes' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'CapacityUnits' => array(
'type' => 'numeric',
),
),
),
),
'GlobalSecondaryIndexes' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'CapacityUnits' => array(
'type' => 'numeric',
),
),
),
),
),
),
),
),
'ListTablesOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'TableNames' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'TableName',
'type' => 'string',
),
),
'LastEvaluatedTableName' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'PutItemOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Attributes' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
),
),
),
),
'ConsumedCapacity' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'TableName' => array(
'type' => 'string',
),
'CapacityUnits' => array(
'type' => 'numeric',
),
'Table' => array(
'type' => 'object',
'properties' => array(
'CapacityUnits' => array(
'type' => 'numeric',
),
),
),
'LocalSecondaryIndexes' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'CapacityUnits' => array(
'type' => 'numeric',
),
),
),
),
'GlobalSecondaryIndexes' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'CapacityUnits' => array(
'type' => 'numeric',
),
),
),
),
),
),
'ItemCollectionMetrics' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'ItemCollectionKey' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
),
),
),
),
'SizeEstimateRangeGB' => array(
'type' => 'array',
'items' => array(
'name' => 'ItemCollectionSizeEstimateBound',
'type' => 'numeric',
),
),
),
),
),
),
'QueryOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Items' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'AttributeMap',
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
),
),
),
),
),
'Count' => array(
'type' => 'numeric',
'location' => 'json',
),
'LastEvaluatedKey' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
),
),
),
),
'ConsumedCapacity' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'TableName' => array(
'type' => 'string',
),
'CapacityUnits' => array(
'type' => 'numeric',
),
'Table' => array(
'type' => 'object',
'properties' => array(
'CapacityUnits' => array(
'type' => 'numeric',
),
),
),
'LocalSecondaryIndexes' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'CapacityUnits' => array(
'type' => 'numeric',
),
),
),
),
'GlobalSecondaryIndexes' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'CapacityUnits' => array(
'type' => 'numeric',
),
),
),
),
),
),
),
),
'ScanOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Items' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'AttributeMap',
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
),
),
),
),
),
'Count' => array(
'type' => 'numeric',
'location' => 'json',
),
'ScannedCount' => array(
'type' => 'numeric',
'location' => 'json',
),
'LastEvaluatedKey' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
),
),
),
),
'ConsumedCapacity' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'TableName' => array(
'type' => 'string',
),
'CapacityUnits' => array(
'type' => 'numeric',
),
'Table' => array(
'type' => 'object',
'properties' => array(
'CapacityUnits' => array(
'type' => 'numeric',
),
),
),
'LocalSecondaryIndexes' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'CapacityUnits' => array(
'type' => 'numeric',
),
),
),
),
'GlobalSecondaryIndexes' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'CapacityUnits' => array(
'type' => 'numeric',
),
),
),
),
),
),
),
),
'UpdateItemOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Attributes' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
),
),
),
),
'ConsumedCapacity' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'TableName' => array(
'type' => 'string',
),
'CapacityUnits' => array(
'type' => 'numeric',
),
'Table' => array(
'type' => 'object',
'properties' => array(
'CapacityUnits' => array(
'type' => 'numeric',
),
),
),
'LocalSecondaryIndexes' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'CapacityUnits' => array(
'type' => 'numeric',
),
),
),
),
'GlobalSecondaryIndexes' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'CapacityUnits' => array(
'type' => 'numeric',
),
),
),
),
),
),
'ItemCollectionMetrics' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'ItemCollectionKey' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'object',
'properties' => array(
'S' => array(
'type' => 'string',
),
'N' => array(
'type' => 'string',
),
'B' => array(
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
'SS' => array(
'type' => 'array',
'items' => array(
'name' => 'StringAttributeValue',
'type' => 'string',
),
),
'NS' => array(
'type' => 'array',
'items' => array(
'name' => 'NumberAttributeValue',
'type' => 'string',
),
),
'BS' => array(
'type' => 'array',
'items' => array(
'name' => 'BinaryAttributeValue',
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
),
),
),
),
'SizeEstimateRangeGB' => array(
'type' => 'array',
'items' => array(
'name' => 'ItemCollectionSizeEstimateBound',
'type' => 'numeric',
),
),
),
),
),
),
'UpdateTableOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'TableDescription' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'AttributeDefinitions' => array(
'type' => 'array',
'items' => array(
'name' => 'AttributeDefinition',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'type' => 'string',
),
'AttributeType' => array(
'type' => 'string',
),
),
),
),
'TableName' => array(
'type' => 'string',
),
'KeySchema' => array(
'type' => 'array',
'items' => array(
'name' => 'KeySchemaElement',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'type' => 'string',
),
'KeyType' => array(
'type' => 'string',
),
),
),
),
'TableStatus' => array(
'type' => 'string',
),
'CreationDateTime' => array(
'type' => 'string',
),
'ProvisionedThroughput' => array(
'type' => 'object',
'properties' => array(
'LastIncreaseDateTime' => array(
'type' => 'string',
),
'LastDecreaseDateTime' => array(
'type' => 'string',
),
'NumberOfDecreasesToday' => array(
'type' => 'numeric',
),
'ReadCapacityUnits' => array(
'type' => 'numeric',
),
'WriteCapacityUnits' => array(
'type' => 'numeric',
),
),
),
'TableSizeBytes' => array(
'type' => 'numeric',
),
'ItemCount' => array(
'type' => 'numeric',
),
'LocalSecondaryIndexes' => array(
'type' => 'array',
'items' => array(
'name' => 'LocalSecondaryIndexDescription',
'type' => 'object',
'properties' => array(
'IndexName' => array(
'type' => 'string',
),
'KeySchema' => array(
'type' => 'array',
'items' => array(
'name' => 'KeySchemaElement',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'type' => 'string',
),
'KeyType' => array(
'type' => 'string',
),
),
),
),
'Projection' => array(
'type' => 'object',
'properties' => array(
'ProjectionType' => array(
'type' => 'string',
),
'NonKeyAttributes' => array(
'type' => 'array',
'items' => array(
'name' => 'NonKeyAttributeName',
'type' => 'string',
),
),
),
),
'IndexSizeBytes' => array(
'type' => 'numeric',
),
'ItemCount' => array(
'type' => 'numeric',
),
),
),
),
'GlobalSecondaryIndexes' => array(
'type' => 'array',
'items' => array(
'name' => 'GlobalSecondaryIndexDescription',
'type' => 'object',
'properties' => array(
'IndexName' => array(
'type' => 'string',
),
'KeySchema' => array(
'type' => 'array',
'items' => array(
'name' => 'KeySchemaElement',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'type' => 'string',
),
'KeyType' => array(
'type' => 'string',
),
),
),
),
'Projection' => array(
'type' => 'object',
'properties' => array(
'ProjectionType' => array(
'type' => 'string',
),
'NonKeyAttributes' => array(
'type' => 'array',
'items' => array(
'name' => 'NonKeyAttributeName',
'type' => 'string',
),
),
),
),
'IndexStatus' => array(
'type' => 'string',
),
'ProvisionedThroughput' => array(
'type' => 'object',
'properties' => array(
'LastIncreaseDateTime' => array(
'type' => 'string',
),
'LastDecreaseDateTime' => array(
'type' => 'string',
),
'NumberOfDecreasesToday' => array(
'type' => 'numeric',
),
'ReadCapacityUnits' => array(
'type' => 'numeric',
),
'WriteCapacityUnits' => array(
'type' => 'numeric',
),
),
),
'IndexSizeBytes' => array(
'type' => 'numeric',
),
'ItemCount' => array(
'type' => 'numeric',
),
),
),
),
),
),
),
),
),
'waiters' => array(
'__default__' => array(
'interval' => 20,
'max_attempts' => 25,
),
'__TableState' => array(
'operation' => 'DescribeTable',
),
'TableExists' => array(
'extends' => '__TableState',
'success.type' => 'output',
'success.path' => 'Table/TableStatus',
'success.value' => 'ACTIVE',
'ignore_errors' => array(
'ResourceNotFoundException',
),
),
'TableNotExists' => array(
'extends' => '__TableState',
'success.type' => 'error',
'success.value' => 'ResourceNotFoundException',
),
),
);
sdk-2.5.2/Aws/DynamoDb/Session/SessionHandler.php 0000644 115327001610067500000037421 12272324172 016721 0 ustar get('dynamodb_client');
// Make sure locking strategy has been provided or provide a default
$strategy = $config->get('locking_strategy');
if (!($strategy instanceof LockingStrategyInterface)) {
$factory = new LockingStrategyFactory();
$strategy = $factory->factory($strategy, $config);
}
// Return an instance of the session handler
return new static($client, $strategy, $config);
}
/**
* Constructs a new DynamoDB Session Handler
*
* @param DynamoDbClient $client Client for doing DynamoDB operations
* @param LockingStrategyInterface $strategy Locking strategy for performing session locking logic
* @param SessionHandlerConfig $config Configuration options for the session handler
*/
public function __construct(
DynamoDbClient $client,
LockingStrategyInterface $strategy,
SessionHandlerConfig $config
) {
$this->client = $client;
$this->lockingStrategy = $strategy;
$this->config = $config;
}
/**
* Destruct the session handler and make sure the session gets written
*
* NOTE: It is usually better practice to call `session_write_close()` manually in your application as soon as
* session modifications are complete. This is especially true if session locking is enabled.
*
* @link http://php.net/manual/en/function.session-set-save-handler.php#refsect1-function.session-set-save-handler-notes
*/
public function __destruct()
{
session_write_close();
}
/**
* Register the DynamoDB session handler.
*
* Uses the PHP-provided method to register this class as a session handler.
*
* @return bool Whether or not the handler was registered
*/
public function register()
{
// Set garbage collection probability based on config
$autoGarbageCollection = $this->config->get('automatic_gc') ? '1' : '0';
ini_set('session.gc_probability', $autoGarbageCollection);
// Register the session handler
return session_set_save_handler(
array($this, 'open'),
array($this, 'close'),
array($this, 'read'),
array($this, 'write'),
array($this, 'destroy'),
array($this, 'gc')
);
}
/**
* Checks if the session is open and writable
*
* @return bool Whether or not the session is open for writing
*/
public function isSessionOpen()
{
return (bool) $this->openSessionId;
}
/**
* Checks if the session has been written
*
* @return bool Whether or not the session has been written
*/
public function isSessionWritten()
{
return $this->sessionWritten;
}
/**
* Creates a table in DynamoDB for session storage according to provided configuration options.
*
* Note: This is a one-time operation. It may be better to do this via the AWS management console ahead of time.
*
* @param int $readCapacityUnits RCUs for table read throughput
* @param int $writeCapacityUnits WCUs table write throughput
*
* @return array The command result
*/
public function createSessionsTable($readCapacityUnits, $writeCapacityUnits)
{
$tableName = $this->config->get('table_name');
$hashKey = $this->config->get('hash_key');
$params = array(
'TableName' => $tableName,
'ProvisionedThroughput' => array(
'ReadCapacityUnits' => (int) $readCapacityUnits,
'WriteCapacityUnits' => (int) $writeCapacityUnits,
),
Ua::OPTION => Ua::SESSION
);
if ($this->client->getApiVersion() < '2012-08-10') {
$params['KeySchema'] = array(
'HashKeyElement' => array(
'AttributeName' => $hashKey,
'AttributeType' => 'S',
)
);
} else {
$params['AttributeDefinitions'] = array(
array(
'AttributeName' => $hashKey,
'AttributeType' => 'S'
)
);
$params['KeySchema'] = array(
array(
'AttributeName' => $hashKey,
'KeyType' => 'HASH'
)
);
}
$result = $this->client->getCommand('CreateTable', $params)->execute();
$this->client->waitUntil('table_exists', array('TableName' => $tableName));
return $result;
}
/**
* Open a session for writing. Triggered by session_start()
*
* Part of the standard PHP session handler interface
*
* @param string $savePath The session save path
* @param string $sessionName The session name
*
* @return bool Whether or not the operation succeeded
*/
public function open($savePath, $sessionName)
{
$this->savePath = $savePath;
$this->sessionName = $sessionName;
$this->openSessionId = session_id();
return $this->isSessionOpen();
}
/**
* Close a session from writing
*
* Part of the standard PHP session handler interface
*
* @return bool Success
*/
public function close()
{
// Make sure the session is unlocked and the expiration time is updated, even if the write did not occur
if (!$this->isSessionWritten()) {
$id = $this->formatId($this->openSessionId);
$result = $this->lockingStrategy->doWrite($id, '', false);
$this->sessionWritten = (bool) $result;
}
$this->openSessionId = null;
return $this->isSessionWritten();
}
/**
* Read a session stored in DynamoDB
*
* Part of the standard PHP session handler interface
*
* @param string $id The session ID
*
* @return string The session data
*/
public function read($id)
{
// PHP expects an empty string to be returned from this method if no
// data is retrieved
$this->dataRead = '';
// Get session data using the selected locking strategy
$item = $this->lockingStrategy->doRead($this->formatId($id));
// Return the data if it is not expired. If it is expired, remove it
if (isset($item['expires']) && isset($item['data'])) {
$this->dataRead = $item['data'];
if ($item['expires'] <= time()) {
$this->dataRead = '';
$this->destroy($id);
}
}
return $this->dataRead;
}
/**
* Write a session to DynamoDB
*
* Part of the standard PHP session handler interface
*
* @param string $id The session ID
* @param string $data The serialized session data to write
*
* @return bool Whether or not the operation succeeded
*/
public function write($id, $data)
{
// Write the session data using the selected locking strategy
$this->sessionWritten = $this->lockingStrategy->doWrite(
$this->formatId($id),
$data,
($data !== $this->dataRead)
);
return $this->isSessionWritten();
}
/**
* Delete a session stored in DynamoDB
*
* Part of the standard PHP session handler interface
*
* @param string $id The session ID
*
* @return bool Whether or not the operation succeeded
*/
public function destroy($id)
{
// Delete the session data using the selected locking strategy
$this->sessionWritten = $this->lockingStrategy->doDestroy($this->formatId($id));
return $this->isSessionWritten();
}
/**
* Triggers garbage collection on expired sessions
*
* Part of the standard PHP session handler interface
*
* @param int $maxLifetime The value of `session.gc_maxlifetime`. Ignored
*
* @return bool
*/
public function gc($maxLifetime)
{
try {
$this->garbageCollect();
return true;
} catch (\Exception $e) {
return false;
}
}
/**
* Performs garbage collection on the sessions stored in the DynamoDB table
*
* If triggering garbage collection manually, use this method. If your garbage collection is triggered automatically
* by php (not recommended), then use the `gc` method.
*/
public function garbageCollect()
{
// Get relevant configuration data
$delay = (int) $this->config->get('gc_operation_delay');
$batchSize = (int) $this->config->get('gc_batch_size');
$tableName = $this->config->get('table_name');
$hashKey = $this->config->get('hash_key');
$expires = (string) time();
$isOldApi = ($this->client->getApiVersion() < '2012-08-10');
// Instantiate and configure the WriteRequestBatch object that will be deleting the expired sessions
if ($delay) {
$delayFunction = function () use ($delay) {
sleep($delay);
};
$deleteBatch = WriteRequestBatch::factory($this->client, $batchSize, $delayFunction);
} else {
$deleteBatch = WriteRequestBatch::factory($this->client, $batchSize);
}
// Setup a scan table iterator for finding expired session items
$scanParams = array(
'TableName' => $tableName,
'AttributesToGet' => array(
$this->config->get('hash_key')
),
'ScanFilter' => array(
'expires' => array(
'ComparisonOperator' => 'LT',
'AttributeValueList' => array(
array(
'N' => $expires
)
),
),
'lock' => array(
'ComparisonOperator' => 'NULL',
)
),
Ua::OPTION => Ua::SESSION
);
if (!$isOldApi) {
$scanParams['Select'] = 'SPECIFIC_ATTRIBUTES';
}
// Create a scan table iterator for finding expired session items
$tableScanner = $this->client->getIterator('Scan', $scanParams);
// If a delay has been set, then attach the delay function to execute after each scan operation
if (isset($delayFunction)) {
$tableScanner->getEventDispatcher()->addListener('resource_iterator.after_send', $delayFunction);
}
// Perform scan and batch delete operations as needed
$keyName = $isOldApi ? 'HashKeyElement' : $hashKey;
foreach ($tableScanner as $item) {
// @codeCoverageIgnoreStart
$deleteBatch->add(new DeleteRequest(array($keyName => $item[$hashKey]), $tableName));
// @codeCoverageIgnoreEnd
}
// Delete any remaining items
$deleteBatch->flush();
}
/**
* Prepend the session ID with the session name
*
* @param string $id The session ID
*
* @return string Prepared session ID
*/
protected function formatId($id)
{
return trim($this->sessionName . '_' . $id, '_');
}
}
sdk-2.5.2/Aws/DynamoDb/Session/SessionHandlerConfig.php 0000644 115327001610067500000005052 12272324172 020042 0 ustar data = $data;
// Make sure the DynamoDB client has been provided
if (!($this->get('dynamodb_client') instanceof DynamoDbClient)) {
throw new InvalidArgumentException('The DynamoDB Session Handler '
. 'must be provided an instance of the DynamoDbClient.');
}
// Merge provided data with defaults
$this->addDefaults(array(
'table_name' => 'sessions',
'hash_key' => 'id',
'session_lifetime' => (int) ini_get('session.gc_maxlifetime'),
'consistent_read' => true,
'automatic_gc' => (bool) ini_get('session.gc_probability'),
'gc_batch_size' => 25,
'gc_operation_delay' => 0,
));
}
/**
* Gets a config value if it exists, otherwise it returns null
*
* @param string $key The key of the config item
*
* @return mixed
*/
public function get($key)
{
return array_key_exists($key, $this->data) ? $this->data[$key] : null;
}
/**
* Applies default values by merging underneath the current data
*
* @param array $defaults The new default data to merge underneath
*
* @return SessionHandlerConfig
*/
public function addDefaults(array $defaults)
{
$this->data = array_replace($defaults, $this->data);
return $this;
}
}
sdk-2.5.2/Aws/DynamoDb/Session/SessionHandlerInterface.php 0000644 115327001610067500000001070 12272324172 020531 0 ustar = 50400) {
/**
* @see http://php.net/manual/en/class.sessionhandlerinterface.php
*/
interface SessionHandlerInterface extends \SessionHandlerInterface {}
} else {
interface SessionHandlerInterface
{
public function close();
public function destroy($session_id);
public function gc($maxLifetime);
public function open($savePath, $sessionName);
public function read($sessionId);
public function write($sessionId, $sessionData);
}
}
sdk-2.5.2/Aws/DynamoDb/Session/LockingStrategy/AbstractLockingStrategy.php 0000644 115327001610067500000007440 12272324172 023704 0 ustar client = $client;
$this->config = $config;
}
/**
* {@inheritdoc}
*/
public function doWrite($id, $data, $isDataChanged)
{
// Prepare the attributes
$expires = time() + $this->config->get('session_lifetime');
$attributes = array(
'expires' => array(
'Value' => array(
'N' => (string) $expires
)
)
);
if ($isDataChanged) {
if ($data != '') {
$attributes['data'] = array(
'Value' => array(
'S' => $data
)
);
} else {
$attributes['data'] = array(
'Action' => 'DELETE'
);
}
}
$attributes = array_merge($attributes, $this->getExtraAttributes());
// Perform the UpdateItem command
try {
return (bool) $this->client->getCommand('UpdateItem', array(
'TableName' => $this->config->get('table_name'),
'Key' => $this->formatKey($id),
'AttributeUpdates' => $attributes,
Ua::OPTION => Ua::SESSION
))->execute();
} catch (DynamoDbException $e) {
return false;
}
}
/**
* {@inheritdoc}
*/
public function doDestroy($id)
{
try {
return (bool) $this->client->getCommand('DeleteItem', array(
'TableName' => $this->config->get('table_name'),
'Key' => $this->formatKey($id),
Ua::OPTION => Ua::SESSION
))->execute();
} catch (DynamoDbException $e) {
return false;
}
}
/**
* Generates the correct key structure based on the key value and DynamoDB API version
*
* @param string $keyValue The value of the key (i.e., the session ID)
*
* @return array formatted key structure
*/
protected function formatKey($keyValue)
{
$keyName = ($this->client->getApiVersion() < '2012-08-10')
? 'HashKeyElement'
: $this->config->get('hash_key');
return array($keyName => array('S' => $keyValue));
}
/**
* Allows the specific strategy to add additional attributes to update
*
* @return array
*/
abstract protected function getExtraAttributes();
}
sdk-2.5.2/Aws/DynamoDb/Session/LockingStrategy/LockingStrategyFactory.php 0000644 115327001610067500000005722 12272324172 023551 0 ustar baseNamespace = $baseNamespace ?: __NAMESPACE__;
$this->inflector = $inflector ?: Inflector::getDefault();
}
/**
* Creates a session handler locking strategy
*
* @param string $lockingStrategy The name if the locking strategy
* @param SessionHandlerConfig $config The session handler config data
*
* @return LockingStrategyInterface
*
* @throws InvalidArgumentException If the locking strategy doesn't exist
*/
public function factory($lockingStrategy = null, SessionHandlerConfig $config = null)
{
// If the locking strategy is null, let's give it the name "null"
if ($lockingStrategy === null) {
$lockingStrategy = 'null';
}
// Make sure the locking strategy name provided is a string
if (!is_string($lockingStrategy)) {
throw new InvalidArgumentException('The session locking strategy '
. 'name must be provided as a string.');
}
// Determine the class name of the locking strategy class
$classPath = $this->baseNamespace . '\\'
. $this->inflector->camel($lockingStrategy) . 'LockingStrategy';
// Make sure the locking strategy class exists
if (!class_exists($classPath)) {
throw new InvalidArgumentException("There is no session locking "
. "strategy named \"{$classPath}\".");
}
// Call the factory on the locking strategy class to create it
return new $classPath($config->get('dynamodb_client'), $config);
}
}
sdk-2.5.2/Aws/DynamoDb/Session/LockingStrategy/LockingStrategyFactoryInterface.php 0000644 115327001610067500000002314 12272324172 025364 0 ustar client->getCommand('GetItem', array(
'TableName' => $this->config->get('table_name'),
'Key' => $this->formatKey($id),
'ConsistentRead' => (bool) $this->config->get('consistent_read'),
Ua::OPTION => Ua::SESSION
))->execute();
// Get the item values
$item = array();
$result = isset($result['Item']) ? $result['Item'] : array();
foreach ($result as $key => $value) {
$item[$key] = current($value);
}
} catch (DynamoDbException $e) {
$item = array();
}
return $item;
}
/**
* {@inheritdoc}
*/
protected function getExtraAttributes()
{
// @codeCoverageIgnoreStart
return array();
// @codeCoverageIgnoreEnd
}
}
sdk-2.5.2/Aws/DynamoDb/Session/LockingStrategy/PessimisticLockingStrategy.php 0000644 115327001610067500000007544 12272324172 024442 0 ustar addDefaults(array(
'max_lock_wait_time' => 10,
'min_lock_retry_microtime' => 10000,
'max_lock_retry_microtime' => 50000,
));
parent::__construct($client, $config);
}
/**
* {@inheritdoc}
* Retries the request until the lock can be acquired
*/
public function doRead($id)
{
$item = array();
$rightNow = time();
$timeout = $rightNow + $this->config->get('max_lock_wait_time');
// Create an UpdateItem command so that a lock can be set and the item
// returned (via ReturnValues) in a single, atomic operation
$updateItem = $this->client->getCommand('UpdateItem', array(
'TableName' => $this->config->get('table_name'),
'Key' => $this->formatKey($id),
'Expected' => array(
'lock' => array(
'Exists' => false
)
),
'AttributeUpdates' => array(
'lock' => array(
'Value' => array(
'N' => '1'
)
)
),
'ReturnValues' => 'ALL_NEW',
Ua::OPTION => Ua::SESSION
));
// Acquire the lock and fetch the item data
do {
try {
$result = $updateItem->execute();
} catch (ConditionalCheckFailedException $e) {
// If lock fails, sleep and try again later
usleep(rand(
$this->config->get('min_lock_retry_microtime'),
$this->config->get('max_lock_retry_microtime')
));
$result = array();
$rightNow = time();
} catch (DynamoDbException $e) {
return $item;
}
} while (!$result && $rightNow < $timeout);
// Get the item attributes
if (isset($result['Attributes'])) {
foreach ($result['Attributes'] as $key => $value) {
$item[$key] = current($value);
}
}
return $item;
}
/**
* {@inheritdoc}
*/
protected function getExtraAttributes()
{
// @codeCoverageIgnoreStart
return array('lock' => array('Action' => 'DELETE'));
// @codeCoverageIgnoreEnd
}
}
sdk-2.5.2/Aws/Ec2/Ec2Client.php 0000644 115327001610067500000062374 12272324172 013046 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/ec2-%s.php'
))
->build();
}
}
sdk-2.5.2/Aws/Ec2/Enum/ContainerFormat.php 0000644 115327001610067500000001363 12272324172 015264 0 ustar get('Reservations') as $reservation) {
foreach ($reservation['Instances'] as $instance) {
$instance['Reservation'] = $reservation;
unset($instance['Reservation']['Instances']);
$instances[] = $instance;
}
}
return $instances;
}
}
sdk-2.5.2/Aws/Ec2/Resources/ec2-2013-10-15.php 0000644 115327001610067500002471657 12272324172 014757 0 ustar '2013-10-15',
'endpointPrefix' => 'ec2',
'serviceFullName' => 'Amazon Elastic Compute Cloud',
'serviceAbbreviation' => 'Amazon EC2',
'serviceType' => 'query',
'signatureVersion' => 'v2',
'namespace' => 'Ec2',
'regions' => array(
'us-east-1' => array(
'http' => true,
'https' => true,
'hostname' => 'ec2.us-east-1.amazonaws.com',
),
'us-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'ec2.us-west-1.amazonaws.com',
),
'us-west-2' => array(
'http' => true,
'https' => true,
'hostname' => 'ec2.us-west-2.amazonaws.com',
),
'eu-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'ec2.eu-west-1.amazonaws.com',
),
'ap-northeast-1' => array(
'http' => true,
'https' => true,
'hostname' => 'ec2.ap-northeast-1.amazonaws.com',
),
'ap-southeast-1' => array(
'http' => true,
'https' => true,
'hostname' => 'ec2.ap-southeast-1.amazonaws.com',
),
'ap-southeast-2' => array(
'http' => true,
'https' => true,
'hostname' => 'ec2.ap-southeast-2.amazonaws.com',
),
'sa-east-1' => array(
'http' => true,
'https' => true,
'hostname' => 'ec2.sa-east-1.amazonaws.com',
),
'cn-north-1' => array(
'http' => true,
'https' => true,
'hostname' => 'ec2.cn-north-1.amazonaws.com.cn',
),
'us-gov-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'ec2.us-gov-west-1.amazonaws.com',
),
),
'operations' => array(
'ActivateLicense' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ActivateLicense',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'LicenseId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Capacity' => array(
'required' => true,
'type' => 'numeric',
'location' => 'aws.query',
),
),
),
'AllocateAddress' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'AllocateAddressResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'AllocateAddress',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'Domain' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'AssignPrivateIpAddresses' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'AssignPrivateIpAddresses',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'NetworkInterfaceId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'PrivateIpAddresses' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'PrivateIpAddress',
'items' => array(
'name' => 'PrivateIpAddress',
'type' => 'string',
),
),
'SecondaryPrivateIpAddressCount' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'AllowReassignment' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
),
'AssociateAddress' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'AssociateAddressResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'AssociateAddress',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'InstanceId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'PublicIp' => array(
'type' => 'string',
'location' => 'aws.query',
),
'AllocationId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'NetworkInterfaceId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'PrivateIpAddress' => array(
'type' => 'string',
'location' => 'aws.query',
),
'AllowReassociation' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
),
'AssociateDhcpOptions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'AssociateDhcpOptions',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'DhcpOptionsId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'VpcId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'AssociateRouteTable' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'AssociateRouteTableResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'AssociateRouteTable',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'SubnetId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'RouteTableId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'AttachInternetGateway' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'AttachInternetGateway',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'InternetGatewayId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'VpcId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'AttachNetworkInterface' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'AttachNetworkInterfaceResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'AttachNetworkInterface',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'NetworkInterfaceId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'InstanceId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'DeviceIndex' => array(
'required' => true,
'type' => 'numeric',
'location' => 'aws.query',
),
),
),
'AttachVolume' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'attachment',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'AttachVolume',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'VolumeId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'InstanceId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Device' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'AttachVpnGateway' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'AttachVpnGatewayResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'AttachVpnGateway',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'VpnGatewayId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'VpcId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'AuthorizeSecurityGroupEgress' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'AuthorizeSecurityGroupEgress',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'GroupId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'SourceSecurityGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'SourceSecurityGroupOwnerId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'IpProtocol' => array(
'type' => 'string',
'location' => 'aws.query',
),
'FromPort' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'ToPort' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'CidrIp' => array(
'type' => 'string',
'location' => 'aws.query',
),
'IpPermissions' => array(
'type' => 'array',
'location' => 'aws.query',
'items' => array(
'name' => 'IpPermission',
'type' => 'object',
'properties' => array(
'IpProtocol' => array(
'type' => 'string',
),
'FromPort' => array(
'type' => 'numeric',
),
'ToPort' => array(
'type' => 'numeric',
),
'UserIdGroupPairs' => array(
'type' => 'array',
'sentAs' => 'Groups',
'items' => array(
'name' => 'Groups',
'type' => 'object',
'properties' => array(
'UserId' => array(
'type' => 'string',
),
'GroupName' => array(
'type' => 'string',
),
'GroupId' => array(
'type' => 'string',
),
),
),
),
'IpRanges' => array(
'type' => 'array',
'items' => array(
'name' => 'IpRange',
'type' => 'object',
'properties' => array(
'CidrIp' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'AuthorizeSecurityGroupIngress' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'AuthorizeSecurityGroupIngress',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'GroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'GroupId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'SourceSecurityGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'SourceSecurityGroupOwnerId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'IpProtocol' => array(
'type' => 'string',
'location' => 'aws.query',
),
'FromPort' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'ToPort' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'CidrIp' => array(
'type' => 'string',
'location' => 'aws.query',
),
'IpPermissions' => array(
'type' => 'array',
'location' => 'aws.query',
'items' => array(
'name' => 'IpPermission',
'type' => 'object',
'properties' => array(
'IpProtocol' => array(
'type' => 'string',
),
'FromPort' => array(
'type' => 'numeric',
),
'ToPort' => array(
'type' => 'numeric',
),
'UserIdGroupPairs' => array(
'type' => 'array',
'sentAs' => 'Groups',
'items' => array(
'name' => 'Groups',
'type' => 'object',
'properties' => array(
'UserId' => array(
'type' => 'string',
),
'GroupName' => array(
'type' => 'string',
),
'GroupId' => array(
'type' => 'string',
),
),
),
),
'IpRanges' => array(
'type' => 'array',
'items' => array(
'name' => 'IpRange',
'type' => 'object',
'properties' => array(
'CidrIp' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'BundleInstance' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'BundleInstanceResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'BundleInstance',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'InstanceId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Storage' => array(
'required' => true,
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'S3' => array(
'type' => 'object',
'properties' => array(
'Bucket' => array(
'type' => 'string',
),
'Prefix' => array(
'type' => 'string',
),
'AWSAccessKeyId' => array(
'type' => 'string',
),
'UploadPolicy' => array(
'type' => 'string',
),
'UploadPolicySignature' => array(
'type' => 'string',
),
),
),
),
),
),
),
'CancelBundleTask' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CancelBundleTaskResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CancelBundleTask',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'BundleId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'CancelConversionTask' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CancelConversionTask',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'ConversionTaskId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'ReasonMessage' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'CancelExportTask' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CancelExportTask',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'ExportTaskId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'CancelReservedInstancesListing' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CancelReservedInstancesListingResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CancelReservedInstancesListing',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'ReservedInstancesListingId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'CancelSpotInstanceRequests' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CancelSpotInstanceRequestsResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CancelSpotInstanceRequests',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'SpotInstanceRequestIds' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'SpotInstanceRequestId',
'items' => array(
'name' => 'SpotInstanceRequestId',
'type' => 'string',
),
),
),
),
'ConfirmProductInstance' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ConfirmProductInstanceResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ConfirmProductInstance',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'ProductCode' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'InstanceId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'CopyImage' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CopyImageResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CopyImage',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'SourceRegion' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'SourceImageId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Name' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Description' => array(
'type' => 'string',
'location' => 'aws.query',
),
'ClientToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'CopySnapshot' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CopySnapshotResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CopySnapshot',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'SourceRegion' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'SourceSnapshotId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Description' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'CreateCustomerGateway' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateCustomerGatewayResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateCustomerGateway',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'Type' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'PublicIp' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'sentAs' => 'IpAddress',
),
'BgpAsn' => array(
'required' => true,
'type' => 'numeric',
'location' => 'aws.query',
),
),
),
'CreateDhcpOptions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateDhcpOptionsResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateDhcpOptions',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'DhcpConfigurations' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'DhcpConfiguration',
'items' => array(
'name' => 'DhcpConfiguration',
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
),
),
'CreateImage' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateImageResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateImage',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'InstanceId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Name' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Description' => array(
'type' => 'string',
'location' => 'aws.query',
),
'NoReboot' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'BlockDeviceMappings' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'BlockDeviceMapping',
'items' => array(
'name' => 'BlockDeviceMapping',
'type' => 'object',
'properties' => array(
'VirtualName' => array(
'type' => 'string',
),
'DeviceName' => array(
'type' => 'string',
),
'Ebs' => array(
'type' => 'object',
'properties' => array(
'SnapshotId' => array(
'type' => 'string',
),
'VolumeSize' => array(
'type' => 'numeric',
),
'DeleteOnTermination' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
'VolumeType' => array(
'type' => 'string',
),
'Iops' => array(
'type' => 'numeric',
),
),
),
'NoDevice' => array(
'type' => 'string',
),
),
),
),
),
),
'CreateInstanceExportTask' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateInstanceExportTaskResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateInstanceExportTask',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'Description' => array(
'type' => 'string',
'location' => 'aws.query',
),
'InstanceId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'TargetEnvironment' => array(
'type' => 'string',
'location' => 'aws.query',
),
'ExportToS3Task' => array(
'type' => 'object',
'location' => 'aws.query',
'sentAs' => 'ExportToS3',
'properties' => array(
'DiskImageFormat' => array(
'type' => 'string',
),
'ContainerFormat' => array(
'type' => 'string',
),
'S3Bucket' => array(
'type' => 'string',
),
'S3Prefix' => array(
'type' => 'string',
),
),
),
),
),
'CreateInternetGateway' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateInternetGatewayResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateInternetGateway',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
),
'CreateKeyPair' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateKeyPairResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateKeyPair',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'KeyName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'CreateNetworkAcl' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateNetworkAclResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateNetworkAcl',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'VpcId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'CreateNetworkAclEntry' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateNetworkAclEntry',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'NetworkAclId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'RuleNumber' => array(
'required' => true,
'type' => 'numeric',
'location' => 'aws.query',
),
'Protocol' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'RuleAction' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Egress' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'CidrBlock' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'IcmpTypeCode' => array(
'type' => 'object',
'location' => 'aws.query',
'sentAs' => 'Icmp',
'properties' => array(
'Type' => array(
'type' => 'numeric',
),
'Code' => array(
'type' => 'numeric',
),
),
),
'PortRange' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'From' => array(
'type' => 'numeric',
),
'To' => array(
'type' => 'numeric',
),
),
),
),
),
'CreateNetworkInterface' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateNetworkInterfaceResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateNetworkInterface',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'SubnetId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Description' => array(
'type' => 'string',
'location' => 'aws.query',
),
'PrivateIpAddress' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Groups' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'SecurityGroupId',
'items' => array(
'name' => 'SecurityGroupId',
'type' => 'string',
),
),
'PrivateIpAddresses' => array(
'type' => 'array',
'location' => 'aws.query',
'items' => array(
'name' => 'PrivateIpAddressSpecification',
'type' => 'object',
'properties' => array(
'PrivateIpAddress' => array(
'required' => true,
'type' => 'string',
),
'Primary' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
'SecondaryPrivateIpAddressCount' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
),
'CreatePlacementGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreatePlacementGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'GroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Strategy' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'CreateReservedInstancesListing' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateReservedInstancesListingResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateReservedInstancesListing',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'ReservedInstancesId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'InstanceCount' => array(
'required' => true,
'type' => 'numeric',
'location' => 'aws.query',
),
'PriceSchedules' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'items' => array(
'name' => 'PriceScheduleSpecification',
'type' => 'object',
'properties' => array(
'Term' => array(
'type' => 'numeric',
),
'Price' => array(
'type' => 'numeric',
),
'CurrencyCode' => array(
'type' => 'string',
),
),
),
),
'ClientToken' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'CreateRoute' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateRoute',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'RouteTableId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'DestinationCidrBlock' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'GatewayId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'InstanceId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'NetworkInterfaceId' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'CreateRouteTable' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateRouteTableResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateRouteTable',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'VpcId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'CreateSecurityGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateSecurityGroupResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateSecurityGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'GroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Description' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'sentAs' => 'GroupDescription',
),
'VpcId' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'CreateSnapshot' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'snapshot',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateSnapshot',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'VolumeId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Description' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'CreateSpotDatafeedSubscription' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateSpotDatafeedSubscriptionResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateSpotDatafeedSubscription',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Prefix' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'CreateSubnet' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateSubnetResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateSubnet',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'VpcId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'CidrBlock' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'AvailabilityZone' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'CreateTags' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateTags',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'Resources' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ResourceId',
'items' => array(
'name' => 'ResourceId',
'type' => 'string',
),
),
'Tags' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Tag',
'items' => array(
'name' => 'Tag',
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
),
),
'CreateVolume' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'volume',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateVolume',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'Size' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'SnapshotId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'AvailabilityZone' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'VolumeType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Iops' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
),
),
'CreateVpc' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateVpcResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateVpc',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'CidrBlock' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'InstanceTenancy' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'CreateVpnConnection' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateVpnConnectionResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateVpnConnection',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'Type' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'CustomerGatewayId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'VpnGatewayId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Options' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'StaticRoutesOnly' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
),
'CreateVpnConnectionRoute' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateVpnConnectionRoute',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'VpnConnectionId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'DestinationCidrBlock' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'CreateVpnGateway' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateVpnGatewayResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateVpnGateway',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'Type' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'AvailabilityZone' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DeactivateLicense' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeactivateLicense',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'LicenseId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Capacity' => array(
'required' => true,
'type' => 'numeric',
'location' => 'aws.query',
),
),
),
'DeleteCustomerGateway' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteCustomerGateway',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'CustomerGatewayId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DeleteDhcpOptions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteDhcpOptions',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'DhcpOptionsId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DeleteInternetGateway' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteInternetGateway',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'InternetGatewayId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DeleteKeyPair' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteKeyPair',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'KeyName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DeleteNetworkAcl' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteNetworkAcl',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'NetworkAclId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DeleteNetworkAclEntry' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteNetworkAclEntry',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'NetworkAclId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'RuleNumber' => array(
'required' => true,
'type' => 'numeric',
'location' => 'aws.query',
),
'Egress' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
),
'DeleteNetworkInterface' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteNetworkInterface',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'NetworkInterfaceId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DeletePlacementGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeletePlacementGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'GroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DeleteRoute' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteRoute',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'RouteTableId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'DestinationCidrBlock' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DeleteRouteTable' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteRouteTable',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'RouteTableId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DeleteSecurityGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteSecurityGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'GroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'GroupId' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DeleteSnapshot' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteSnapshot',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'SnapshotId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DeleteSpotDatafeedSubscription' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteSpotDatafeedSubscription',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
),
'DeleteSubnet' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteSubnet',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'SubnetId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DeleteTags' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteTags',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'Resources' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ResourceId',
'items' => array(
'name' => 'ResourceId',
'type' => 'string',
),
),
'Tags' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Tag',
'items' => array(
'name' => 'Tag',
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
),
),
'DeleteVolume' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteVolume',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'VolumeId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DeleteVpc' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteVpc',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'VpcId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DeleteVpnConnection' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteVpnConnection',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'VpnConnectionId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DeleteVpnConnectionRoute' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteVpnConnectionRoute',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'VpnConnectionId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'DestinationCidrBlock' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DeleteVpnGateway' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteVpnGateway',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'VpnGatewayId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DeregisterImage' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeregisterImage',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'ImageId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DescribeAccountAttributes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeAccountAttributesResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeAccountAttributes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'AttributeNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'AttributeName',
'items' => array(
'name' => 'AttributeName',
'type' => 'string',
),
),
),
),
'DescribeAddresses' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeAddressesResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeAddresses',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'PublicIps' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'PublicIp',
'items' => array(
'name' => 'PublicIp',
'type' => 'string',
),
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
'AllocationIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'AllocationId',
'items' => array(
'name' => 'AllocationId',
'type' => 'string',
),
),
),
),
'DescribeAvailabilityZones' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeAvailabilityZonesResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeAvailabilityZones',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'ZoneNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ZoneName',
'items' => array(
'name' => 'ZoneName',
'type' => 'string',
),
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
),
),
'DescribeBundleTasks' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeBundleTasksResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeBundleTasks',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'BundleIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'BundleId',
'items' => array(
'name' => 'BundleId',
'type' => 'string',
),
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
),
),
'DescribeConversionTasks' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeConversionTasksResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeConversionTasks',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
'ConversionTaskIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ConversionTaskId',
'items' => array(
'name' => 'ConversionTaskId',
'type' => 'string',
),
),
),
),
'DescribeCustomerGateways' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeCustomerGatewaysResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeCustomerGateways',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'CustomerGatewayIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'CustomerGatewayId',
'items' => array(
'name' => 'CustomerGatewayId',
'type' => 'string',
),
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
),
),
'DescribeDhcpOptions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeDhcpOptionsResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeDhcpOptions',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'DhcpOptionsIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'DhcpOptionsId',
'items' => array(
'name' => 'DhcpOptionsId',
'type' => 'string',
),
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
),
),
'DescribeExportTasks' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeExportTasksResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeExportTasks',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'ExportTaskIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ExportTaskId',
'items' => array(
'name' => 'ExportTaskId',
'type' => 'string',
),
),
),
),
'DescribeImageAttribute' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'imageAttribute',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeImageAttribute',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'ImageId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Attribute' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DescribeImages' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeImagesResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeImages',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'ImageIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ImageId',
'items' => array(
'name' => 'ImageId',
'type' => 'string',
),
),
'Owners' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Owner',
'items' => array(
'name' => 'Owner',
'type' => 'string',
),
),
'ExecutableUsers' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ExecutableBy',
'items' => array(
'name' => 'ExecutableBy',
'type' => 'string',
),
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
),
),
'DescribeInstanceAttribute' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'InstanceAttribute',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeInstanceAttribute',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'InstanceId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Attribute' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DescribeInstanceStatus' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeInstanceStatusResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeInstanceStatus',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'InstanceIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'InstanceId',
'items' => array(
'name' => 'InstanceId',
'type' => 'string',
),
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxResults' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'IncludeAllInstances' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
),
'DescribeInstances' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeInstancesResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeInstances',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'InstanceIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'InstanceId',
'items' => array(
'name' => 'InstanceId',
'type' => 'string',
),
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxResults' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
),
),
'DescribeInternetGateways' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeInternetGatewaysResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeInternetGateways',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'InternetGatewayIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'InternetGatewayId',
'items' => array(
'name' => 'InternetGatewayId',
'type' => 'string',
),
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
),
),
'DescribeKeyPairs' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeKeyPairsResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeKeyPairs',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'KeyNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'KeyName',
'items' => array(
'name' => 'KeyName',
'type' => 'string',
),
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
),
),
'DescribeLicenses' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeLicensesResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeLicenses',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'LicenseIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'LicenseId',
'items' => array(
'name' => 'LicenseId',
'type' => 'string',
),
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
),
),
'DescribeNetworkAcls' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeNetworkAclsResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeNetworkAcls',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'NetworkAclIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'NetworkAclId',
'items' => array(
'name' => 'NetworkAclId',
'type' => 'string',
),
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
),
),
'DescribeNetworkInterfaceAttribute' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeNetworkInterfaceAttributeResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeNetworkInterfaceAttribute',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'NetworkInterfaceId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Description' => array(
'type' => 'string',
'location' => 'aws.query',
),
'SourceDestCheck' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Groups' => array(
'type' => 'string',
'location' => 'aws.query',
'sentAs' => 'GroupSet',
),
'Attachment' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DescribeNetworkInterfaces' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeNetworkInterfacesResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeNetworkInterfaces',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'NetworkInterfaceIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'NetworkInterfaceId',
'items' => array(
'name' => 'NetworkInterfaceId',
'type' => 'string',
),
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
),
),
'DescribePlacementGroups' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribePlacementGroupsResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribePlacementGroups',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'GroupNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'GroupName',
'items' => array(
'name' => 'GroupName',
'type' => 'string',
),
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
),
),
'DescribeRegions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeRegionsResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeRegions',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'RegionNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'RegionName',
'items' => array(
'name' => 'RegionName',
'type' => 'string',
),
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
),
),
'DescribeReservedInstances' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeReservedInstancesResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeReservedInstances',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'ReservedInstancesIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ReservedInstancesId',
'items' => array(
'name' => 'ReservedInstancesId',
'type' => 'string',
),
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
'OfferingType' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DescribeReservedInstancesListings' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeReservedInstancesListingsResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeReservedInstancesListings',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'ReservedInstancesId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'ReservedInstancesListingId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
),
),
'DescribeReservedInstancesModifications' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeReservedInstancesModificationsResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeReservedInstancesModifications',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'ReservedInstancesModificationIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ReservedInstancesModificationId',
'items' => array(
'name' => 'ReservedInstancesModificationId',
'type' => 'string',
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
),
),
'DescribeReservedInstancesOfferings' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeReservedInstancesOfferingsResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeReservedInstancesOfferings',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'ReservedInstancesOfferingIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ReservedInstancesOfferingId',
'items' => array(
'name' => 'ReservedInstancesOfferingId',
'type' => 'string',
),
),
'InstanceType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'AvailabilityZone' => array(
'type' => 'string',
'location' => 'aws.query',
),
'ProductDescription' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
'InstanceTenancy' => array(
'type' => 'string',
'location' => 'aws.query',
),
'OfferingType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxResults' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'IncludeMarketplace' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'MinDuration' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'MaxDuration' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'MaxInstanceCount' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
),
),
'DescribeRouteTables' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeRouteTablesResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeRouteTables',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'RouteTableIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'RouteTableId',
'items' => array(
'name' => 'RouteTableId',
'type' => 'string',
),
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
),
),
'DescribeSecurityGroups' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeSecurityGroupsResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeSecurityGroups',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'GroupNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'GroupName',
'items' => array(
'name' => 'GroupName',
'type' => 'string',
),
),
'GroupIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'GroupId',
'items' => array(
'name' => 'GroupId',
'type' => 'string',
),
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
),
),
'DescribeSnapshotAttribute' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeSnapshotAttributeResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeSnapshotAttribute',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'SnapshotId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Attribute' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DescribeSnapshots' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeSnapshotsResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeSnapshots',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'SnapshotIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'SnapshotId',
'items' => array(
'name' => 'SnapshotId',
'type' => 'string',
),
),
'OwnerIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Owner',
'items' => array(
'name' => 'Owner',
'type' => 'string',
),
),
'RestorableByUserIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'RestorableBy',
'items' => array(
'name' => 'RestorableBy',
'type' => 'string',
),
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
),
),
'DescribeSpotDatafeedSubscription' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeSpotDatafeedSubscriptionResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeSpotDatafeedSubscription',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
),
'DescribeSpotInstanceRequests' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeSpotInstanceRequestsResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeSpotInstanceRequests',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'SpotInstanceRequestIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'SpotInstanceRequestId',
'items' => array(
'name' => 'SpotInstanceRequestId',
'type' => 'string',
),
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
),
),
'DescribeSpotPriceHistory' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeSpotPriceHistoryResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeSpotPriceHistory',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'StartTime' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
'location' => 'aws.query',
),
'EndTime' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
'location' => 'aws.query',
),
'InstanceTypes' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'InstanceType',
'items' => array(
'name' => 'InstanceType',
'type' => 'string',
),
),
'ProductDescriptions' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ProductDescription',
'items' => array(
'name' => 'ProductDescription',
'type' => 'string',
),
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
'AvailabilityZone' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxResults' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DescribeSubnets' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeSubnetsResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeSubnets',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'SubnetIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'SubnetId',
'items' => array(
'name' => 'SubnetId',
'type' => 'string',
),
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
),
),
'DescribeTags' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeTagsResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeTags',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
'MaxResults' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DescribeVolumeAttribute' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeVolumeAttributeResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeVolumeAttribute',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'VolumeId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Attribute' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DescribeVolumeStatus' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeVolumeStatusResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeVolumeStatus',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'VolumeIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'VolumeId',
'items' => array(
'name' => 'VolumeId',
'type' => 'string',
),
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxResults' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
),
),
'DescribeVolumes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeVolumesResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeVolumes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'VolumeIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'VolumeId',
'items' => array(
'name' => 'VolumeId',
'type' => 'string',
),
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
),
),
'DescribeVpcAttribute' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeVpcAttributeResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeVpcAttribute',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'VpcId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Attribute' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DescribeVpcs' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeVpcsResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeVpcs',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'VpcIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'VpcId',
'items' => array(
'name' => 'VpcId',
'type' => 'string',
),
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
),
),
'DescribeVpnConnections' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeVpnConnectionsResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeVpnConnections',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'VpnConnectionIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'VpnConnectionId',
'items' => array(
'name' => 'VpnConnectionId',
'type' => 'string',
),
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
),
),
'DescribeVpnGateways' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeVpnGatewaysResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeVpnGateways',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'VpnGatewayIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'VpnGatewayId',
'items' => array(
'name' => 'VpnGatewayId',
'type' => 'string',
),
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filter',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'Value',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
),
),
'DetachInternetGateway' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DetachInternetGateway',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'InternetGatewayId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'VpcId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DetachNetworkInterface' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DetachNetworkInterface',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'AttachmentId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Force' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
),
'DetachVolume' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'attachment',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DetachVolume',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'VolumeId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'InstanceId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Device' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Force' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
),
'DetachVpnGateway' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DetachVpnGateway',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'VpnGatewayId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'VpcId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DisableVgwRoutePropagation' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DisableVgwRoutePropagation',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'RouteTableId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'GatewayId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DisassociateAddress' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DisassociateAddress',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'PublicIp' => array(
'type' => 'string',
'location' => 'aws.query',
),
'AssociationId' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DisassociateRouteTable' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DisassociateRouteTable',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'AssociationId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'EnableVgwRoutePropagation' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'EnableVgwRoutePropagation',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'RouteTableId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'GatewayId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'EnableVolumeIO' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'EnableVolumeIO',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'VolumeId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'GetConsoleOutput' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetConsoleOutputResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetConsoleOutput',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'InstanceId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'GetPasswordData' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetPasswordDataResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetPasswordData',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'InstanceId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'ImportInstance' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ImportInstanceResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ImportInstance',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'Description' => array(
'type' => 'string',
'location' => 'aws.query',
),
'LaunchSpecification' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Architecture' => array(
'type' => 'string',
),
'GroupNames' => array(
'type' => 'array',
'sentAs' => 'GroupName',
'items' => array(
'name' => 'GroupName',
'type' => 'string',
),
),
'AdditionalInfo' => array(
'type' => 'string',
),
'UserData' => array(
'type' => 'string',
),
'InstanceType' => array(
'type' => 'string',
),
'Placement' => array(
'type' => 'object',
'properties' => array(
'AvailabilityZone' => array(
'type' => 'string',
),
'GroupName' => array(
'type' => 'string',
),
'Tenancy' => array(
'type' => 'string',
),
),
),
'Monitoring' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
'SubnetId' => array(
'type' => 'string',
),
'InstanceInitiatedShutdownBehavior' => array(
'type' => 'string',
),
'PrivateIpAddress' => array(
'type' => 'string',
),
),
),
'DiskImages' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'DiskImage',
'items' => array(
'name' => 'DiskImage',
'type' => 'object',
'properties' => array(
'Image' => array(
'type' => 'object',
'properties' => array(
'Format' => array(
'required' => true,
'type' => 'string',
),
'Bytes' => array(
'required' => true,
'type' => 'numeric',
),
'ImportManifestUrl' => array(
'required' => true,
'type' => 'string',
),
),
),
'Description' => array(
'type' => 'string',
),
'Volume' => array(
'type' => 'object',
'properties' => array(
'Size' => array(
'required' => true,
'type' => 'numeric',
),
),
),
),
),
),
'Platform' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'ImportKeyPair' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ImportKeyPairResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ImportKeyPair',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'KeyName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'PublicKeyMaterial' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'filters' => array(
'base64_encode',
),
),
),
),
'ImportVolume' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ImportVolumeResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ImportVolume',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'AvailabilityZone' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Image' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Format' => array(
'required' => true,
'type' => 'string',
),
'Bytes' => array(
'required' => true,
'type' => 'numeric',
),
'ImportManifestUrl' => array(
'required' => true,
'type' => 'string',
),
),
),
'Description' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Volume' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Size' => array(
'required' => true,
'type' => 'numeric',
),
),
),
),
),
'ModifyImageAttribute' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ModifyImageAttribute',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'ImageId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Attribute' => array(
'type' => 'string',
'location' => 'aws.query',
),
'OperationType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'UserIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'UserId',
'items' => array(
'name' => 'UserId',
'type' => 'string',
),
),
'UserGroups' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'UserGroup',
'items' => array(
'name' => 'UserGroup',
'type' => 'string',
),
),
'ProductCodes' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ProductCode',
'items' => array(
'name' => 'ProductCode',
'type' => 'string',
),
),
'Value' => array(
'type' => 'string',
'location' => 'aws.query',
),
'LaunchPermission' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Add' => array(
'type' => 'array',
'items' => array(
'name' => 'LaunchPermission',
'type' => 'object',
'properties' => array(
'UserId' => array(
'type' => 'string',
),
'Group' => array(
'type' => 'string',
),
),
),
),
'Remove' => array(
'type' => 'array',
'items' => array(
'name' => 'LaunchPermission',
'type' => 'object',
'properties' => array(
'UserId' => array(
'type' => 'string',
),
'Group' => array(
'type' => 'string',
),
),
),
),
),
),
'Description' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Value' => array(
'type' => 'string',
),
),
),
),
),
'ModifyInstanceAttribute' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ModifyInstanceAttribute',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'InstanceId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Attribute' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Value' => array(
'type' => 'string',
'location' => 'aws.query',
),
'BlockDeviceMappings' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'BlockDeviceMapping',
'items' => array(
'name' => 'BlockDeviceMapping',
'type' => 'object',
'properties' => array(
'DeviceName' => array(
'type' => 'string',
),
'Ebs' => array(
'type' => 'object',
'properties' => array(
'VolumeId' => array(
'type' => 'string',
),
'DeleteOnTermination' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
'VirtualName' => array(
'type' => 'string',
),
'NoDevice' => array(
'type' => 'string',
),
),
),
),
'SourceDestCheck' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Value' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
'DisableApiTermination' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Value' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
'InstanceType' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Value' => array(
'type' => 'string',
),
),
),
'Kernel' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Value' => array(
'type' => 'string',
),
),
),
'Ramdisk' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Value' => array(
'type' => 'string',
),
),
),
'UserData' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Value' => array(
'type' => 'string',
),
),
),
'InstanceInitiatedShutdownBehavior' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Value' => array(
'type' => 'string',
),
),
),
'Groups' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'GroupId',
'items' => array(
'name' => 'GroupId',
'type' => 'string',
),
),
'EbsOptimized' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Value' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
'SriovNetSupport' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Value' => array(
'type' => 'string',
),
),
),
),
),
'ModifyNetworkInterfaceAttribute' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ModifyNetworkInterfaceAttribute',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'NetworkInterfaceId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Description' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Value' => array(
'type' => 'string',
),
),
),
'SourceDestCheck' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Value' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
'Groups' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'SecurityGroupId',
'items' => array(
'name' => 'SecurityGroupId',
'type' => 'string',
),
),
'Attachment' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'AttachmentId' => array(
'type' => 'string',
),
'DeleteOnTermination' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
),
'ModifyReservedInstances' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ModifyReservedInstancesResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ModifyReservedInstances',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'ClientToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
'ReservedInstancesIds' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ReservedInstancesId',
'items' => array(
'name' => 'ReservedInstancesId',
'type' => 'string',
),
),
'TargetConfigurations' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ReservedInstancesConfigurationSetItemType',
'items' => array(
'name' => 'ReservedInstancesConfigurationSetItemType',
'type' => 'object',
'properties' => array(
'AvailabilityZone' => array(
'type' => 'string',
),
'Platform' => array(
'type' => 'string',
),
'InstanceCount' => array(
'type' => 'numeric',
),
'InstanceType' => array(
'type' => 'string',
),
),
),
),
),
),
'ModifySnapshotAttribute' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ModifySnapshotAttribute',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'SnapshotId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Attribute' => array(
'type' => 'string',
'location' => 'aws.query',
),
'OperationType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'UserIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'UserId',
'items' => array(
'name' => 'UserId',
'type' => 'string',
),
),
'GroupNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'UserGroup',
'items' => array(
'name' => 'UserGroup',
'type' => 'string',
),
),
'CreateVolumePermission' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Add' => array(
'type' => 'array',
'items' => array(
'name' => 'CreateVolumePermission',
'type' => 'object',
'properties' => array(
'UserId' => array(
'type' => 'string',
),
'Group' => array(
'type' => 'string',
),
),
),
),
'Remove' => array(
'type' => 'array',
'items' => array(
'name' => 'CreateVolumePermission',
'type' => 'object',
'properties' => array(
'UserId' => array(
'type' => 'string',
),
'Group' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'ModifyVolumeAttribute' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ModifyVolumeAttribute',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'VolumeId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'AutoEnableIO' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
),
'ModifyVpcAttribute' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ModifyVpcAttribute',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'VpcId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'EnableDnsSupport' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Value' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
'EnableDnsHostnames' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Value' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
),
'MonitorInstances' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'MonitorInstancesResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'MonitorInstances',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'InstanceIds' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'InstanceId',
'items' => array(
'name' => 'InstanceId',
'type' => 'string',
),
),
),
),
'PurchaseReservedInstancesOffering' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'PurchaseReservedInstancesOfferingResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'PurchaseReservedInstancesOffering',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'ReservedInstancesOfferingId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'InstanceCount' => array(
'required' => true,
'type' => 'numeric',
'location' => 'aws.query',
),
'LimitPrice' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Amount' => array(
'type' => 'numeric',
),
'CurrencyCode' => array(
'type' => 'string',
),
),
),
),
),
'RebootInstances' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RebootInstances',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'InstanceIds' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'InstanceId',
'items' => array(
'name' => 'InstanceId',
'type' => 'string',
),
),
),
),
'RegisterImage' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'RegisterImageResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RegisterImage',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'ImageLocation' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Name' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Description' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Architecture' => array(
'type' => 'string',
'location' => 'aws.query',
),
'KernelId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'RamdiskId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'RootDeviceName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'BlockDeviceMappings' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'BlockDeviceMapping',
'items' => array(
'name' => 'BlockDeviceMapping',
'type' => 'object',
'properties' => array(
'VirtualName' => array(
'type' => 'string',
),
'DeviceName' => array(
'type' => 'string',
),
'Ebs' => array(
'type' => 'object',
'properties' => array(
'SnapshotId' => array(
'type' => 'string',
),
'VolumeSize' => array(
'type' => 'numeric',
),
'DeleteOnTermination' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
'VolumeType' => array(
'type' => 'string',
),
'Iops' => array(
'type' => 'numeric',
),
),
),
'NoDevice' => array(
'type' => 'string',
),
),
),
),
'VirtualizationType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'SriovNetSupport' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'ReleaseAddress' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ReleaseAddress',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'PublicIp' => array(
'type' => 'string',
'location' => 'aws.query',
),
'AllocationId' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'ReplaceNetworkAclAssociation' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ReplaceNetworkAclAssociationResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ReplaceNetworkAclAssociation',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'AssociationId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'NetworkAclId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'ReplaceNetworkAclEntry' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ReplaceNetworkAclEntry',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'NetworkAclId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'RuleNumber' => array(
'required' => true,
'type' => 'numeric',
'location' => 'aws.query',
),
'Protocol' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'RuleAction' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Egress' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'CidrBlock' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'IcmpTypeCode' => array(
'type' => 'object',
'location' => 'aws.query',
'sentAs' => 'Icmp',
'properties' => array(
'Type' => array(
'type' => 'numeric',
),
'Code' => array(
'type' => 'numeric',
),
),
),
'PortRange' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'From' => array(
'type' => 'numeric',
),
'To' => array(
'type' => 'numeric',
),
),
),
),
),
'ReplaceRoute' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ReplaceRoute',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'RouteTableId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'DestinationCidrBlock' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'GatewayId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'InstanceId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'NetworkInterfaceId' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'ReplaceRouteTableAssociation' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ReplaceRouteTableAssociationResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ReplaceRouteTableAssociation',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'AssociationId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'RouteTableId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'ReportInstanceStatus' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ReportInstanceStatus',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'Instances' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'InstanceId',
'items' => array(
'name' => 'InstanceId',
'type' => 'string',
),
),
'Status' => array(
'type' => 'string',
'location' => 'aws.query',
),
'StartTime' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
'location' => 'aws.query',
),
'EndTime' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
'location' => 'aws.query',
),
'ReasonCodes' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ReasonCode',
'items' => array(
'name' => 'ReasonCode',
'type' => 'string',
),
),
'Description' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'RequestSpotInstances' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'RequestSpotInstancesResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RequestSpotInstances',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'SpotPrice' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'InstanceCount' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Type' => array(
'type' => 'string',
'location' => 'aws.query',
),
'ValidFrom' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
'location' => 'aws.query',
),
'ValidUntil' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
'location' => 'aws.query',
),
'LaunchGroup' => array(
'type' => 'string',
'location' => 'aws.query',
),
'AvailabilityZoneGroup' => array(
'type' => 'string',
'location' => 'aws.query',
),
'LaunchSpecification' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'ImageId' => array(
'type' => 'string',
),
'KeyName' => array(
'type' => 'string',
),
'UserData' => array(
'type' => 'string',
),
'AddressingType' => array(
'type' => 'string',
),
'InstanceType' => array(
'type' => 'string',
),
'Placement' => array(
'type' => 'object',
'properties' => array(
'AvailabilityZone' => array(
'type' => 'string',
),
'GroupName' => array(
'type' => 'string',
),
),
),
'KernelId' => array(
'type' => 'string',
),
'RamdiskId' => array(
'type' => 'string',
),
'BlockDeviceMappings' => array(
'type' => 'array',
'sentAs' => 'BlockDeviceMapping',
'items' => array(
'name' => 'BlockDeviceMapping',
'type' => 'object',
'properties' => array(
'VirtualName' => array(
'type' => 'string',
),
'DeviceName' => array(
'type' => 'string',
),
'Ebs' => array(
'type' => 'object',
'properties' => array(
'SnapshotId' => array(
'type' => 'string',
),
'VolumeSize' => array(
'type' => 'numeric',
),
'DeleteOnTermination' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
'VolumeType' => array(
'type' => 'string',
),
'Iops' => array(
'type' => 'numeric',
),
),
),
'NoDevice' => array(
'type' => 'string',
),
),
),
),
'Monitoring' => array(
'type' => 'object',
'properties' => array(
'Enabled' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
'SubnetId' => array(
'type' => 'string',
),
'NetworkInterfaces' => array(
'type' => 'array',
'sentAs' => 'NetworkInterface',
'items' => array(
'name' => 'NetworkInterface',
'type' => 'object',
'properties' => array(
'NetworkInterfaceId' => array(
'type' => 'string',
),
'DeviceIndex' => array(
'type' => 'numeric',
),
'SubnetId' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'PrivateIpAddress' => array(
'type' => 'string',
),
'Groups' => array(
'type' => 'array',
'sentAs' => 'SecurityGroupId',
'items' => array(
'name' => 'SecurityGroupId',
'type' => 'string',
),
),
'DeleteOnTermination' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
'PrivateIpAddresses' => array(
'type' => 'array',
'items' => array(
'name' => 'PrivateIpAddressSpecification',
'type' => 'object',
'properties' => array(
'PrivateIpAddress' => array(
'required' => true,
'type' => 'string',
),
'Primary' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
'SecondaryPrivateIpAddressCount' => array(
'type' => 'numeric',
),
'AssociatePublicIpAddress' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
'IamInstanceProfile' => array(
'type' => 'object',
'properties' => array(
'Arn' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
),
),
'EbsOptimized' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
'SecurityGroupIds' => array(
'type' => 'array',
'sentAs' => 'SecurityGroupId',
'items' => array(
'name' => 'SecurityGroupId',
'type' => 'string',
),
),
'SecurityGroups' => array(
'type' => 'array',
'sentAs' => 'SecurityGroup',
'items' => array(
'name' => 'SecurityGroup',
'type' => 'string',
),
),
),
),
),
),
'ResetImageAttribute' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ResetImageAttribute',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'ImageId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Attribute' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'ResetInstanceAttribute' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ResetInstanceAttribute',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'InstanceId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Attribute' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'ResetNetworkInterfaceAttribute' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ResetNetworkInterfaceAttribute',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'NetworkInterfaceId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'SourceDestCheck' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'ResetSnapshotAttribute' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ResetSnapshotAttribute',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'SnapshotId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Attribute' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'RevokeSecurityGroupEgress' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RevokeSecurityGroupEgress',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'GroupId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'SourceSecurityGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'SourceSecurityGroupOwnerId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'IpProtocol' => array(
'type' => 'string',
'location' => 'aws.query',
),
'FromPort' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'ToPort' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'CidrIp' => array(
'type' => 'string',
'location' => 'aws.query',
),
'IpPermissions' => array(
'type' => 'array',
'location' => 'aws.query',
'items' => array(
'name' => 'IpPermission',
'type' => 'object',
'properties' => array(
'IpProtocol' => array(
'type' => 'string',
),
'FromPort' => array(
'type' => 'numeric',
),
'ToPort' => array(
'type' => 'numeric',
),
'UserIdGroupPairs' => array(
'type' => 'array',
'sentAs' => 'Groups',
'items' => array(
'name' => 'Groups',
'type' => 'object',
'properties' => array(
'UserId' => array(
'type' => 'string',
),
'GroupName' => array(
'type' => 'string',
),
'GroupId' => array(
'type' => 'string',
),
),
),
),
'IpRanges' => array(
'type' => 'array',
'items' => array(
'name' => 'IpRange',
'type' => 'object',
'properties' => array(
'CidrIp' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'RevokeSecurityGroupIngress' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RevokeSecurityGroupIngress',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'GroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'GroupId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'SourceSecurityGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'SourceSecurityGroupOwnerId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'IpProtocol' => array(
'type' => 'string',
'location' => 'aws.query',
),
'FromPort' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'ToPort' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'CidrIp' => array(
'type' => 'string',
'location' => 'aws.query',
),
'IpPermissions' => array(
'type' => 'array',
'location' => 'aws.query',
'items' => array(
'name' => 'IpPermission',
'type' => 'object',
'properties' => array(
'IpProtocol' => array(
'type' => 'string',
),
'FromPort' => array(
'type' => 'numeric',
),
'ToPort' => array(
'type' => 'numeric',
),
'UserIdGroupPairs' => array(
'type' => 'array',
'sentAs' => 'Groups',
'items' => array(
'name' => 'Groups',
'type' => 'object',
'properties' => array(
'UserId' => array(
'type' => 'string',
),
'GroupName' => array(
'type' => 'string',
),
'GroupId' => array(
'type' => 'string',
),
),
),
),
'IpRanges' => array(
'type' => 'array',
'items' => array(
'name' => 'IpRange',
'type' => 'object',
'properties' => array(
'CidrIp' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'RunInstances' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'reservation',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RunInstances',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'ImageId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'MinCount' => array(
'required' => true,
'type' => 'numeric',
'location' => 'aws.query',
),
'MaxCount' => array(
'required' => true,
'type' => 'numeric',
'location' => 'aws.query',
),
'KeyName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'SecurityGroups' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'SecurityGroup',
'items' => array(
'name' => 'SecurityGroup',
'type' => 'string',
),
),
'SecurityGroupIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'SecurityGroupId',
'items' => array(
'name' => 'SecurityGroupId',
'type' => 'string',
),
),
'UserData' => array(
'type' => 'string',
'location' => 'aws.query',
),
'InstanceType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Placement' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'AvailabilityZone' => array(
'type' => 'string',
),
'GroupName' => array(
'type' => 'string',
),
'Tenancy' => array(
'type' => 'string',
),
),
),
'KernelId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'RamdiskId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'BlockDeviceMappings' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'BlockDeviceMapping',
'items' => array(
'name' => 'BlockDeviceMapping',
'type' => 'object',
'properties' => array(
'VirtualName' => array(
'type' => 'string',
),
'DeviceName' => array(
'type' => 'string',
),
'Ebs' => array(
'type' => 'object',
'properties' => array(
'SnapshotId' => array(
'type' => 'string',
),
'VolumeSize' => array(
'type' => 'numeric',
),
'DeleteOnTermination' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
'VolumeType' => array(
'type' => 'string',
),
'Iops' => array(
'type' => 'numeric',
),
),
),
'NoDevice' => array(
'type' => 'string',
),
),
),
),
'Monitoring' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Enabled' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
'SubnetId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'DisableApiTermination' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'InstanceInitiatedShutdownBehavior' => array(
'type' => 'string',
'location' => 'aws.query',
),
'License' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Pool' => array(
'type' => 'string',
),
),
),
'PrivateIpAddress' => array(
'type' => 'string',
'location' => 'aws.query',
),
'ClientToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
'AdditionalInfo' => array(
'type' => 'string',
'location' => 'aws.query',
),
'NetworkInterfaces' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'NetworkInterface',
'items' => array(
'name' => 'NetworkInterface',
'type' => 'object',
'properties' => array(
'NetworkInterfaceId' => array(
'type' => 'string',
),
'DeviceIndex' => array(
'type' => 'numeric',
),
'SubnetId' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'PrivateIpAddress' => array(
'type' => 'string',
),
'Groups' => array(
'type' => 'array',
'sentAs' => 'SecurityGroupId',
'items' => array(
'name' => 'SecurityGroupId',
'type' => 'string',
),
),
'DeleteOnTermination' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
'PrivateIpAddresses' => array(
'type' => 'array',
'sentAs' => 'PrivateIpAddressesSet',
'items' => array(
'name' => 'PrivateIpAddressesSet',
'type' => 'object',
'properties' => array(
'PrivateIpAddress' => array(
'required' => true,
'type' => 'string',
),
'Primary' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
'SecondaryPrivateIpAddressCount' => array(
'type' => 'numeric',
),
'AssociatePublicIpAddress' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
'IamInstanceProfile' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Arn' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
),
),
'EbsOptimized' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
),
'StartInstances' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'StartInstancesResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'StartInstances',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'InstanceIds' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'InstanceId',
'items' => array(
'name' => 'InstanceId',
'type' => 'string',
),
),
'AdditionalInfo' => array(
'type' => 'string',
'location' => 'aws.query',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
),
'StopInstances' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'StopInstancesResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'StopInstances',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'InstanceIds' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'InstanceId',
'items' => array(
'name' => 'InstanceId',
'type' => 'string',
),
),
'Force' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
),
'TerminateInstances' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'TerminateInstancesResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'TerminateInstances',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'InstanceIds' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'InstanceId',
'items' => array(
'name' => 'InstanceId',
'type' => 'string',
),
),
),
),
'UnassignPrivateIpAddresses' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'UnassignPrivateIpAddresses',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'NetworkInterfaceId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'PrivateIpAddresses' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'PrivateIpAddress',
'items' => array(
'name' => 'PrivateIpAddress',
'type' => 'string',
),
),
),
),
'UnmonitorInstances' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'UnmonitorInstancesResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'UnmonitorInstances',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-10-15',
),
'DryRun' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'InstanceIds' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'InstanceId',
'items' => array(
'name' => 'InstanceId',
'type' => 'string',
),
),
),
),
),
'models' => array(
'EmptyOutput' => array(
'type' => 'object',
'additionalProperties' => true,
),
'AllocateAddressResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'PublicIp' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'publicIp',
),
'Domain' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'domain',
),
'AllocationId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'allocationId',
),
),
),
'AssociateAddressResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'AssociationId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'associationId',
),
),
),
'AssociateRouteTableResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'AssociationId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'associationId',
),
),
),
'AttachNetworkInterfaceResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'AttachmentId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'attachmentId',
),
),
),
'attachment' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'VolumeId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'volumeId',
),
'InstanceId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'instanceId',
),
'Device' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'device',
),
'State' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'status',
),
'AttachTime' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'attachTime',
),
'DeleteOnTermination' => array(
'type' => 'boolean',
'location' => 'xml',
'sentAs' => 'deleteOnTermination',
),
),
),
'AttachVpnGatewayResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'VpcAttachment' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'attachment',
'properties' => array(
'VpcId' => array(
'type' => 'string',
'sentAs' => 'vpcId',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
),
),
),
),
'BundleInstanceResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'BundleTask' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'bundleInstanceTask',
'properties' => array(
'InstanceId' => array(
'type' => 'string',
'sentAs' => 'instanceId',
),
'BundleId' => array(
'type' => 'string',
'sentAs' => 'bundleId',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
'StartTime' => array(
'type' => 'string',
'sentAs' => 'startTime',
),
'UpdateTime' => array(
'type' => 'string',
'sentAs' => 'updateTime',
),
'Storage' => array(
'type' => 'object',
'sentAs' => 'storage',
'properties' => array(
'S3' => array(
'type' => 'object',
'properties' => array(
'Bucket' => array(
'type' => 'string',
'sentAs' => 'bucket',
),
'Prefix' => array(
'type' => 'string',
'sentAs' => 'prefix',
),
'AWSAccessKeyId' => array(
'type' => 'string',
),
'UploadPolicy' => array(
'type' => 'string',
'sentAs' => 'uploadPolicy',
),
'UploadPolicySignature' => array(
'type' => 'string',
'sentAs' => 'uploadPolicySignature',
),
),
),
),
),
'Progress' => array(
'type' => 'string',
'sentAs' => 'progress',
),
'BundleTaskError' => array(
'type' => 'object',
'sentAs' => 'error',
'properties' => array(
'Code' => array(
'type' => 'string',
'sentAs' => 'code',
),
'Message' => array(
'type' => 'string',
'sentAs' => 'message',
),
),
),
),
),
),
),
'CancelBundleTaskResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'BundleTask' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'bundleInstanceTask',
'properties' => array(
'InstanceId' => array(
'type' => 'string',
'sentAs' => 'instanceId',
),
'BundleId' => array(
'type' => 'string',
'sentAs' => 'bundleId',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
'StartTime' => array(
'type' => 'string',
'sentAs' => 'startTime',
),
'UpdateTime' => array(
'type' => 'string',
'sentAs' => 'updateTime',
),
'Storage' => array(
'type' => 'object',
'sentAs' => 'storage',
'properties' => array(
'S3' => array(
'type' => 'object',
'properties' => array(
'Bucket' => array(
'type' => 'string',
'sentAs' => 'bucket',
),
'Prefix' => array(
'type' => 'string',
'sentAs' => 'prefix',
),
'AWSAccessKeyId' => array(
'type' => 'string',
),
'UploadPolicy' => array(
'type' => 'string',
'sentAs' => 'uploadPolicy',
),
'UploadPolicySignature' => array(
'type' => 'string',
'sentAs' => 'uploadPolicySignature',
),
),
),
),
),
'Progress' => array(
'type' => 'string',
'sentAs' => 'progress',
),
'BundleTaskError' => array(
'type' => 'object',
'sentAs' => 'error',
'properties' => array(
'Code' => array(
'type' => 'string',
'sentAs' => 'code',
),
'Message' => array(
'type' => 'string',
'sentAs' => 'message',
),
),
),
),
),
),
),
'CancelReservedInstancesListingResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ReservedInstancesListings' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'reservedInstancesListingsSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'ReservedInstancesListingId' => array(
'type' => 'string',
'sentAs' => 'reservedInstancesListingId',
),
'ReservedInstancesId' => array(
'type' => 'string',
'sentAs' => 'reservedInstancesId',
),
'CreateDate' => array(
'type' => 'string',
'sentAs' => 'createDate',
),
'UpdateDate' => array(
'type' => 'string',
'sentAs' => 'updateDate',
),
'Status' => array(
'type' => 'string',
'sentAs' => 'status',
),
'StatusMessage' => array(
'type' => 'string',
'sentAs' => 'statusMessage',
),
'InstanceCounts' => array(
'type' => 'array',
'sentAs' => 'instanceCounts',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
'InstanceCount' => array(
'type' => 'numeric',
'sentAs' => 'instanceCount',
),
),
),
),
'PriceSchedules' => array(
'type' => 'array',
'sentAs' => 'priceSchedules',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Term' => array(
'type' => 'numeric',
'sentAs' => 'term',
),
'Price' => array(
'type' => 'numeric',
'sentAs' => 'price',
),
'CurrencyCode' => array(
'type' => 'string',
'sentAs' => 'currencyCode',
),
'Active' => array(
'type' => 'boolean',
'sentAs' => 'active',
),
),
),
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
'ClientToken' => array(
'type' => 'string',
'sentAs' => 'clientToken',
),
),
),
),
),
),
'CancelSpotInstanceRequestsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'CancelledSpotInstanceRequests' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'spotInstanceRequestSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'SpotInstanceRequestId' => array(
'type' => 'string',
'sentAs' => 'spotInstanceRequestId',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
),
),
),
),
),
'ConfirmProductInstanceResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'OwnerId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'ownerId',
),
),
),
'CopyImageResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ImageId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'imageId',
),
),
),
'CopySnapshotResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'SnapshotId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'snapshotId',
),
),
),
'CreateCustomerGatewayResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'CustomerGateway' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'customerGateway',
'properties' => array(
'CustomerGatewayId' => array(
'type' => 'string',
'sentAs' => 'customerGatewayId',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
'Type' => array(
'type' => 'string',
'sentAs' => 'type',
),
'IpAddress' => array(
'type' => 'string',
'sentAs' => 'ipAddress',
),
'BgpAsn' => array(
'type' => 'string',
'sentAs' => 'bgpAsn',
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
),
),
),
),
'CreateDhcpOptionsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'DhcpOptions' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'dhcpOptions',
'properties' => array(
'DhcpOptionsId' => array(
'type' => 'string',
'sentAs' => 'dhcpOptionsId',
),
'DhcpConfigurations' => array(
'type' => 'array',
'sentAs' => 'dhcpConfigurationSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'valueSet',
'items' => array(
'name' => 'item',
'type' => 'string',
'sentAs' => 'item',
),
),
),
),
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
),
),
),
),
'CreateImageResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ImageId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'imageId',
),
),
),
'CreateInstanceExportTaskResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ExportTask' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'exportTask',
'properties' => array(
'ExportTaskId' => array(
'type' => 'string',
'sentAs' => 'exportTaskId',
),
'Description' => array(
'type' => 'string',
'sentAs' => 'description',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
'StatusMessage' => array(
'type' => 'string',
'sentAs' => 'statusMessage',
),
'InstanceExportDetails' => array(
'type' => 'object',
'sentAs' => 'instanceExport',
'properties' => array(
'InstanceId' => array(
'type' => 'string',
'sentAs' => 'instanceId',
),
'TargetEnvironment' => array(
'type' => 'string',
'sentAs' => 'targetEnvironment',
),
),
),
'ExportToS3Task' => array(
'type' => 'object',
'sentAs' => 'exportToS3',
'properties' => array(
'DiskImageFormat' => array(
'type' => 'string',
'sentAs' => 'diskImageFormat',
),
'ContainerFormat' => array(
'type' => 'string',
'sentAs' => 'containerFormat',
),
'S3Bucket' => array(
'type' => 'string',
'sentAs' => 's3Bucket',
),
'S3Key' => array(
'type' => 'string',
'sentAs' => 's3Key',
),
),
),
),
),
),
),
'CreateInternetGatewayResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'InternetGateway' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'internetGateway',
'properties' => array(
'InternetGatewayId' => array(
'type' => 'string',
'sentAs' => 'internetGatewayId',
),
'Attachments' => array(
'type' => 'array',
'sentAs' => 'attachmentSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'VpcId' => array(
'type' => 'string',
'sentAs' => 'vpcId',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
),
),
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
),
),
),
),
'CreateKeyPairResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'KeyName' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'keyName',
),
'KeyFingerprint' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'keyFingerprint',
),
'KeyMaterial' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'keyMaterial',
),
),
),
'CreateNetworkAclResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'NetworkAcl' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'networkAcl',
'properties' => array(
'NetworkAclId' => array(
'type' => 'string',
'sentAs' => 'networkAclId',
),
'VpcId' => array(
'type' => 'string',
'sentAs' => 'vpcId',
),
'IsDefault' => array(
'type' => 'boolean',
'sentAs' => 'default',
),
'Entries' => array(
'type' => 'array',
'sentAs' => 'entrySet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'RuleNumber' => array(
'type' => 'numeric',
'sentAs' => 'ruleNumber',
),
'Protocol' => array(
'type' => 'string',
'sentAs' => 'protocol',
),
'RuleAction' => array(
'type' => 'string',
'sentAs' => 'ruleAction',
),
'Egress' => array(
'type' => 'boolean',
'sentAs' => 'egress',
),
'CidrBlock' => array(
'type' => 'string',
'sentAs' => 'cidrBlock',
),
'IcmpTypeCode' => array(
'type' => 'object',
'sentAs' => 'icmpTypeCode',
'properties' => array(
'Type' => array(
'type' => 'numeric',
'sentAs' => 'type',
),
'Code' => array(
'type' => 'numeric',
'sentAs' => 'code',
),
),
),
'PortRange' => array(
'type' => 'object',
'sentAs' => 'portRange',
'properties' => array(
'From' => array(
'type' => 'numeric',
'sentAs' => 'from',
),
'To' => array(
'type' => 'numeric',
'sentAs' => 'to',
),
),
),
),
),
),
'Associations' => array(
'type' => 'array',
'sentAs' => 'associationSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'NetworkAclAssociationId' => array(
'type' => 'string',
'sentAs' => 'networkAclAssociationId',
),
'NetworkAclId' => array(
'type' => 'string',
'sentAs' => 'networkAclId',
),
'SubnetId' => array(
'type' => 'string',
'sentAs' => 'subnetId',
),
),
),
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
),
),
),
),
'CreateNetworkInterfaceResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'NetworkInterface' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'networkInterface',
'properties' => array(
'NetworkInterfaceId' => array(
'type' => 'string',
'sentAs' => 'networkInterfaceId',
),
'SubnetId' => array(
'type' => 'string',
'sentAs' => 'subnetId',
),
'VpcId' => array(
'type' => 'string',
'sentAs' => 'vpcId',
),
'AvailabilityZone' => array(
'type' => 'string',
'sentAs' => 'availabilityZone',
),
'Description' => array(
'type' => 'string',
'sentAs' => 'description',
),
'OwnerId' => array(
'type' => 'string',
'sentAs' => 'ownerId',
),
'RequesterId' => array(
'type' => 'string',
'sentAs' => 'requesterId',
),
'RequesterManaged' => array(
'type' => 'boolean',
'sentAs' => 'requesterManaged',
),
'Status' => array(
'type' => 'string',
'sentAs' => 'status',
),
'MacAddress' => array(
'type' => 'string',
'sentAs' => 'macAddress',
),
'PrivateIpAddress' => array(
'type' => 'string',
'sentAs' => 'privateIpAddress',
),
'PrivateDnsName' => array(
'type' => 'string',
'sentAs' => 'privateDnsName',
),
'SourceDestCheck' => array(
'type' => 'boolean',
'sentAs' => 'sourceDestCheck',
),
'Groups' => array(
'type' => 'array',
'sentAs' => 'groupSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'GroupName' => array(
'type' => 'string',
'sentAs' => 'groupName',
),
'GroupId' => array(
'type' => 'string',
'sentAs' => 'groupId',
),
),
),
),
'Attachment' => array(
'type' => 'object',
'sentAs' => 'attachment',
'properties' => array(
'AttachmentId' => array(
'type' => 'string',
'sentAs' => 'attachmentId',
),
'InstanceId' => array(
'type' => 'string',
'sentAs' => 'instanceId',
),
'InstanceOwnerId' => array(
'type' => 'string',
'sentAs' => 'instanceOwnerId',
),
'DeviceIndex' => array(
'type' => 'numeric',
'sentAs' => 'deviceIndex',
),
'Status' => array(
'type' => 'string',
'sentAs' => 'status',
),
'AttachTime' => array(
'type' => 'string',
'sentAs' => 'attachTime',
),
'DeleteOnTermination' => array(
'type' => 'boolean',
'sentAs' => 'deleteOnTermination',
),
),
),
'Association' => array(
'type' => 'object',
'sentAs' => 'association',
'properties' => array(
'PublicIp' => array(
'type' => 'string',
'sentAs' => 'publicIp',
),
'IpOwnerId' => array(
'type' => 'string',
'sentAs' => 'ipOwnerId',
),
'AllocationId' => array(
'type' => 'string',
'sentAs' => 'allocationId',
),
'AssociationId' => array(
'type' => 'string',
'sentAs' => 'associationId',
),
),
),
'TagSet' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
'PrivateIpAddresses' => array(
'type' => 'array',
'sentAs' => 'privateIpAddressesSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'PrivateIpAddress' => array(
'type' => 'string',
'sentAs' => 'privateIpAddress',
),
'PrivateDnsName' => array(
'type' => 'string',
'sentAs' => 'privateDnsName',
),
'Primary' => array(
'type' => 'boolean',
'sentAs' => 'primary',
),
'Association' => array(
'type' => 'object',
'sentAs' => 'association',
'properties' => array(
'PublicIp' => array(
'type' => 'string',
'sentAs' => 'publicIp',
),
'IpOwnerId' => array(
'type' => 'string',
'sentAs' => 'ipOwnerId',
),
'AllocationId' => array(
'type' => 'string',
'sentAs' => 'allocationId',
),
'AssociationId' => array(
'type' => 'string',
'sentAs' => 'associationId',
),
),
),
),
),
),
),
),
),
),
'CreateReservedInstancesListingResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ReservedInstancesListings' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'reservedInstancesListingsSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'ReservedInstancesListingId' => array(
'type' => 'string',
'sentAs' => 'reservedInstancesListingId',
),
'ReservedInstancesId' => array(
'type' => 'string',
'sentAs' => 'reservedInstancesId',
),
'CreateDate' => array(
'type' => 'string',
'sentAs' => 'createDate',
),
'UpdateDate' => array(
'type' => 'string',
'sentAs' => 'updateDate',
),
'Status' => array(
'type' => 'string',
'sentAs' => 'status',
),
'StatusMessage' => array(
'type' => 'string',
'sentAs' => 'statusMessage',
),
'InstanceCounts' => array(
'type' => 'array',
'sentAs' => 'instanceCounts',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
'InstanceCount' => array(
'type' => 'numeric',
'sentAs' => 'instanceCount',
),
),
),
),
'PriceSchedules' => array(
'type' => 'array',
'sentAs' => 'priceSchedules',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Term' => array(
'type' => 'numeric',
'sentAs' => 'term',
),
'Price' => array(
'type' => 'numeric',
'sentAs' => 'price',
),
'CurrencyCode' => array(
'type' => 'string',
'sentAs' => 'currencyCode',
),
'Active' => array(
'type' => 'boolean',
'sentAs' => 'active',
),
),
),
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
'ClientToken' => array(
'type' => 'string',
'sentAs' => 'clientToken',
),
),
),
),
),
),
'CreateRouteTableResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RouteTable' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'routeTable',
'properties' => array(
'RouteTableId' => array(
'type' => 'string',
'sentAs' => 'routeTableId',
),
'VpcId' => array(
'type' => 'string',
'sentAs' => 'vpcId',
),
'Routes' => array(
'type' => 'array',
'sentAs' => 'routeSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'DestinationCidrBlock' => array(
'type' => 'string',
'sentAs' => 'destinationCidrBlock',
),
'GatewayId' => array(
'type' => 'string',
'sentAs' => 'gatewayId',
),
'InstanceId' => array(
'type' => 'string',
'sentAs' => 'instanceId',
),
'InstanceOwnerId' => array(
'type' => 'string',
'sentAs' => 'instanceOwnerId',
),
'NetworkInterfaceId' => array(
'type' => 'string',
'sentAs' => 'networkInterfaceId',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
),
),
),
'Associations' => array(
'type' => 'array',
'sentAs' => 'associationSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'RouteTableAssociationId' => array(
'type' => 'string',
'sentAs' => 'routeTableAssociationId',
),
'RouteTableId' => array(
'type' => 'string',
'sentAs' => 'routeTableId',
),
'SubnetId' => array(
'type' => 'string',
'sentAs' => 'subnetId',
),
'Main' => array(
'type' => 'boolean',
'sentAs' => 'main',
),
),
),
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
'PropagatingVgws' => array(
'type' => 'array',
'sentAs' => 'propagatingVgwSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'GatewayId' => array(
'type' => 'string',
'sentAs' => 'gatewayId',
),
),
),
),
),
),
),
),
'CreateSecurityGroupResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'GroupId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'groupId',
),
),
),
'snapshot' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'SnapshotId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'snapshotId',
),
'VolumeId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'volumeId',
),
'State' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'status',
),
'StartTime' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'startTime',
),
'Progress' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'progress',
),
'OwnerId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'ownerId',
),
'Description' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'description',
),
'VolumeSize' => array(
'type' => 'numeric',
'location' => 'xml',
'sentAs' => 'volumeSize',
),
'OwnerAlias' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'ownerAlias',
),
'Tags' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
),
),
'CreateSpotDatafeedSubscriptionResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'SpotDatafeedSubscription' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'spotDatafeedSubscription',
'properties' => array(
'OwnerId' => array(
'type' => 'string',
'sentAs' => 'ownerId',
),
'Bucket' => array(
'type' => 'string',
'sentAs' => 'bucket',
),
'Prefix' => array(
'type' => 'string',
'sentAs' => 'prefix',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
'Fault' => array(
'type' => 'object',
'sentAs' => 'fault',
'properties' => array(
'Code' => array(
'type' => 'string',
'sentAs' => 'code',
),
'Message' => array(
'type' => 'string',
'sentAs' => 'message',
),
),
),
),
),
),
),
'CreateSubnetResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Subnet' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'subnet',
'properties' => array(
'SubnetId' => array(
'type' => 'string',
'sentAs' => 'subnetId',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
'VpcId' => array(
'type' => 'string',
'sentAs' => 'vpcId',
),
'CidrBlock' => array(
'type' => 'string',
'sentAs' => 'cidrBlock',
),
'AvailableIpAddressCount' => array(
'type' => 'numeric',
'sentAs' => 'availableIpAddressCount',
),
'AvailabilityZone' => array(
'type' => 'string',
'sentAs' => 'availabilityZone',
),
'DefaultForAz' => array(
'type' => 'boolean',
'sentAs' => 'defaultForAz',
),
'MapPublicIpOnLaunch' => array(
'type' => 'boolean',
'sentAs' => 'mapPublicIpOnLaunch',
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
),
),
),
),
'volume' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'VolumeId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'volumeId',
),
'Size' => array(
'type' => 'numeric',
'location' => 'xml',
'sentAs' => 'size',
),
'SnapshotId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'snapshotId',
),
'AvailabilityZone' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'availabilityZone',
),
'State' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'status',
),
'CreateTime' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'createTime',
),
'Attachments' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'attachmentSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'VolumeId' => array(
'type' => 'string',
'sentAs' => 'volumeId',
),
'InstanceId' => array(
'type' => 'string',
'sentAs' => 'instanceId',
),
'Device' => array(
'type' => 'string',
'sentAs' => 'device',
),
'State' => array(
'type' => 'string',
'sentAs' => 'status',
),
'AttachTime' => array(
'type' => 'string',
'sentAs' => 'attachTime',
),
'DeleteOnTermination' => array(
'type' => 'boolean',
'sentAs' => 'deleteOnTermination',
),
),
),
),
'Tags' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
'VolumeType' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'volumeType',
),
'Iops' => array(
'type' => 'numeric',
'location' => 'xml',
'sentAs' => 'iops',
),
),
),
'CreateVpcResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Vpc' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'vpc',
'properties' => array(
'VpcId' => array(
'type' => 'string',
'sentAs' => 'vpcId',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
'CidrBlock' => array(
'type' => 'string',
'sentAs' => 'cidrBlock',
),
'DhcpOptionsId' => array(
'type' => 'string',
'sentAs' => 'dhcpOptionsId',
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
'InstanceTenancy' => array(
'type' => 'string',
'sentAs' => 'instanceTenancy',
),
'IsDefault' => array(
'type' => 'boolean',
'sentAs' => 'isDefault',
),
),
),
),
),
'CreateVpnConnectionResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'VpnConnection' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'vpnConnection',
'properties' => array(
'VpnConnectionId' => array(
'type' => 'string',
'sentAs' => 'vpnConnectionId',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
'CustomerGatewayConfiguration' => array(
'type' => 'string',
'sentAs' => 'customerGatewayConfiguration',
),
'Type' => array(
'type' => 'string',
'sentAs' => 'type',
),
'CustomerGatewayId' => array(
'type' => 'string',
'sentAs' => 'customerGatewayId',
),
'VpnGatewayId' => array(
'type' => 'string',
'sentAs' => 'vpnGatewayId',
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
'VgwTelemetry' => array(
'type' => 'array',
'sentAs' => 'vgwTelemetry',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'OutsideIpAddress' => array(
'type' => 'string',
'sentAs' => 'outsideIpAddress',
),
'Status' => array(
'type' => 'string',
'sentAs' => 'status',
),
'LastStatusChange' => array(
'type' => 'string',
'sentAs' => 'lastStatusChange',
),
'StatusMessage' => array(
'type' => 'string',
'sentAs' => 'statusMessage',
),
'AcceptedRouteCount' => array(
'type' => 'numeric',
'sentAs' => 'acceptedRouteCount',
),
),
),
),
'Options' => array(
'type' => 'object',
'sentAs' => 'options',
'properties' => array(
'StaticRoutesOnly' => array(
'type' => 'boolean',
'sentAs' => 'staticRoutesOnly',
),
),
),
'Routes' => array(
'type' => 'array',
'sentAs' => 'routes',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'DestinationCidrBlock' => array(
'type' => 'string',
'sentAs' => 'destinationCidrBlock',
),
'Source' => array(
'type' => 'string',
'sentAs' => 'source',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
),
),
),
),
),
),
),
'CreateVpnGatewayResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'VpnGateway' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'vpnGateway',
'properties' => array(
'VpnGatewayId' => array(
'type' => 'string',
'sentAs' => 'vpnGatewayId',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
'Type' => array(
'type' => 'string',
'sentAs' => 'type',
),
'AvailabilityZone' => array(
'type' => 'string',
'sentAs' => 'availabilityZone',
),
'VpcAttachments' => array(
'type' => 'array',
'sentAs' => 'attachments',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'VpcId' => array(
'type' => 'string',
'sentAs' => 'vpcId',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
),
),
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
),
),
),
),
'DescribeAccountAttributesResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'AccountAttributes' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'accountAttributeSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'AttributeName' => array(
'type' => 'string',
'sentAs' => 'attributeName',
),
'AttributeValues' => array(
'type' => 'array',
'sentAs' => 'attributeValueSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'AttributeValue' => array(
'type' => 'string',
'sentAs' => 'attributeValue',
),
),
),
),
),
),
),
),
),
'DescribeAddressesResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Addresses' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'addressesSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'InstanceId' => array(
'type' => 'string',
'sentAs' => 'instanceId',
),
'PublicIp' => array(
'type' => 'string',
'sentAs' => 'publicIp',
),
'AllocationId' => array(
'type' => 'string',
'sentAs' => 'allocationId',
),
'AssociationId' => array(
'type' => 'string',
'sentAs' => 'associationId',
),
'Domain' => array(
'type' => 'string',
'sentAs' => 'domain',
),
'NetworkInterfaceId' => array(
'type' => 'string',
'sentAs' => 'networkInterfaceId',
),
'NetworkInterfaceOwnerId' => array(
'type' => 'string',
'sentAs' => 'networkInterfaceOwnerId',
),
'PrivateIpAddress' => array(
'type' => 'string',
'sentAs' => 'privateIpAddress',
),
),
),
),
),
),
'DescribeAvailabilityZonesResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'AvailabilityZones' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'availabilityZoneInfo',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'ZoneName' => array(
'type' => 'string',
'sentAs' => 'zoneName',
),
'State' => array(
'type' => 'string',
'sentAs' => 'zoneState',
),
'RegionName' => array(
'type' => 'string',
'sentAs' => 'regionName',
),
'Messages' => array(
'type' => 'array',
'sentAs' => 'messageSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Message' => array(
'type' => 'string',
'sentAs' => 'message',
),
),
),
),
),
),
),
),
),
'DescribeBundleTasksResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'BundleTasks' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'bundleInstanceTasksSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'InstanceId' => array(
'type' => 'string',
'sentAs' => 'instanceId',
),
'BundleId' => array(
'type' => 'string',
'sentAs' => 'bundleId',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
'StartTime' => array(
'type' => 'string',
'sentAs' => 'startTime',
),
'UpdateTime' => array(
'type' => 'string',
'sentAs' => 'updateTime',
),
'Storage' => array(
'type' => 'object',
'sentAs' => 'storage',
'properties' => array(
'S3' => array(
'type' => 'object',
'properties' => array(
'Bucket' => array(
'type' => 'string',
'sentAs' => 'bucket',
),
'Prefix' => array(
'type' => 'string',
'sentAs' => 'prefix',
),
'AWSAccessKeyId' => array(
'type' => 'string',
),
'UploadPolicy' => array(
'type' => 'string',
'sentAs' => 'uploadPolicy',
),
'UploadPolicySignature' => array(
'type' => 'string',
'sentAs' => 'uploadPolicySignature',
),
),
),
),
),
'Progress' => array(
'type' => 'string',
'sentAs' => 'progress',
),
'BundleTaskError' => array(
'type' => 'object',
'sentAs' => 'error',
'properties' => array(
'Code' => array(
'type' => 'string',
'sentAs' => 'code',
),
'Message' => array(
'type' => 'string',
'sentAs' => 'message',
),
),
),
),
),
),
),
),
'DescribeConversionTasksResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ConversionTasks' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'conversionTasks',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'ConversionTaskId' => array(
'type' => 'string',
'sentAs' => 'conversionTaskId',
),
'ExpirationTime' => array(
'type' => 'string',
'sentAs' => 'expirationTime',
),
'ImportInstance' => array(
'type' => 'object',
'sentAs' => 'importInstance',
'properties' => array(
'Volumes' => array(
'type' => 'array',
'sentAs' => 'volumes',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'BytesConverted' => array(
'type' => 'numeric',
'sentAs' => 'bytesConverted',
),
'AvailabilityZone' => array(
'type' => 'string',
'sentAs' => 'availabilityZone',
),
'Image' => array(
'type' => 'object',
'sentAs' => 'image',
'properties' => array(
'Format' => array(
'type' => 'string',
'sentAs' => 'format',
),
'Size' => array(
'type' => 'numeric',
'sentAs' => 'size',
),
'ImportManifestUrl' => array(
'type' => 'string',
'sentAs' => 'importManifestUrl',
),
'Checksum' => array(
'type' => 'string',
'sentAs' => 'checksum',
),
),
),
'Volume' => array(
'type' => 'object',
'sentAs' => 'volume',
'properties' => array(
'Size' => array(
'type' => 'numeric',
'sentAs' => 'size',
),
'Id' => array(
'type' => 'string',
'sentAs' => 'id',
),
),
),
'Status' => array(
'type' => 'string',
'sentAs' => 'status',
),
'StatusMessage' => array(
'type' => 'string',
'sentAs' => 'statusMessage',
),
'Description' => array(
'type' => 'string',
'sentAs' => 'description',
),
),
),
),
'InstanceId' => array(
'type' => 'string',
'sentAs' => 'instanceId',
),
'Platform' => array(
'type' => 'string',
'sentAs' => 'platform',
),
'Description' => array(
'type' => 'string',
'sentAs' => 'description',
),
),
),
'ImportVolume' => array(
'type' => 'object',
'sentAs' => 'importVolume',
'properties' => array(
'BytesConverted' => array(
'type' => 'numeric',
'sentAs' => 'bytesConverted',
),
'AvailabilityZone' => array(
'type' => 'string',
'sentAs' => 'availabilityZone',
),
'Description' => array(
'type' => 'string',
'sentAs' => 'description',
),
'Image' => array(
'type' => 'object',
'sentAs' => 'image',
'properties' => array(
'Format' => array(
'type' => 'string',
'sentAs' => 'format',
),
'Size' => array(
'type' => 'numeric',
'sentAs' => 'size',
),
'ImportManifestUrl' => array(
'type' => 'string',
'sentAs' => 'importManifestUrl',
),
'Checksum' => array(
'type' => 'string',
'sentAs' => 'checksum',
),
),
),
'Volume' => array(
'type' => 'object',
'sentAs' => 'volume',
'properties' => array(
'Size' => array(
'type' => 'numeric',
'sentAs' => 'size',
),
'Id' => array(
'type' => 'string',
'sentAs' => 'id',
),
),
),
),
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
'StatusMessage' => array(
'type' => 'string',
'sentAs' => 'statusMessage',
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
),
),
),
),
),
'DescribeCustomerGatewaysResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'CustomerGateways' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'customerGatewaySet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'CustomerGatewayId' => array(
'type' => 'string',
'sentAs' => 'customerGatewayId',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
'Type' => array(
'type' => 'string',
'sentAs' => 'type',
),
'IpAddress' => array(
'type' => 'string',
'sentAs' => 'ipAddress',
),
'BgpAsn' => array(
'type' => 'string',
'sentAs' => 'bgpAsn',
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
),
),
),
),
),
'DescribeDhcpOptionsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'DhcpOptions' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'dhcpOptionsSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'DhcpOptionsId' => array(
'type' => 'string',
'sentAs' => 'dhcpOptionsId',
),
'DhcpConfigurations' => array(
'type' => 'array',
'sentAs' => 'dhcpConfigurationSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Values' => array(
'type' => 'array',
'sentAs' => 'valueSet',
'items' => array(
'name' => 'item',
'type' => 'string',
'sentAs' => 'item',
),
),
),
),
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
),
),
),
),
),
'DescribeExportTasksResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ExportTasks' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'exportTaskSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'ExportTaskId' => array(
'type' => 'string',
'sentAs' => 'exportTaskId',
),
'Description' => array(
'type' => 'string',
'sentAs' => 'description',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
'StatusMessage' => array(
'type' => 'string',
'sentAs' => 'statusMessage',
),
'InstanceExportDetails' => array(
'type' => 'object',
'sentAs' => 'instanceExport',
'properties' => array(
'InstanceId' => array(
'type' => 'string',
'sentAs' => 'instanceId',
),
'TargetEnvironment' => array(
'type' => 'string',
'sentAs' => 'targetEnvironment',
),
),
),
'ExportToS3Task' => array(
'type' => 'object',
'sentAs' => 'exportToS3',
'properties' => array(
'DiskImageFormat' => array(
'type' => 'string',
'sentAs' => 'diskImageFormat',
),
'ContainerFormat' => array(
'type' => 'string',
'sentAs' => 'containerFormat',
),
'S3Bucket' => array(
'type' => 'string',
'sentAs' => 's3Bucket',
),
'S3Key' => array(
'type' => 'string',
'sentAs' => 's3Key',
),
),
),
),
),
),
),
),
'imageAttribute' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ImageId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'imageId',
),
'LaunchPermissions' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'launchPermission',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'UserId' => array(
'type' => 'string',
'sentAs' => 'userId',
),
'Group' => array(
'type' => 'string',
'sentAs' => 'group',
),
),
),
),
'ProductCodes' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'productCodes',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'ProductCodeId' => array(
'type' => 'string',
'sentAs' => 'productCode',
),
'ProductCodeType' => array(
'type' => 'string',
'sentAs' => 'type',
),
),
),
),
'KernelId' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'kernel',
'properties' => array(
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
'RamdiskId' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'ramdisk',
'properties' => array(
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
'Description' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'description',
'properties' => array(
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
'SriovNetSupport' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'sriovNetSupport',
'properties' => array(
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
'BlockDeviceMappings' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'blockDeviceMapping',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'VirtualName' => array(
'type' => 'string',
'sentAs' => 'virtualName',
),
'DeviceName' => array(
'type' => 'string',
'sentAs' => 'deviceName',
),
'Ebs' => array(
'type' => 'object',
'sentAs' => 'ebs',
'properties' => array(
'SnapshotId' => array(
'type' => 'string',
'sentAs' => 'snapshotId',
),
'VolumeSize' => array(
'type' => 'numeric',
'sentAs' => 'volumeSize',
),
'DeleteOnTermination' => array(
'type' => 'boolean',
'sentAs' => 'deleteOnTermination',
),
'VolumeType' => array(
'type' => 'string',
'sentAs' => 'volumeType',
),
'Iops' => array(
'type' => 'numeric',
'sentAs' => 'iops',
),
),
),
'NoDevice' => array(
'type' => 'string',
'sentAs' => 'noDevice',
),
),
),
),
),
),
'DescribeImagesResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Images' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'imagesSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'ImageId' => array(
'type' => 'string',
'sentAs' => 'imageId',
),
'ImageLocation' => array(
'type' => 'string',
'sentAs' => 'imageLocation',
),
'State' => array(
'type' => 'string',
'sentAs' => 'imageState',
),
'OwnerId' => array(
'type' => 'string',
'sentAs' => 'imageOwnerId',
),
'Public' => array(
'type' => 'boolean',
'sentAs' => 'isPublic',
),
'ProductCodes' => array(
'type' => 'array',
'sentAs' => 'productCodes',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'ProductCodeId' => array(
'type' => 'string',
'sentAs' => 'productCode',
),
'ProductCodeType' => array(
'type' => 'string',
'sentAs' => 'type',
),
),
),
),
'Architecture' => array(
'type' => 'string',
'sentAs' => 'architecture',
),
'ImageType' => array(
'type' => 'string',
'sentAs' => 'imageType',
),
'KernelId' => array(
'type' => 'string',
'sentAs' => 'kernelId',
),
'RamdiskId' => array(
'type' => 'string',
'sentAs' => 'ramdiskId',
),
'Platform' => array(
'type' => 'string',
'sentAs' => 'platform',
),
'SriovNetSupport' => array(
'type' => 'string',
'sentAs' => 'sriovNetSupport',
),
'StateReason' => array(
'type' => 'object',
'sentAs' => 'stateReason',
'properties' => array(
'Code' => array(
'type' => 'string',
'sentAs' => 'code',
),
'Message' => array(
'type' => 'string',
'sentAs' => 'message',
),
),
),
'ImageOwnerAlias' => array(
'type' => 'string',
'sentAs' => 'imageOwnerAlias',
),
'Name' => array(
'type' => 'string',
'sentAs' => 'name',
),
'Description' => array(
'type' => 'string',
'sentAs' => 'description',
),
'RootDeviceType' => array(
'type' => 'string',
'sentAs' => 'rootDeviceType',
),
'RootDeviceName' => array(
'type' => 'string',
'sentAs' => 'rootDeviceName',
),
'BlockDeviceMappings' => array(
'type' => 'array',
'sentAs' => 'blockDeviceMapping',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'VirtualName' => array(
'type' => 'string',
'sentAs' => 'virtualName',
),
'DeviceName' => array(
'type' => 'string',
'sentAs' => 'deviceName',
),
'Ebs' => array(
'type' => 'object',
'sentAs' => 'ebs',
'properties' => array(
'SnapshotId' => array(
'type' => 'string',
'sentAs' => 'snapshotId',
),
'VolumeSize' => array(
'type' => 'numeric',
'sentAs' => 'volumeSize',
),
'DeleteOnTermination' => array(
'type' => 'boolean',
'sentAs' => 'deleteOnTermination',
),
'VolumeType' => array(
'type' => 'string',
'sentAs' => 'volumeType',
),
'Iops' => array(
'type' => 'numeric',
'sentAs' => 'iops',
),
),
),
'NoDevice' => array(
'type' => 'string',
'sentAs' => 'noDevice',
),
),
),
),
'VirtualizationType' => array(
'type' => 'string',
'sentAs' => 'virtualizationType',
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
'Hypervisor' => array(
'type' => 'string',
'sentAs' => 'hypervisor',
),
),
),
),
),
),
'InstanceAttribute' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'InstanceId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'instanceId',
),
'InstanceType' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'instanceType',
'properties' => array(
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
'KernelId' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'kernel',
'properties' => array(
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
'RamdiskId' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'ramdisk',
'properties' => array(
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
'UserData' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'userData',
'properties' => array(
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
'DisableApiTermination' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'disableApiTermination',
'properties' => array(
'Value' => array(
'type' => 'boolean',
'sentAs' => 'value',
),
),
),
'InstanceInitiatedShutdownBehavior' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'instanceInitiatedShutdownBehavior',
'properties' => array(
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
'RootDeviceName' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'rootDeviceName',
'properties' => array(
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
'BlockDeviceMappings' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'blockDeviceMapping',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'DeviceName' => array(
'type' => 'string',
'sentAs' => 'deviceName',
),
'Ebs' => array(
'type' => 'object',
'sentAs' => 'ebs',
'properties' => array(
'VolumeId' => array(
'type' => 'string',
'sentAs' => 'volumeId',
),
'Status' => array(
'type' => 'string',
'sentAs' => 'status',
),
'AttachTime' => array(
'type' => 'string',
'sentAs' => 'attachTime',
),
'DeleteOnTermination' => array(
'type' => 'boolean',
'sentAs' => 'deleteOnTermination',
),
),
),
),
),
),
'ProductCodes' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'productCodes',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'ProductCodeId' => array(
'type' => 'string',
'sentAs' => 'productCode',
),
'ProductCodeType' => array(
'type' => 'string',
'sentAs' => 'type',
),
),
),
),
'EbsOptimized' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'ebsOptimized',
'properties' => array(
'Value' => array(
'type' => 'boolean',
'sentAs' => 'value',
),
),
),
'SriovNetSupport' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'sriovNetSupport',
'properties' => array(
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
),
'DescribeInstanceStatusResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'InstanceStatuses' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'instanceStatusSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'InstanceId' => array(
'type' => 'string',
'sentAs' => 'instanceId',
),
'AvailabilityZone' => array(
'type' => 'string',
'sentAs' => 'availabilityZone',
),
'Events' => array(
'type' => 'array',
'sentAs' => 'eventsSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Code' => array(
'type' => 'string',
'sentAs' => 'code',
),
'Description' => array(
'type' => 'string',
'sentAs' => 'description',
),
'NotBefore' => array(
'type' => 'string',
'sentAs' => 'notBefore',
),
'NotAfter' => array(
'type' => 'string',
'sentAs' => 'notAfter',
),
),
),
),
'InstanceState' => array(
'type' => 'object',
'sentAs' => 'instanceState',
'properties' => array(
'Code' => array(
'type' => 'numeric',
'sentAs' => 'code',
),
'Name' => array(
'type' => 'string',
'sentAs' => 'name',
),
),
),
'SystemStatus' => array(
'type' => 'object',
'sentAs' => 'systemStatus',
'properties' => array(
'Status' => array(
'type' => 'string',
'sentAs' => 'status',
),
'Details' => array(
'type' => 'array',
'sentAs' => 'details',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Name' => array(
'type' => 'string',
'sentAs' => 'name',
),
'Status' => array(
'type' => 'string',
'sentAs' => 'status',
),
'ImpairedSince' => array(
'type' => 'string',
'sentAs' => 'impairedSince',
),
),
),
),
),
),
'InstanceStatus' => array(
'type' => 'object',
'sentAs' => 'instanceStatus',
'properties' => array(
'Status' => array(
'type' => 'string',
'sentAs' => 'status',
),
'Details' => array(
'type' => 'array',
'sentAs' => 'details',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Name' => array(
'type' => 'string',
'sentAs' => 'name',
),
'Status' => array(
'type' => 'string',
'sentAs' => 'status',
),
'ImpairedSince' => array(
'type' => 'string',
'sentAs' => 'impairedSince',
),
),
),
),
),
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'nextToken',
),
),
),
'DescribeInstancesResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Reservations' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'reservationSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'ReservationId' => array(
'type' => 'string',
'sentAs' => 'reservationId',
),
'OwnerId' => array(
'type' => 'string',
'sentAs' => 'ownerId',
),
'RequesterId' => array(
'type' => 'string',
'sentAs' => 'requesterId',
),
'Groups' => array(
'type' => 'array',
'sentAs' => 'groupSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'GroupName' => array(
'type' => 'string',
'sentAs' => 'groupName',
),
'GroupId' => array(
'type' => 'string',
'sentAs' => 'groupId',
),
),
),
),
'Instances' => array(
'type' => 'array',
'sentAs' => 'instancesSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'InstanceId' => array(
'type' => 'string',
'sentAs' => 'instanceId',
),
'ImageId' => array(
'type' => 'string',
'sentAs' => 'imageId',
),
'State' => array(
'type' => 'object',
'sentAs' => 'instanceState',
'properties' => array(
'Code' => array(
'type' => 'numeric',
'sentAs' => 'code',
),
'Name' => array(
'type' => 'string',
'sentAs' => 'name',
),
),
),
'PrivateDnsName' => array(
'type' => 'string',
'sentAs' => 'privateDnsName',
),
'PublicDnsName' => array(
'type' => 'string',
'sentAs' => 'dnsName',
),
'StateTransitionReason' => array(
'type' => 'string',
'sentAs' => 'reason',
),
'KeyName' => array(
'type' => 'string',
'sentAs' => 'keyName',
),
'AmiLaunchIndex' => array(
'type' => 'numeric',
'sentAs' => 'amiLaunchIndex',
),
'ProductCodes' => array(
'type' => 'array',
'sentAs' => 'productCodes',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'ProductCodeId' => array(
'type' => 'string',
'sentAs' => 'productCode',
),
'ProductCodeType' => array(
'type' => 'string',
'sentAs' => 'type',
),
),
),
),
'InstanceType' => array(
'type' => 'string',
'sentAs' => 'instanceType',
),
'LaunchTime' => array(
'type' => 'string',
'sentAs' => 'launchTime',
),
'Placement' => array(
'type' => 'object',
'sentAs' => 'placement',
'properties' => array(
'AvailabilityZone' => array(
'type' => 'string',
'sentAs' => 'availabilityZone',
),
'GroupName' => array(
'type' => 'string',
'sentAs' => 'groupName',
),
'Tenancy' => array(
'type' => 'string',
'sentAs' => 'tenancy',
),
),
),
'KernelId' => array(
'type' => 'string',
'sentAs' => 'kernelId',
),
'RamdiskId' => array(
'type' => 'string',
'sentAs' => 'ramdiskId',
),
'Platform' => array(
'type' => 'string',
'sentAs' => 'platform',
),
'Monitoring' => array(
'type' => 'object',
'sentAs' => 'monitoring',
'properties' => array(
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
),
),
'SubnetId' => array(
'type' => 'string',
'sentAs' => 'subnetId',
),
'VpcId' => array(
'type' => 'string',
'sentAs' => 'vpcId',
),
'PrivateIpAddress' => array(
'type' => 'string',
'sentAs' => 'privateIpAddress',
),
'PublicIpAddress' => array(
'type' => 'string',
'sentAs' => 'ipAddress',
),
'StateReason' => array(
'type' => 'object',
'sentAs' => 'stateReason',
'properties' => array(
'Code' => array(
'type' => 'string',
'sentAs' => 'code',
),
'Message' => array(
'type' => 'string',
'sentAs' => 'message',
),
),
),
'Architecture' => array(
'type' => 'string',
'sentAs' => 'architecture',
),
'RootDeviceType' => array(
'type' => 'string',
'sentAs' => 'rootDeviceType',
),
'RootDeviceName' => array(
'type' => 'string',
'sentAs' => 'rootDeviceName',
),
'BlockDeviceMappings' => array(
'type' => 'array',
'sentAs' => 'blockDeviceMapping',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'DeviceName' => array(
'type' => 'string',
'sentAs' => 'deviceName',
),
'Ebs' => array(
'type' => 'object',
'sentAs' => 'ebs',
'properties' => array(
'VolumeId' => array(
'type' => 'string',
'sentAs' => 'volumeId',
),
'Status' => array(
'type' => 'string',
'sentAs' => 'status',
),
'AttachTime' => array(
'type' => 'string',
'sentAs' => 'attachTime',
),
'DeleteOnTermination' => array(
'type' => 'boolean',
'sentAs' => 'deleteOnTermination',
),
),
),
),
),
),
'VirtualizationType' => array(
'type' => 'string',
'sentAs' => 'virtualizationType',
),
'InstanceLifecycle' => array(
'type' => 'string',
'sentAs' => 'instanceLifecycle',
),
'SpotInstanceRequestId' => array(
'type' => 'string',
'sentAs' => 'spotInstanceRequestId',
),
'License' => array(
'type' => 'object',
'sentAs' => 'license',
'properties' => array(
'Pool' => array(
'type' => 'string',
'sentAs' => 'pool',
),
),
),
'ClientToken' => array(
'type' => 'string',
'sentAs' => 'clientToken',
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
'SecurityGroups' => array(
'type' => 'array',
'sentAs' => 'groupSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'GroupName' => array(
'type' => 'string',
'sentAs' => 'groupName',
),
'GroupId' => array(
'type' => 'string',
'sentAs' => 'groupId',
),
),
),
),
'SourceDestCheck' => array(
'type' => 'boolean',
'sentAs' => 'sourceDestCheck',
),
'Hypervisor' => array(
'type' => 'string',
'sentAs' => 'hypervisor',
),
'NetworkInterfaces' => array(
'type' => 'array',
'sentAs' => 'networkInterfaceSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'NetworkInterfaceId' => array(
'type' => 'string',
'sentAs' => 'networkInterfaceId',
),
'SubnetId' => array(
'type' => 'string',
'sentAs' => 'subnetId',
),
'VpcId' => array(
'type' => 'string',
'sentAs' => 'vpcId',
),
'Description' => array(
'type' => 'string',
'sentAs' => 'description',
),
'OwnerId' => array(
'type' => 'string',
'sentAs' => 'ownerId',
),
'Status' => array(
'type' => 'string',
'sentAs' => 'status',
),
'PrivateIpAddress' => array(
'type' => 'string',
'sentAs' => 'privateIpAddress',
),
'PrivateDnsName' => array(
'type' => 'string',
'sentAs' => 'privateDnsName',
),
'SourceDestCheck' => array(
'type' => 'boolean',
'sentAs' => 'sourceDestCheck',
),
'Groups' => array(
'type' => 'array',
'sentAs' => 'groupSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'GroupName' => array(
'type' => 'string',
'sentAs' => 'groupName',
),
'GroupId' => array(
'type' => 'string',
'sentAs' => 'groupId',
),
),
),
),
'Attachment' => array(
'type' => 'object',
'sentAs' => 'attachment',
'properties' => array(
'AttachmentId' => array(
'type' => 'string',
'sentAs' => 'attachmentId',
),
'DeviceIndex' => array(
'type' => 'numeric',
'sentAs' => 'deviceIndex',
),
'Status' => array(
'type' => 'string',
'sentAs' => 'status',
),
'AttachTime' => array(
'type' => 'string',
'sentAs' => 'attachTime',
),
'DeleteOnTermination' => array(
'type' => 'boolean',
'sentAs' => 'deleteOnTermination',
),
),
),
'Association' => array(
'type' => 'object',
'sentAs' => 'association',
'properties' => array(
'PublicIp' => array(
'type' => 'string',
'sentAs' => 'publicIp',
),
'PublicDnsName' => array(
'type' => 'string',
'sentAs' => 'publicDnsName',
),
'IpOwnerId' => array(
'type' => 'string',
'sentAs' => 'ipOwnerId',
),
),
),
'PrivateIpAddresses' => array(
'type' => 'array',
'sentAs' => 'privateIpAddressesSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'PrivateIpAddress' => array(
'type' => 'string',
'sentAs' => 'privateIpAddress',
),
'PrivateDnsName' => array(
'type' => 'string',
'sentAs' => 'privateDnsName',
),
'Primary' => array(
'type' => 'boolean',
'sentAs' => 'primary',
),
'Association' => array(
'type' => 'object',
'sentAs' => 'association',
'properties' => array(
'PublicIp' => array(
'type' => 'string',
'sentAs' => 'publicIp',
),
'PublicDnsName' => array(
'type' => 'string',
'sentAs' => 'publicDnsName',
),
'IpOwnerId' => array(
'type' => 'string',
'sentAs' => 'ipOwnerId',
),
),
),
),
),
),
),
),
),
'IamInstanceProfile' => array(
'type' => 'object',
'sentAs' => 'iamInstanceProfile',
'properties' => array(
'Arn' => array(
'type' => 'string',
'sentAs' => 'arn',
),
'Id' => array(
'type' => 'string',
'sentAs' => 'id',
),
),
),
'EbsOptimized' => array(
'type' => 'boolean',
'sentAs' => 'ebsOptimized',
),
'SriovNetSupport' => array(
'type' => 'string',
'sentAs' => 'sriovNetSupport',
),
),
),
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'nextToken',
),
),
),
'DescribeInternetGatewaysResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'InternetGateways' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'internetGatewaySet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'InternetGatewayId' => array(
'type' => 'string',
'sentAs' => 'internetGatewayId',
),
'Attachments' => array(
'type' => 'array',
'sentAs' => 'attachmentSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'VpcId' => array(
'type' => 'string',
'sentAs' => 'vpcId',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
),
),
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
),
),
),
),
),
'DescribeKeyPairsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'KeyPairs' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'keySet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'KeyName' => array(
'type' => 'string',
'sentAs' => 'keyName',
),
'KeyFingerprint' => array(
'type' => 'string',
'sentAs' => 'keyFingerprint',
),
),
),
),
),
),
'DescribeLicensesResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Licenses' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'licenseSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'LicenseId' => array(
'type' => 'string',
'sentAs' => 'licenseId',
),
'Type' => array(
'type' => 'string',
'sentAs' => 'type',
),
'Pool' => array(
'type' => 'string',
'sentAs' => 'pool',
),
'Capacities' => array(
'type' => 'array',
'sentAs' => 'capacitySet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Capacity' => array(
'type' => 'numeric',
'sentAs' => 'capacity',
),
'InstanceCapacity' => array(
'type' => 'numeric',
'sentAs' => 'instanceCapacity',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
'EarliestAllowedDeactivationTime' => array(
'type' => 'string',
'sentAs' => 'earliestAllowedDeactivationTime',
),
),
),
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
),
),
),
),
),
'DescribeNetworkAclsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'NetworkAcls' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'networkAclSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'NetworkAclId' => array(
'type' => 'string',
'sentAs' => 'networkAclId',
),
'VpcId' => array(
'type' => 'string',
'sentAs' => 'vpcId',
),
'IsDefault' => array(
'type' => 'boolean',
'sentAs' => 'default',
),
'Entries' => array(
'type' => 'array',
'sentAs' => 'entrySet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'RuleNumber' => array(
'type' => 'numeric',
'sentAs' => 'ruleNumber',
),
'Protocol' => array(
'type' => 'string',
'sentAs' => 'protocol',
),
'RuleAction' => array(
'type' => 'string',
'sentAs' => 'ruleAction',
),
'Egress' => array(
'type' => 'boolean',
'sentAs' => 'egress',
),
'CidrBlock' => array(
'type' => 'string',
'sentAs' => 'cidrBlock',
),
'IcmpTypeCode' => array(
'type' => 'object',
'sentAs' => 'icmpTypeCode',
'properties' => array(
'Type' => array(
'type' => 'numeric',
'sentAs' => 'type',
),
'Code' => array(
'type' => 'numeric',
'sentAs' => 'code',
),
),
),
'PortRange' => array(
'type' => 'object',
'sentAs' => 'portRange',
'properties' => array(
'From' => array(
'type' => 'numeric',
'sentAs' => 'from',
),
'To' => array(
'type' => 'numeric',
'sentAs' => 'to',
),
),
),
),
),
),
'Associations' => array(
'type' => 'array',
'sentAs' => 'associationSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'NetworkAclAssociationId' => array(
'type' => 'string',
'sentAs' => 'networkAclAssociationId',
),
'NetworkAclId' => array(
'type' => 'string',
'sentAs' => 'networkAclId',
),
'SubnetId' => array(
'type' => 'string',
'sentAs' => 'subnetId',
),
),
),
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
),
),
),
),
),
'DescribeNetworkInterfaceAttributeResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'NetworkInterfaceId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'networkInterfaceId',
),
'Description' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'description',
'properties' => array(
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
'SourceDestCheck' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'sourceDestCheck',
'properties' => array(
'Value' => array(
'type' => 'boolean',
'sentAs' => 'value',
),
),
),
'Groups' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'groupSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'GroupName' => array(
'type' => 'string',
'sentAs' => 'groupName',
),
'GroupId' => array(
'type' => 'string',
'sentAs' => 'groupId',
),
),
),
),
'Attachment' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'attachment',
'properties' => array(
'AttachmentId' => array(
'type' => 'string',
'sentAs' => 'attachmentId',
),
'InstanceId' => array(
'type' => 'string',
'sentAs' => 'instanceId',
),
'InstanceOwnerId' => array(
'type' => 'string',
'sentAs' => 'instanceOwnerId',
),
'DeviceIndex' => array(
'type' => 'numeric',
'sentAs' => 'deviceIndex',
),
'Status' => array(
'type' => 'string',
'sentAs' => 'status',
),
'AttachTime' => array(
'type' => 'string',
'sentAs' => 'attachTime',
),
'DeleteOnTermination' => array(
'type' => 'boolean',
'sentAs' => 'deleteOnTermination',
),
),
),
),
),
'DescribeNetworkInterfacesResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'NetworkInterfaces' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'networkInterfaceSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'NetworkInterfaceId' => array(
'type' => 'string',
'sentAs' => 'networkInterfaceId',
),
'SubnetId' => array(
'type' => 'string',
'sentAs' => 'subnetId',
),
'VpcId' => array(
'type' => 'string',
'sentAs' => 'vpcId',
),
'AvailabilityZone' => array(
'type' => 'string',
'sentAs' => 'availabilityZone',
),
'Description' => array(
'type' => 'string',
'sentAs' => 'description',
),
'OwnerId' => array(
'type' => 'string',
'sentAs' => 'ownerId',
),
'RequesterId' => array(
'type' => 'string',
'sentAs' => 'requesterId',
),
'RequesterManaged' => array(
'type' => 'boolean',
'sentAs' => 'requesterManaged',
),
'Status' => array(
'type' => 'string',
'sentAs' => 'status',
),
'MacAddress' => array(
'type' => 'string',
'sentAs' => 'macAddress',
),
'PrivateIpAddress' => array(
'type' => 'string',
'sentAs' => 'privateIpAddress',
),
'PrivateDnsName' => array(
'type' => 'string',
'sentAs' => 'privateDnsName',
),
'SourceDestCheck' => array(
'type' => 'boolean',
'sentAs' => 'sourceDestCheck',
),
'Groups' => array(
'type' => 'array',
'sentAs' => 'groupSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'GroupName' => array(
'type' => 'string',
'sentAs' => 'groupName',
),
'GroupId' => array(
'type' => 'string',
'sentAs' => 'groupId',
),
),
),
),
'Attachment' => array(
'type' => 'object',
'sentAs' => 'attachment',
'properties' => array(
'AttachmentId' => array(
'type' => 'string',
'sentAs' => 'attachmentId',
),
'InstanceId' => array(
'type' => 'string',
'sentAs' => 'instanceId',
),
'InstanceOwnerId' => array(
'type' => 'string',
'sentAs' => 'instanceOwnerId',
),
'DeviceIndex' => array(
'type' => 'numeric',
'sentAs' => 'deviceIndex',
),
'Status' => array(
'type' => 'string',
'sentAs' => 'status',
),
'AttachTime' => array(
'type' => 'string',
'sentAs' => 'attachTime',
),
'DeleteOnTermination' => array(
'type' => 'boolean',
'sentAs' => 'deleteOnTermination',
),
),
),
'Association' => array(
'type' => 'object',
'sentAs' => 'association',
'properties' => array(
'PublicIp' => array(
'type' => 'string',
'sentAs' => 'publicIp',
),
'IpOwnerId' => array(
'type' => 'string',
'sentAs' => 'ipOwnerId',
),
'AllocationId' => array(
'type' => 'string',
'sentAs' => 'allocationId',
),
'AssociationId' => array(
'type' => 'string',
'sentAs' => 'associationId',
),
),
),
'TagSet' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
'PrivateIpAddresses' => array(
'type' => 'array',
'sentAs' => 'privateIpAddressesSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'PrivateIpAddress' => array(
'type' => 'string',
'sentAs' => 'privateIpAddress',
),
'PrivateDnsName' => array(
'type' => 'string',
'sentAs' => 'privateDnsName',
),
'Primary' => array(
'type' => 'boolean',
'sentAs' => 'primary',
),
'Association' => array(
'type' => 'object',
'sentAs' => 'association',
'properties' => array(
'PublicIp' => array(
'type' => 'string',
'sentAs' => 'publicIp',
),
'IpOwnerId' => array(
'type' => 'string',
'sentAs' => 'ipOwnerId',
),
'AllocationId' => array(
'type' => 'string',
'sentAs' => 'allocationId',
),
'AssociationId' => array(
'type' => 'string',
'sentAs' => 'associationId',
),
),
),
),
),
),
),
),
),
),
),
'DescribePlacementGroupsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'PlacementGroups' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'placementGroupSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'GroupName' => array(
'type' => 'string',
'sentAs' => 'groupName',
),
'Strategy' => array(
'type' => 'string',
'sentAs' => 'strategy',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
),
),
),
),
),
'DescribeRegionsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Regions' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'regionInfo',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'RegionName' => array(
'type' => 'string',
'sentAs' => 'regionName',
),
'Endpoint' => array(
'type' => 'string',
'sentAs' => 'regionEndpoint',
),
),
),
),
),
),
'DescribeReservedInstancesResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ReservedInstances' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'reservedInstancesSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'ReservedInstancesId' => array(
'type' => 'string',
'sentAs' => 'reservedInstancesId',
),
'InstanceType' => array(
'type' => 'string',
'sentAs' => 'instanceType',
),
'AvailabilityZone' => array(
'type' => 'string',
'sentAs' => 'availabilityZone',
),
'Start' => array(
'type' => 'string',
'sentAs' => 'start',
),
'End' => array(
'type' => 'string',
'sentAs' => 'end',
),
'Duration' => array(
'type' => 'numeric',
'sentAs' => 'duration',
),
'UsagePrice' => array(
'type' => 'numeric',
'sentAs' => 'usagePrice',
),
'FixedPrice' => array(
'type' => 'numeric',
'sentAs' => 'fixedPrice',
),
'InstanceCount' => array(
'type' => 'numeric',
'sentAs' => 'instanceCount',
),
'ProductDescription' => array(
'type' => 'string',
'sentAs' => 'productDescription',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
'InstanceTenancy' => array(
'type' => 'string',
'sentAs' => 'instanceTenancy',
),
'CurrencyCode' => array(
'type' => 'string',
'sentAs' => 'currencyCode',
),
'OfferingType' => array(
'type' => 'string',
'sentAs' => 'offeringType',
),
'RecurringCharges' => array(
'type' => 'array',
'sentAs' => 'recurringCharges',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Frequency' => array(
'type' => 'string',
'sentAs' => 'frequency',
),
'Amount' => array(
'type' => 'numeric',
'sentAs' => 'amount',
),
),
),
),
),
),
),
),
),
'DescribeReservedInstancesListingsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ReservedInstancesListings' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'reservedInstancesListingsSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'ReservedInstancesListingId' => array(
'type' => 'string',
'sentAs' => 'reservedInstancesListingId',
),
'ReservedInstancesId' => array(
'type' => 'string',
'sentAs' => 'reservedInstancesId',
),
'CreateDate' => array(
'type' => 'string',
'sentAs' => 'createDate',
),
'UpdateDate' => array(
'type' => 'string',
'sentAs' => 'updateDate',
),
'Status' => array(
'type' => 'string',
'sentAs' => 'status',
),
'StatusMessage' => array(
'type' => 'string',
'sentAs' => 'statusMessage',
),
'InstanceCounts' => array(
'type' => 'array',
'sentAs' => 'instanceCounts',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
'InstanceCount' => array(
'type' => 'numeric',
'sentAs' => 'instanceCount',
),
),
),
),
'PriceSchedules' => array(
'type' => 'array',
'sentAs' => 'priceSchedules',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Term' => array(
'type' => 'numeric',
'sentAs' => 'term',
),
'Price' => array(
'type' => 'numeric',
'sentAs' => 'price',
),
'CurrencyCode' => array(
'type' => 'string',
'sentAs' => 'currencyCode',
),
'Active' => array(
'type' => 'boolean',
'sentAs' => 'active',
),
),
),
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
'ClientToken' => array(
'type' => 'string',
'sentAs' => 'clientToken',
),
),
),
),
),
),
'DescribeReservedInstancesModificationsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ReservedInstancesModifications' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'reservedInstancesModificationsSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'ReservedInstancesModificationId' => array(
'type' => 'string',
'sentAs' => 'reservedInstancesModificationId',
),
'ReservedInstancesIds' => array(
'type' => 'array',
'sentAs' => 'reservedInstancesSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'ReservedInstancesId' => array(
'type' => 'string',
'sentAs' => 'reservedInstancesId',
),
),
),
),
'ModificationResults' => array(
'type' => 'array',
'sentAs' => 'modificationResultSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'ReservedInstancesId' => array(
'type' => 'string',
'sentAs' => 'reservedInstancesId',
),
'TargetConfiguration' => array(
'type' => 'object',
'sentAs' => 'targetConfiguration',
'properties' => array(
'AvailabilityZone' => array(
'type' => 'string',
'sentAs' => 'availabilityZone',
),
'Platform' => array(
'type' => 'string',
'sentAs' => 'platform',
),
'InstanceCount' => array(
'type' => 'numeric',
'sentAs' => 'instanceCount',
),
'InstanceType' => array(
'type' => 'string',
'sentAs' => 'instanceType',
),
),
),
),
),
),
'CreateDate' => array(
'type' => 'string',
'sentAs' => 'createDate',
),
'UpdateDate' => array(
'type' => 'string',
'sentAs' => 'updateDate',
),
'EffectiveDate' => array(
'type' => 'string',
'sentAs' => 'effectiveDate',
),
'Status' => array(
'type' => 'string',
'sentAs' => 'status',
),
'StatusMessage' => array(
'type' => 'string',
'sentAs' => 'statusMessage',
),
'ClientToken' => array(
'type' => 'string',
'sentAs' => 'clientToken',
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'nextToken',
),
),
),
'DescribeReservedInstancesOfferingsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ReservedInstancesOfferings' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'reservedInstancesOfferingsSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'ReservedInstancesOfferingId' => array(
'type' => 'string',
'sentAs' => 'reservedInstancesOfferingId',
),
'InstanceType' => array(
'type' => 'string',
'sentAs' => 'instanceType',
),
'AvailabilityZone' => array(
'type' => 'string',
'sentAs' => 'availabilityZone',
),
'Duration' => array(
'type' => 'numeric',
'sentAs' => 'duration',
),
'UsagePrice' => array(
'type' => 'numeric',
'sentAs' => 'usagePrice',
),
'FixedPrice' => array(
'type' => 'numeric',
'sentAs' => 'fixedPrice',
),
'ProductDescription' => array(
'type' => 'string',
'sentAs' => 'productDescription',
),
'InstanceTenancy' => array(
'type' => 'string',
'sentAs' => 'instanceTenancy',
),
'CurrencyCode' => array(
'type' => 'string',
'sentAs' => 'currencyCode',
),
'OfferingType' => array(
'type' => 'string',
'sentAs' => 'offeringType',
),
'RecurringCharges' => array(
'type' => 'array',
'sentAs' => 'recurringCharges',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Frequency' => array(
'type' => 'string',
'sentAs' => 'frequency',
),
'Amount' => array(
'type' => 'numeric',
'sentAs' => 'amount',
),
),
),
),
'Marketplace' => array(
'type' => 'boolean',
'sentAs' => 'marketplace',
),
'PricingDetails' => array(
'type' => 'array',
'sentAs' => 'pricingDetailsSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Price' => array(
'type' => 'numeric',
'sentAs' => 'price',
),
'Count' => array(
'type' => 'numeric',
'sentAs' => 'count',
),
),
),
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'nextToken',
),
),
),
'DescribeRouteTablesResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RouteTables' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'routeTableSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'RouteTableId' => array(
'type' => 'string',
'sentAs' => 'routeTableId',
),
'VpcId' => array(
'type' => 'string',
'sentAs' => 'vpcId',
),
'Routes' => array(
'type' => 'array',
'sentAs' => 'routeSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'DestinationCidrBlock' => array(
'type' => 'string',
'sentAs' => 'destinationCidrBlock',
),
'GatewayId' => array(
'type' => 'string',
'sentAs' => 'gatewayId',
),
'InstanceId' => array(
'type' => 'string',
'sentAs' => 'instanceId',
),
'InstanceOwnerId' => array(
'type' => 'string',
'sentAs' => 'instanceOwnerId',
),
'NetworkInterfaceId' => array(
'type' => 'string',
'sentAs' => 'networkInterfaceId',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
),
),
),
'Associations' => array(
'type' => 'array',
'sentAs' => 'associationSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'RouteTableAssociationId' => array(
'type' => 'string',
'sentAs' => 'routeTableAssociationId',
),
'RouteTableId' => array(
'type' => 'string',
'sentAs' => 'routeTableId',
),
'SubnetId' => array(
'type' => 'string',
'sentAs' => 'subnetId',
),
'Main' => array(
'type' => 'boolean',
'sentAs' => 'main',
),
),
),
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
'PropagatingVgws' => array(
'type' => 'array',
'sentAs' => 'propagatingVgwSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'GatewayId' => array(
'type' => 'string',
'sentAs' => 'gatewayId',
),
),
),
),
),
),
),
),
),
'DescribeSecurityGroupsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'SecurityGroups' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'securityGroupInfo',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'OwnerId' => array(
'type' => 'string',
'sentAs' => 'ownerId',
),
'GroupName' => array(
'type' => 'string',
'sentAs' => 'groupName',
),
'GroupId' => array(
'type' => 'string',
'sentAs' => 'groupId',
),
'Description' => array(
'type' => 'string',
'sentAs' => 'groupDescription',
),
'IpPermissions' => array(
'type' => 'array',
'sentAs' => 'ipPermissions',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'IpProtocol' => array(
'type' => 'string',
'sentAs' => 'ipProtocol',
),
'FromPort' => array(
'type' => 'numeric',
'sentAs' => 'fromPort',
),
'ToPort' => array(
'type' => 'numeric',
'sentAs' => 'toPort',
),
'UserIdGroupPairs' => array(
'type' => 'array',
'sentAs' => 'groups',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'UserId' => array(
'type' => 'string',
'sentAs' => 'userId',
),
'GroupName' => array(
'type' => 'string',
'sentAs' => 'groupName',
),
'GroupId' => array(
'type' => 'string',
'sentAs' => 'groupId',
),
),
),
),
'IpRanges' => array(
'type' => 'array',
'sentAs' => 'ipRanges',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'CidrIp' => array(
'type' => 'string',
'sentAs' => 'cidrIp',
),
),
),
),
),
),
),
'IpPermissionsEgress' => array(
'type' => 'array',
'sentAs' => 'ipPermissionsEgress',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'IpProtocol' => array(
'type' => 'string',
'sentAs' => 'ipProtocol',
),
'FromPort' => array(
'type' => 'numeric',
'sentAs' => 'fromPort',
),
'ToPort' => array(
'type' => 'numeric',
'sentAs' => 'toPort',
),
'UserIdGroupPairs' => array(
'type' => 'array',
'sentAs' => 'groups',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'UserId' => array(
'type' => 'string',
'sentAs' => 'userId',
),
'GroupName' => array(
'type' => 'string',
'sentAs' => 'groupName',
),
'GroupId' => array(
'type' => 'string',
'sentAs' => 'groupId',
),
),
),
),
'IpRanges' => array(
'type' => 'array',
'sentAs' => 'ipRanges',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'CidrIp' => array(
'type' => 'string',
'sentAs' => 'cidrIp',
),
),
),
),
),
),
),
'VpcId' => array(
'type' => 'string',
'sentAs' => 'vpcId',
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
),
),
),
),
),
'DescribeSnapshotAttributeResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'SnapshotId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'snapshotId',
),
'CreateVolumePermissions' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'createVolumePermission',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'UserId' => array(
'type' => 'string',
'sentAs' => 'userId',
),
'Group' => array(
'type' => 'string',
'sentAs' => 'group',
),
),
),
),
'ProductCodes' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'productCodes',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'ProductCodeId' => array(
'type' => 'string',
'sentAs' => 'productCode',
),
'ProductCodeType' => array(
'type' => 'string',
'sentAs' => 'type',
),
),
),
),
),
),
'DescribeSnapshotsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Snapshots' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'snapshotSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'SnapshotId' => array(
'type' => 'string',
'sentAs' => 'snapshotId',
),
'VolumeId' => array(
'type' => 'string',
'sentAs' => 'volumeId',
),
'State' => array(
'type' => 'string',
'sentAs' => 'status',
),
'StartTime' => array(
'type' => 'string',
'sentAs' => 'startTime',
),
'Progress' => array(
'type' => 'string',
'sentAs' => 'progress',
),
'OwnerId' => array(
'type' => 'string',
'sentAs' => 'ownerId',
),
'Description' => array(
'type' => 'string',
'sentAs' => 'description',
),
'VolumeSize' => array(
'type' => 'numeric',
'sentAs' => 'volumeSize',
),
'OwnerAlias' => array(
'type' => 'string',
'sentAs' => 'ownerAlias',
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
),
),
),
),
),
'DescribeSpotDatafeedSubscriptionResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'SpotDatafeedSubscription' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'spotDatafeedSubscription',
'properties' => array(
'OwnerId' => array(
'type' => 'string',
'sentAs' => 'ownerId',
),
'Bucket' => array(
'type' => 'string',
'sentAs' => 'bucket',
),
'Prefix' => array(
'type' => 'string',
'sentAs' => 'prefix',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
'Fault' => array(
'type' => 'object',
'sentAs' => 'fault',
'properties' => array(
'Code' => array(
'type' => 'string',
'sentAs' => 'code',
),
'Message' => array(
'type' => 'string',
'sentAs' => 'message',
),
),
),
),
),
),
),
'DescribeSpotInstanceRequestsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'SpotInstanceRequests' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'spotInstanceRequestSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'SpotInstanceRequestId' => array(
'type' => 'string',
'sentAs' => 'spotInstanceRequestId',
),
'SpotPrice' => array(
'type' => 'string',
'sentAs' => 'spotPrice',
),
'Type' => array(
'type' => 'string',
'sentAs' => 'type',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
'Fault' => array(
'type' => 'object',
'sentAs' => 'fault',
'properties' => array(
'Code' => array(
'type' => 'string',
'sentAs' => 'code',
),
'Message' => array(
'type' => 'string',
'sentAs' => 'message',
),
),
),
'Status' => array(
'type' => 'object',
'sentAs' => 'status',
'properties' => array(
'Code' => array(
'type' => 'string',
'sentAs' => 'code',
),
'UpdateTime' => array(
'type' => 'string',
'sentAs' => 'updateTime',
),
'Message' => array(
'type' => 'string',
'sentAs' => 'message',
),
),
),
'ValidFrom' => array(
'type' => 'string',
'sentAs' => 'validFrom',
),
'ValidUntil' => array(
'type' => 'string',
'sentAs' => 'validUntil',
),
'LaunchGroup' => array(
'type' => 'string',
'sentAs' => 'launchGroup',
),
'AvailabilityZoneGroup' => array(
'type' => 'string',
'sentAs' => 'availabilityZoneGroup',
),
'LaunchSpecification' => array(
'type' => 'object',
'sentAs' => 'launchSpecification',
'properties' => array(
'ImageId' => array(
'type' => 'string',
'sentAs' => 'imageId',
),
'KeyName' => array(
'type' => 'string',
'sentAs' => 'keyName',
),
'SecurityGroups' => array(
'type' => 'array',
'sentAs' => 'groupSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'GroupName' => array(
'type' => 'string',
'sentAs' => 'groupName',
),
'GroupId' => array(
'type' => 'string',
'sentAs' => 'groupId',
),
),
),
),
'UserData' => array(
'type' => 'string',
'sentAs' => 'userData',
),
'AddressingType' => array(
'type' => 'string',
'sentAs' => 'addressingType',
),
'InstanceType' => array(
'type' => 'string',
'sentAs' => 'instanceType',
),
'Placement' => array(
'type' => 'object',
'sentAs' => 'placement',
'properties' => array(
'AvailabilityZone' => array(
'type' => 'string',
'sentAs' => 'availabilityZone',
),
'GroupName' => array(
'type' => 'string',
'sentAs' => 'groupName',
),
),
),
'KernelId' => array(
'type' => 'string',
'sentAs' => 'kernelId',
),
'RamdiskId' => array(
'type' => 'string',
'sentAs' => 'ramdiskId',
),
'BlockDeviceMappings' => array(
'type' => 'array',
'sentAs' => 'blockDeviceMapping',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'VirtualName' => array(
'type' => 'string',
'sentAs' => 'virtualName',
),
'DeviceName' => array(
'type' => 'string',
'sentAs' => 'deviceName',
),
'Ebs' => array(
'type' => 'object',
'sentAs' => 'ebs',
'properties' => array(
'SnapshotId' => array(
'type' => 'string',
'sentAs' => 'snapshotId',
),
'VolumeSize' => array(
'type' => 'numeric',
'sentAs' => 'volumeSize',
),
'DeleteOnTermination' => array(
'type' => 'boolean',
'sentAs' => 'deleteOnTermination',
),
'VolumeType' => array(
'type' => 'string',
'sentAs' => 'volumeType',
),
'Iops' => array(
'type' => 'numeric',
'sentAs' => 'iops',
),
),
),
'NoDevice' => array(
'type' => 'string',
'sentAs' => 'noDevice',
),
),
),
),
'MonitoringEnabled' => array(
'type' => 'boolean',
'sentAs' => 'monitoringEnabled',
),
'SubnetId' => array(
'type' => 'string',
'sentAs' => 'subnetId',
),
'NetworkInterfaces' => array(
'type' => 'array',
'sentAs' => 'networkInterfaceSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'NetworkInterfaceId' => array(
'type' => 'string',
'sentAs' => 'networkInterfaceId',
),
'DeviceIndex' => array(
'type' => 'numeric',
'sentAs' => 'deviceIndex',
),
'SubnetId' => array(
'type' => 'string',
'sentAs' => 'subnetId',
),
'Description' => array(
'type' => 'string',
'sentAs' => 'description',
),
'PrivateIpAddress' => array(
'type' => 'string',
'sentAs' => 'privateIpAddress',
),
'Groups' => array(
'type' => 'array',
'sentAs' => 'SecurityGroupId',
'items' => array(
'name' => 'SecurityGroupId',
'type' => 'string',
'sentAs' => 'SecurityGroupId',
),
),
'DeleteOnTermination' => array(
'type' => 'boolean',
'sentAs' => 'deleteOnTermination',
),
'PrivateIpAddresses' => array(
'type' => 'array',
'sentAs' => 'privateIpAddressesSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'PrivateIpAddress' => array(
'type' => 'string',
'sentAs' => 'privateIpAddress',
),
'Primary' => array(
'type' => 'boolean',
'sentAs' => 'primary',
),
),
),
),
'SecondaryPrivateIpAddressCount' => array(
'type' => 'numeric',
'sentAs' => 'secondaryPrivateIpAddressCount',
),
'AssociatePublicIpAddress' => array(
'type' => 'boolean',
'sentAs' => 'associatePublicIpAddress',
),
),
),
),
'IamInstanceProfile' => array(
'type' => 'object',
'sentAs' => 'iamInstanceProfile',
'properties' => array(
'Arn' => array(
'type' => 'string',
'sentAs' => 'arn',
),
'Name' => array(
'type' => 'string',
'sentAs' => 'name',
),
),
),
'EbsOptimized' => array(
'type' => 'boolean',
'sentAs' => 'ebsOptimized',
),
),
),
'InstanceId' => array(
'type' => 'string',
'sentAs' => 'instanceId',
),
'CreateTime' => array(
'type' => 'string',
'sentAs' => 'createTime',
),
'ProductDescription' => array(
'type' => 'string',
'sentAs' => 'productDescription',
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
'LaunchedAvailabilityZone' => array(
'type' => 'string',
'sentAs' => 'launchedAvailabilityZone',
),
),
),
),
),
),
'DescribeSpotPriceHistoryResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'SpotPriceHistory' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'spotPriceHistorySet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'InstanceType' => array(
'type' => 'string',
'sentAs' => 'instanceType',
),
'ProductDescription' => array(
'type' => 'string',
'sentAs' => 'productDescription',
),
'SpotPrice' => array(
'type' => 'string',
'sentAs' => 'spotPrice',
),
'Timestamp' => array(
'type' => 'string',
'sentAs' => 'timestamp',
),
'AvailabilityZone' => array(
'type' => 'string',
'sentAs' => 'availabilityZone',
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'nextToken',
),
),
),
'DescribeSubnetsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Subnets' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'subnetSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'SubnetId' => array(
'type' => 'string',
'sentAs' => 'subnetId',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
'VpcId' => array(
'type' => 'string',
'sentAs' => 'vpcId',
),
'CidrBlock' => array(
'type' => 'string',
'sentAs' => 'cidrBlock',
),
'AvailableIpAddressCount' => array(
'type' => 'numeric',
'sentAs' => 'availableIpAddressCount',
),
'AvailabilityZone' => array(
'type' => 'string',
'sentAs' => 'availabilityZone',
),
'DefaultForAz' => array(
'type' => 'boolean',
'sentAs' => 'defaultForAz',
),
'MapPublicIpOnLaunch' => array(
'type' => 'boolean',
'sentAs' => 'mapPublicIpOnLaunch',
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
),
),
),
),
),
'DescribeTagsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Tags' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'ResourceId' => array(
'type' => 'string',
'sentAs' => 'resourceId',
),
'ResourceType' => array(
'type' => 'string',
'sentAs' => 'resourceType',
),
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'nextToken',
),
),
),
'DescribeVolumeAttributeResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'VolumeId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'volumeId',
),
'AutoEnableIO' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'autoEnableIO',
'properties' => array(
'Value' => array(
'type' => 'boolean',
'sentAs' => 'value',
),
),
),
'ProductCodes' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'productCodes',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'ProductCodeId' => array(
'type' => 'string',
'sentAs' => 'productCode',
),
'ProductCodeType' => array(
'type' => 'string',
'sentAs' => 'type',
),
),
),
),
),
),
'DescribeVolumeStatusResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'VolumeStatuses' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'volumeStatusSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'VolumeId' => array(
'type' => 'string',
'sentAs' => 'volumeId',
),
'AvailabilityZone' => array(
'type' => 'string',
'sentAs' => 'availabilityZone',
),
'VolumeStatus' => array(
'type' => 'object',
'sentAs' => 'volumeStatus',
'properties' => array(
'Status' => array(
'type' => 'string',
'sentAs' => 'status',
),
'Details' => array(
'type' => 'array',
'sentAs' => 'details',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Name' => array(
'type' => 'string',
'sentAs' => 'name',
),
'Status' => array(
'type' => 'string',
'sentAs' => 'status',
),
),
),
),
),
),
'Events' => array(
'type' => 'array',
'sentAs' => 'eventsSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'EventType' => array(
'type' => 'string',
'sentAs' => 'eventType',
),
'Description' => array(
'type' => 'string',
'sentAs' => 'description',
),
'NotBefore' => array(
'type' => 'string',
'sentAs' => 'notBefore',
),
'NotAfter' => array(
'type' => 'string',
'sentAs' => 'notAfter',
),
'EventId' => array(
'type' => 'string',
'sentAs' => 'eventId',
),
),
),
),
'Actions' => array(
'type' => 'array',
'sentAs' => 'actionsSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Code' => array(
'type' => 'string',
'sentAs' => 'code',
),
'Description' => array(
'type' => 'string',
'sentAs' => 'description',
),
'EventType' => array(
'type' => 'string',
'sentAs' => 'eventType',
),
'EventId' => array(
'type' => 'string',
'sentAs' => 'eventId',
),
),
),
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'nextToken',
),
),
),
'DescribeVolumesResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Volumes' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'volumeSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'VolumeId' => array(
'type' => 'string',
'sentAs' => 'volumeId',
),
'Size' => array(
'type' => 'numeric',
'sentAs' => 'size',
),
'SnapshotId' => array(
'type' => 'string',
'sentAs' => 'snapshotId',
),
'AvailabilityZone' => array(
'type' => 'string',
'sentAs' => 'availabilityZone',
),
'State' => array(
'type' => 'string',
'sentAs' => 'status',
),
'CreateTime' => array(
'type' => 'string',
'sentAs' => 'createTime',
),
'Attachments' => array(
'type' => 'array',
'sentAs' => 'attachmentSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'VolumeId' => array(
'type' => 'string',
'sentAs' => 'volumeId',
),
'InstanceId' => array(
'type' => 'string',
'sentAs' => 'instanceId',
),
'Device' => array(
'type' => 'string',
'sentAs' => 'device',
),
'State' => array(
'type' => 'string',
'sentAs' => 'status',
),
'AttachTime' => array(
'type' => 'string',
'sentAs' => 'attachTime',
),
'DeleteOnTermination' => array(
'type' => 'boolean',
'sentAs' => 'deleteOnTermination',
),
),
),
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
'VolumeType' => array(
'type' => 'string',
'sentAs' => 'volumeType',
),
'Iops' => array(
'type' => 'numeric',
'sentAs' => 'iops',
),
),
),
),
),
),
'DescribeVpcAttributeResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'VpcId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'vpcId',
),
'EnableDnsSupport' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'enableDnsSupport',
'properties' => array(
'Value' => array(
'type' => 'boolean',
'sentAs' => 'value',
),
),
),
'EnableDnsHostnames' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'enableDnsHostnames',
'properties' => array(
'Value' => array(
'type' => 'boolean',
'sentAs' => 'value',
),
),
),
),
),
'DescribeVpcsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Vpcs' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'vpcSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'VpcId' => array(
'type' => 'string',
'sentAs' => 'vpcId',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
'CidrBlock' => array(
'type' => 'string',
'sentAs' => 'cidrBlock',
),
'DhcpOptionsId' => array(
'type' => 'string',
'sentAs' => 'dhcpOptionsId',
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
'InstanceTenancy' => array(
'type' => 'string',
'sentAs' => 'instanceTenancy',
),
'IsDefault' => array(
'type' => 'boolean',
'sentAs' => 'isDefault',
),
),
),
),
),
),
'DescribeVpnConnectionsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'VpnConnections' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'vpnConnectionSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'VpnConnectionId' => array(
'type' => 'string',
'sentAs' => 'vpnConnectionId',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
'CustomerGatewayConfiguration' => array(
'type' => 'string',
'sentAs' => 'customerGatewayConfiguration',
),
'Type' => array(
'type' => 'string',
'sentAs' => 'type',
),
'CustomerGatewayId' => array(
'type' => 'string',
'sentAs' => 'customerGatewayId',
),
'VpnGatewayId' => array(
'type' => 'string',
'sentAs' => 'vpnGatewayId',
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
'VgwTelemetry' => array(
'type' => 'array',
'sentAs' => 'vgwTelemetry',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'OutsideIpAddress' => array(
'type' => 'string',
'sentAs' => 'outsideIpAddress',
),
'Status' => array(
'type' => 'string',
'sentAs' => 'status',
),
'LastStatusChange' => array(
'type' => 'string',
'sentAs' => 'lastStatusChange',
),
'StatusMessage' => array(
'type' => 'string',
'sentAs' => 'statusMessage',
),
'AcceptedRouteCount' => array(
'type' => 'numeric',
'sentAs' => 'acceptedRouteCount',
),
),
),
),
'Options' => array(
'type' => 'object',
'sentAs' => 'options',
'properties' => array(
'StaticRoutesOnly' => array(
'type' => 'boolean',
'sentAs' => 'staticRoutesOnly',
),
),
),
'Routes' => array(
'type' => 'array',
'sentAs' => 'routes',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'DestinationCidrBlock' => array(
'type' => 'string',
'sentAs' => 'destinationCidrBlock',
),
'Source' => array(
'type' => 'string',
'sentAs' => 'source',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
),
),
),
),
),
),
),
),
'DescribeVpnGatewaysResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'VpnGateways' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'vpnGatewaySet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'VpnGatewayId' => array(
'type' => 'string',
'sentAs' => 'vpnGatewayId',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
'Type' => array(
'type' => 'string',
'sentAs' => 'type',
),
'AvailabilityZone' => array(
'type' => 'string',
'sentAs' => 'availabilityZone',
),
'VpcAttachments' => array(
'type' => 'array',
'sentAs' => 'attachments',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'VpcId' => array(
'type' => 'string',
'sentAs' => 'vpcId',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
),
),
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
),
),
),
),
),
'GetConsoleOutputResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'InstanceId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'instanceId',
),
'Timestamp' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'timestamp',
),
'Output' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'output',
),
),
),
'GetPasswordDataResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'InstanceId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'instanceId',
),
'Timestamp' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'timestamp',
),
'PasswordData' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'passwordData',
),
),
),
'ImportInstanceResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ConversionTask' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'conversionTask',
'properties' => array(
'ConversionTaskId' => array(
'type' => 'string',
'sentAs' => 'conversionTaskId',
),
'ExpirationTime' => array(
'type' => 'string',
'sentAs' => 'expirationTime',
),
'ImportInstance' => array(
'type' => 'object',
'sentAs' => 'importInstance',
'properties' => array(
'Volumes' => array(
'type' => 'array',
'sentAs' => 'volumes',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'BytesConverted' => array(
'type' => 'numeric',
'sentAs' => 'bytesConverted',
),
'AvailabilityZone' => array(
'type' => 'string',
'sentAs' => 'availabilityZone',
),
'Image' => array(
'type' => 'object',
'sentAs' => 'image',
'properties' => array(
'Format' => array(
'type' => 'string',
'sentAs' => 'format',
),
'Size' => array(
'type' => 'numeric',
'sentAs' => 'size',
),
'ImportManifestUrl' => array(
'type' => 'string',
'sentAs' => 'importManifestUrl',
),
'Checksum' => array(
'type' => 'string',
'sentAs' => 'checksum',
),
),
),
'Volume' => array(
'type' => 'object',
'sentAs' => 'volume',
'properties' => array(
'Size' => array(
'type' => 'numeric',
'sentAs' => 'size',
),
'Id' => array(
'type' => 'string',
'sentAs' => 'id',
),
),
),
'Status' => array(
'type' => 'string',
'sentAs' => 'status',
),
'StatusMessage' => array(
'type' => 'string',
'sentAs' => 'statusMessage',
),
'Description' => array(
'type' => 'string',
'sentAs' => 'description',
),
),
),
),
'InstanceId' => array(
'type' => 'string',
'sentAs' => 'instanceId',
),
'Platform' => array(
'type' => 'string',
'sentAs' => 'platform',
),
'Description' => array(
'type' => 'string',
'sentAs' => 'description',
),
),
),
'ImportVolume' => array(
'type' => 'object',
'sentAs' => 'importVolume',
'properties' => array(
'BytesConverted' => array(
'type' => 'numeric',
'sentAs' => 'bytesConverted',
),
'AvailabilityZone' => array(
'type' => 'string',
'sentAs' => 'availabilityZone',
),
'Description' => array(
'type' => 'string',
'sentAs' => 'description',
),
'Image' => array(
'type' => 'object',
'sentAs' => 'image',
'properties' => array(
'Format' => array(
'type' => 'string',
'sentAs' => 'format',
),
'Size' => array(
'type' => 'numeric',
'sentAs' => 'size',
),
'ImportManifestUrl' => array(
'type' => 'string',
'sentAs' => 'importManifestUrl',
),
'Checksum' => array(
'type' => 'string',
'sentAs' => 'checksum',
),
),
),
'Volume' => array(
'type' => 'object',
'sentAs' => 'volume',
'properties' => array(
'Size' => array(
'type' => 'numeric',
'sentAs' => 'size',
),
'Id' => array(
'type' => 'string',
'sentAs' => 'id',
),
),
),
),
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
'StatusMessage' => array(
'type' => 'string',
'sentAs' => 'statusMessage',
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
),
),
),
),
'ImportKeyPairResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'KeyName' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'keyName',
),
'KeyFingerprint' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'keyFingerprint',
),
),
),
'ImportVolumeResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ConversionTask' => array(
'type' => 'object',
'location' => 'xml',
'sentAs' => 'conversionTask',
'properties' => array(
'ConversionTaskId' => array(
'type' => 'string',
'sentAs' => 'conversionTaskId',
),
'ExpirationTime' => array(
'type' => 'string',
'sentAs' => 'expirationTime',
),
'ImportInstance' => array(
'type' => 'object',
'sentAs' => 'importInstance',
'properties' => array(
'Volumes' => array(
'type' => 'array',
'sentAs' => 'volumes',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'BytesConverted' => array(
'type' => 'numeric',
'sentAs' => 'bytesConverted',
),
'AvailabilityZone' => array(
'type' => 'string',
'sentAs' => 'availabilityZone',
),
'Image' => array(
'type' => 'object',
'sentAs' => 'image',
'properties' => array(
'Format' => array(
'type' => 'string',
'sentAs' => 'format',
),
'Size' => array(
'type' => 'numeric',
'sentAs' => 'size',
),
'ImportManifestUrl' => array(
'type' => 'string',
'sentAs' => 'importManifestUrl',
),
'Checksum' => array(
'type' => 'string',
'sentAs' => 'checksum',
),
),
),
'Volume' => array(
'type' => 'object',
'sentAs' => 'volume',
'properties' => array(
'Size' => array(
'type' => 'numeric',
'sentAs' => 'size',
),
'Id' => array(
'type' => 'string',
'sentAs' => 'id',
),
),
),
'Status' => array(
'type' => 'string',
'sentAs' => 'status',
),
'StatusMessage' => array(
'type' => 'string',
'sentAs' => 'statusMessage',
),
'Description' => array(
'type' => 'string',
'sentAs' => 'description',
),
),
),
),
'InstanceId' => array(
'type' => 'string',
'sentAs' => 'instanceId',
),
'Platform' => array(
'type' => 'string',
'sentAs' => 'platform',
),
'Description' => array(
'type' => 'string',
'sentAs' => 'description',
),
),
),
'ImportVolume' => array(
'type' => 'object',
'sentAs' => 'importVolume',
'properties' => array(
'BytesConverted' => array(
'type' => 'numeric',
'sentAs' => 'bytesConverted',
),
'AvailabilityZone' => array(
'type' => 'string',
'sentAs' => 'availabilityZone',
),
'Description' => array(
'type' => 'string',
'sentAs' => 'description',
),
'Image' => array(
'type' => 'object',
'sentAs' => 'image',
'properties' => array(
'Format' => array(
'type' => 'string',
'sentAs' => 'format',
),
'Size' => array(
'type' => 'numeric',
'sentAs' => 'size',
),
'ImportManifestUrl' => array(
'type' => 'string',
'sentAs' => 'importManifestUrl',
),
'Checksum' => array(
'type' => 'string',
'sentAs' => 'checksum',
),
),
),
'Volume' => array(
'type' => 'object',
'sentAs' => 'volume',
'properties' => array(
'Size' => array(
'type' => 'numeric',
'sentAs' => 'size',
),
'Id' => array(
'type' => 'string',
'sentAs' => 'id',
),
),
),
),
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
'StatusMessage' => array(
'type' => 'string',
'sentAs' => 'statusMessage',
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
),
),
),
),
'ModifyReservedInstancesResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ReservedInstancesModificationId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'reservedInstancesModificationId',
),
),
),
'MonitorInstancesResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'InstanceMonitorings' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'instancesSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'InstanceId' => array(
'type' => 'string',
'sentAs' => 'instanceId',
),
'Monitoring' => array(
'type' => 'object',
'sentAs' => 'monitoring',
'properties' => array(
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
),
),
),
),
),
),
),
'PurchaseReservedInstancesOfferingResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ReservedInstancesId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'reservedInstancesId',
),
),
),
'RegisterImageResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ImageId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'imageId',
),
),
),
'ReplaceNetworkAclAssociationResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'NewAssociationId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'newAssociationId',
),
),
),
'ReplaceRouteTableAssociationResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'NewAssociationId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'newAssociationId',
),
),
),
'RequestSpotInstancesResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'SpotInstanceRequests' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'spotInstanceRequestSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'SpotInstanceRequestId' => array(
'type' => 'string',
'sentAs' => 'spotInstanceRequestId',
),
'SpotPrice' => array(
'type' => 'string',
'sentAs' => 'spotPrice',
),
'Type' => array(
'type' => 'string',
'sentAs' => 'type',
),
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
'Fault' => array(
'type' => 'object',
'sentAs' => 'fault',
'properties' => array(
'Code' => array(
'type' => 'string',
'sentAs' => 'code',
),
'Message' => array(
'type' => 'string',
'sentAs' => 'message',
),
),
),
'Status' => array(
'type' => 'object',
'sentAs' => 'status',
'properties' => array(
'Code' => array(
'type' => 'string',
'sentAs' => 'code',
),
'UpdateTime' => array(
'type' => 'string',
'sentAs' => 'updateTime',
),
'Message' => array(
'type' => 'string',
'sentAs' => 'message',
),
),
),
'ValidFrom' => array(
'type' => 'string',
'sentAs' => 'validFrom',
),
'ValidUntil' => array(
'type' => 'string',
'sentAs' => 'validUntil',
),
'LaunchGroup' => array(
'type' => 'string',
'sentAs' => 'launchGroup',
),
'AvailabilityZoneGroup' => array(
'type' => 'string',
'sentAs' => 'availabilityZoneGroup',
),
'LaunchSpecification' => array(
'type' => 'object',
'sentAs' => 'launchSpecification',
'properties' => array(
'ImageId' => array(
'type' => 'string',
'sentAs' => 'imageId',
),
'KeyName' => array(
'type' => 'string',
'sentAs' => 'keyName',
),
'SecurityGroups' => array(
'type' => 'array',
'sentAs' => 'groupSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'GroupName' => array(
'type' => 'string',
'sentAs' => 'groupName',
),
'GroupId' => array(
'type' => 'string',
'sentAs' => 'groupId',
),
),
),
),
'UserData' => array(
'type' => 'string',
'sentAs' => 'userData',
),
'AddressingType' => array(
'type' => 'string',
'sentAs' => 'addressingType',
),
'InstanceType' => array(
'type' => 'string',
'sentAs' => 'instanceType',
),
'Placement' => array(
'type' => 'object',
'sentAs' => 'placement',
'properties' => array(
'AvailabilityZone' => array(
'type' => 'string',
'sentAs' => 'availabilityZone',
),
'GroupName' => array(
'type' => 'string',
'sentAs' => 'groupName',
),
),
),
'KernelId' => array(
'type' => 'string',
'sentAs' => 'kernelId',
),
'RamdiskId' => array(
'type' => 'string',
'sentAs' => 'ramdiskId',
),
'BlockDeviceMappings' => array(
'type' => 'array',
'sentAs' => 'blockDeviceMapping',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'VirtualName' => array(
'type' => 'string',
'sentAs' => 'virtualName',
),
'DeviceName' => array(
'type' => 'string',
'sentAs' => 'deviceName',
),
'Ebs' => array(
'type' => 'object',
'sentAs' => 'ebs',
'properties' => array(
'SnapshotId' => array(
'type' => 'string',
'sentAs' => 'snapshotId',
),
'VolumeSize' => array(
'type' => 'numeric',
'sentAs' => 'volumeSize',
),
'DeleteOnTermination' => array(
'type' => 'boolean',
'sentAs' => 'deleteOnTermination',
),
'VolumeType' => array(
'type' => 'string',
'sentAs' => 'volumeType',
),
'Iops' => array(
'type' => 'numeric',
'sentAs' => 'iops',
),
),
),
'NoDevice' => array(
'type' => 'string',
'sentAs' => 'noDevice',
),
),
),
),
'MonitoringEnabled' => array(
'type' => 'boolean',
'sentAs' => 'monitoringEnabled',
),
'SubnetId' => array(
'type' => 'string',
'sentAs' => 'subnetId',
),
'NetworkInterfaces' => array(
'type' => 'array',
'sentAs' => 'networkInterfaceSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'NetworkInterfaceId' => array(
'type' => 'string',
'sentAs' => 'networkInterfaceId',
),
'DeviceIndex' => array(
'type' => 'numeric',
'sentAs' => 'deviceIndex',
),
'SubnetId' => array(
'type' => 'string',
'sentAs' => 'subnetId',
),
'Description' => array(
'type' => 'string',
'sentAs' => 'description',
),
'PrivateIpAddress' => array(
'type' => 'string',
'sentAs' => 'privateIpAddress',
),
'Groups' => array(
'type' => 'array',
'sentAs' => 'SecurityGroupId',
'items' => array(
'name' => 'SecurityGroupId',
'type' => 'string',
'sentAs' => 'SecurityGroupId',
),
),
'DeleteOnTermination' => array(
'type' => 'boolean',
'sentAs' => 'deleteOnTermination',
),
'PrivateIpAddresses' => array(
'type' => 'array',
'sentAs' => 'privateIpAddressesSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'PrivateIpAddress' => array(
'type' => 'string',
'sentAs' => 'privateIpAddress',
),
'Primary' => array(
'type' => 'boolean',
'sentAs' => 'primary',
),
),
),
),
'SecondaryPrivateIpAddressCount' => array(
'type' => 'numeric',
'sentAs' => 'secondaryPrivateIpAddressCount',
),
'AssociatePublicIpAddress' => array(
'type' => 'boolean',
'sentAs' => 'associatePublicIpAddress',
),
),
),
),
'IamInstanceProfile' => array(
'type' => 'object',
'sentAs' => 'iamInstanceProfile',
'properties' => array(
'Arn' => array(
'type' => 'string',
'sentAs' => 'arn',
),
'Name' => array(
'type' => 'string',
'sentAs' => 'name',
),
),
),
'EbsOptimized' => array(
'type' => 'boolean',
'sentAs' => 'ebsOptimized',
),
),
),
'InstanceId' => array(
'type' => 'string',
'sentAs' => 'instanceId',
),
'CreateTime' => array(
'type' => 'string',
'sentAs' => 'createTime',
),
'ProductDescription' => array(
'type' => 'string',
'sentAs' => 'productDescription',
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
'LaunchedAvailabilityZone' => array(
'type' => 'string',
'sentAs' => 'launchedAvailabilityZone',
),
),
),
),
),
),
'reservation' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ReservationId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'reservationId',
),
'OwnerId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'ownerId',
),
'RequesterId' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'requesterId',
),
'Groups' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'groupSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'GroupName' => array(
'type' => 'string',
'sentAs' => 'groupName',
),
'GroupId' => array(
'type' => 'string',
'sentAs' => 'groupId',
),
),
),
),
'Instances' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'instancesSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'InstanceId' => array(
'type' => 'string',
'sentAs' => 'instanceId',
),
'ImageId' => array(
'type' => 'string',
'sentAs' => 'imageId',
),
'State' => array(
'type' => 'object',
'sentAs' => 'instanceState',
'properties' => array(
'Code' => array(
'type' => 'numeric',
'sentAs' => 'code',
),
'Name' => array(
'type' => 'string',
'sentAs' => 'name',
),
),
),
'PrivateDnsName' => array(
'type' => 'string',
'sentAs' => 'privateDnsName',
),
'PublicDnsName' => array(
'type' => 'string',
'sentAs' => 'dnsName',
),
'StateTransitionReason' => array(
'type' => 'string',
'sentAs' => 'reason',
),
'KeyName' => array(
'type' => 'string',
'sentAs' => 'keyName',
),
'AmiLaunchIndex' => array(
'type' => 'numeric',
'sentAs' => 'amiLaunchIndex',
),
'ProductCodes' => array(
'type' => 'array',
'sentAs' => 'productCodes',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'ProductCodeId' => array(
'type' => 'string',
'sentAs' => 'productCode',
),
'ProductCodeType' => array(
'type' => 'string',
'sentAs' => 'type',
),
),
),
),
'InstanceType' => array(
'type' => 'string',
'sentAs' => 'instanceType',
),
'LaunchTime' => array(
'type' => 'string',
'sentAs' => 'launchTime',
),
'Placement' => array(
'type' => 'object',
'sentAs' => 'placement',
'properties' => array(
'AvailabilityZone' => array(
'type' => 'string',
'sentAs' => 'availabilityZone',
),
'GroupName' => array(
'type' => 'string',
'sentAs' => 'groupName',
),
'Tenancy' => array(
'type' => 'string',
'sentAs' => 'tenancy',
),
),
),
'KernelId' => array(
'type' => 'string',
'sentAs' => 'kernelId',
),
'RamdiskId' => array(
'type' => 'string',
'sentAs' => 'ramdiskId',
),
'Platform' => array(
'type' => 'string',
'sentAs' => 'platform',
),
'Monitoring' => array(
'type' => 'object',
'sentAs' => 'monitoring',
'properties' => array(
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
),
),
'SubnetId' => array(
'type' => 'string',
'sentAs' => 'subnetId',
),
'VpcId' => array(
'type' => 'string',
'sentAs' => 'vpcId',
),
'PrivateIpAddress' => array(
'type' => 'string',
'sentAs' => 'privateIpAddress',
),
'PublicIpAddress' => array(
'type' => 'string',
'sentAs' => 'ipAddress',
),
'StateReason' => array(
'type' => 'object',
'sentAs' => 'stateReason',
'properties' => array(
'Code' => array(
'type' => 'string',
'sentAs' => 'code',
),
'Message' => array(
'type' => 'string',
'sentAs' => 'message',
),
),
),
'Architecture' => array(
'type' => 'string',
'sentAs' => 'architecture',
),
'RootDeviceType' => array(
'type' => 'string',
'sentAs' => 'rootDeviceType',
),
'RootDeviceName' => array(
'type' => 'string',
'sentAs' => 'rootDeviceName',
),
'BlockDeviceMappings' => array(
'type' => 'array',
'sentAs' => 'blockDeviceMapping',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'DeviceName' => array(
'type' => 'string',
'sentAs' => 'deviceName',
),
'Ebs' => array(
'type' => 'object',
'sentAs' => 'ebs',
'properties' => array(
'VolumeId' => array(
'type' => 'string',
'sentAs' => 'volumeId',
),
'Status' => array(
'type' => 'string',
'sentAs' => 'status',
),
'AttachTime' => array(
'type' => 'string',
'sentAs' => 'attachTime',
),
'DeleteOnTermination' => array(
'type' => 'boolean',
'sentAs' => 'deleteOnTermination',
),
),
),
),
),
),
'VirtualizationType' => array(
'type' => 'string',
'sentAs' => 'virtualizationType',
),
'InstanceLifecycle' => array(
'type' => 'string',
'sentAs' => 'instanceLifecycle',
),
'SpotInstanceRequestId' => array(
'type' => 'string',
'sentAs' => 'spotInstanceRequestId',
),
'License' => array(
'type' => 'object',
'sentAs' => 'license',
'properties' => array(
'Pool' => array(
'type' => 'string',
'sentAs' => 'pool',
),
),
),
'ClientToken' => array(
'type' => 'string',
'sentAs' => 'clientToken',
),
'Tags' => array(
'type' => 'array',
'sentAs' => 'tagSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'Key' => array(
'type' => 'string',
'sentAs' => 'key',
),
'Value' => array(
'type' => 'string',
'sentAs' => 'value',
),
),
),
),
'SecurityGroups' => array(
'type' => 'array',
'sentAs' => 'groupSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'GroupName' => array(
'type' => 'string',
'sentAs' => 'groupName',
),
'GroupId' => array(
'type' => 'string',
'sentAs' => 'groupId',
),
),
),
),
'SourceDestCheck' => array(
'type' => 'boolean',
'sentAs' => 'sourceDestCheck',
),
'Hypervisor' => array(
'type' => 'string',
'sentAs' => 'hypervisor',
),
'NetworkInterfaces' => array(
'type' => 'array',
'sentAs' => 'networkInterfaceSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'NetworkInterfaceId' => array(
'type' => 'string',
'sentAs' => 'networkInterfaceId',
),
'SubnetId' => array(
'type' => 'string',
'sentAs' => 'subnetId',
),
'VpcId' => array(
'type' => 'string',
'sentAs' => 'vpcId',
),
'Description' => array(
'type' => 'string',
'sentAs' => 'description',
),
'OwnerId' => array(
'type' => 'string',
'sentAs' => 'ownerId',
),
'Status' => array(
'type' => 'string',
'sentAs' => 'status',
),
'PrivateIpAddress' => array(
'type' => 'string',
'sentAs' => 'privateIpAddress',
),
'PrivateDnsName' => array(
'type' => 'string',
'sentAs' => 'privateDnsName',
),
'SourceDestCheck' => array(
'type' => 'boolean',
'sentAs' => 'sourceDestCheck',
),
'Groups' => array(
'type' => 'array',
'sentAs' => 'groupSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'GroupName' => array(
'type' => 'string',
'sentAs' => 'groupName',
),
'GroupId' => array(
'type' => 'string',
'sentAs' => 'groupId',
),
),
),
),
'Attachment' => array(
'type' => 'object',
'sentAs' => 'attachment',
'properties' => array(
'AttachmentId' => array(
'type' => 'string',
'sentAs' => 'attachmentId',
),
'DeviceIndex' => array(
'type' => 'numeric',
'sentAs' => 'deviceIndex',
),
'Status' => array(
'type' => 'string',
'sentAs' => 'status',
),
'AttachTime' => array(
'type' => 'string',
'sentAs' => 'attachTime',
),
'DeleteOnTermination' => array(
'type' => 'boolean',
'sentAs' => 'deleteOnTermination',
),
),
),
'Association' => array(
'type' => 'object',
'sentAs' => 'association',
'properties' => array(
'PublicIp' => array(
'type' => 'string',
'sentAs' => 'publicIp',
),
'PublicDnsName' => array(
'type' => 'string',
'sentAs' => 'publicDnsName',
),
'IpOwnerId' => array(
'type' => 'string',
'sentAs' => 'ipOwnerId',
),
),
),
'PrivateIpAddresses' => array(
'type' => 'array',
'sentAs' => 'privateIpAddressesSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'PrivateIpAddress' => array(
'type' => 'string',
'sentAs' => 'privateIpAddress',
),
'PrivateDnsName' => array(
'type' => 'string',
'sentAs' => 'privateDnsName',
),
'Primary' => array(
'type' => 'boolean',
'sentAs' => 'primary',
),
'Association' => array(
'type' => 'object',
'sentAs' => 'association',
'properties' => array(
'PublicIp' => array(
'type' => 'string',
'sentAs' => 'publicIp',
),
'PublicDnsName' => array(
'type' => 'string',
'sentAs' => 'publicDnsName',
),
'IpOwnerId' => array(
'type' => 'string',
'sentAs' => 'ipOwnerId',
),
),
),
),
),
),
),
),
),
'IamInstanceProfile' => array(
'type' => 'object',
'sentAs' => 'iamInstanceProfile',
'properties' => array(
'Arn' => array(
'type' => 'string',
'sentAs' => 'arn',
),
'Id' => array(
'type' => 'string',
'sentAs' => 'id',
),
),
),
'EbsOptimized' => array(
'type' => 'boolean',
'sentAs' => 'ebsOptimized',
),
'SriovNetSupport' => array(
'type' => 'string',
'sentAs' => 'sriovNetSupport',
),
),
),
),
),
),
'StartInstancesResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'StartingInstances' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'instancesSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'InstanceId' => array(
'type' => 'string',
'sentAs' => 'instanceId',
),
'CurrentState' => array(
'type' => 'object',
'sentAs' => 'currentState',
'properties' => array(
'Code' => array(
'type' => 'numeric',
'sentAs' => 'code',
),
'Name' => array(
'type' => 'string',
'sentAs' => 'name',
),
),
),
'PreviousState' => array(
'type' => 'object',
'sentAs' => 'previousState',
'properties' => array(
'Code' => array(
'type' => 'numeric',
'sentAs' => 'code',
),
'Name' => array(
'type' => 'string',
'sentAs' => 'name',
),
),
),
),
),
),
),
),
'StopInstancesResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'StoppingInstances' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'instancesSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'InstanceId' => array(
'type' => 'string',
'sentAs' => 'instanceId',
),
'CurrentState' => array(
'type' => 'object',
'sentAs' => 'currentState',
'properties' => array(
'Code' => array(
'type' => 'numeric',
'sentAs' => 'code',
),
'Name' => array(
'type' => 'string',
'sentAs' => 'name',
),
),
),
'PreviousState' => array(
'type' => 'object',
'sentAs' => 'previousState',
'properties' => array(
'Code' => array(
'type' => 'numeric',
'sentAs' => 'code',
),
'Name' => array(
'type' => 'string',
'sentAs' => 'name',
),
),
),
),
),
),
),
),
'TerminateInstancesResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'TerminatingInstances' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'instancesSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'InstanceId' => array(
'type' => 'string',
'sentAs' => 'instanceId',
),
'CurrentState' => array(
'type' => 'object',
'sentAs' => 'currentState',
'properties' => array(
'Code' => array(
'type' => 'numeric',
'sentAs' => 'code',
),
'Name' => array(
'type' => 'string',
'sentAs' => 'name',
),
),
),
'PreviousState' => array(
'type' => 'object',
'sentAs' => 'previousState',
'properties' => array(
'Code' => array(
'type' => 'numeric',
'sentAs' => 'code',
),
'Name' => array(
'type' => 'string',
'sentAs' => 'name',
),
),
),
),
),
),
),
),
'UnmonitorInstancesResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'InstanceMonitorings' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'instancesSet',
'items' => array(
'name' => 'item',
'type' => 'object',
'sentAs' => 'item',
'properties' => array(
'InstanceId' => array(
'type' => 'string',
'sentAs' => 'instanceId',
),
'Monitoring' => array(
'type' => 'object',
'sentAs' => 'monitoring',
'properties' => array(
'State' => array(
'type' => 'string',
'sentAs' => 'state',
),
),
),
),
),
),
),
),
),
'iterators' => array(
'operations' => array(
'DescribeAccountAttributes' => array(
'result_key' => 'AccountAttributes',
),
'DescribeAddresses' => array(
'result_key' => 'Addresses',
),
'DescribeAvailabilityZones' => array(
'result_key' => 'AvailabilityZones',
),
'DescribeBundleTasks' => array(
'result_key' => 'BundleTasks',
),
'DescribeConversionTasks' => array(
'result_key' => 'ConversionTasks',
),
'DescribeCustomerGateways' => array(
'result_key' => 'CustomerGateways',
),
'DescribeDhcpOptions' => array(
'result_key' => 'DhcpOptions',
),
'DescribeExportTasks' => array(
'result_key' => 'ExportTasks',
),
'DescribeImages' => array(
'result_key' => 'Images',
),
'DescribeInstanceStatus' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'limit_key' => 'MaxResults',
'result_key' => 'InstanceStatuses',
),
'DescribeInstances' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'limit_key' => 'MaxResults',
'result_key' => 'Reservations',
),
'DescribeInternetGateways' => array(
'result_key' => 'InternetGateways',
),
'DescribeKeyPairs' => array(
'result_key' => 'KeyPairs',
),
'DescribeLicenses' => array(
'result_key' => 'Licenses',
),
'DescribeNetworkAcls' => array(
'result_key' => 'NetworkAcls',
),
'DescribeNetworkInterfaces' => array(
'result_key' => 'NetworkInterfaces',
),
'DescribePlacementGroups' => array(
'result_key' => 'PlacementGroups',
),
'DescribeRegions' => array(
'result_key' => 'Regions',
),
'DescribeReservedInstances' => array(
'result_key' => 'ReservedInstances',
),
'DescribeReservedInstancesListings' => array(
'result_key' => 'ReservedInstancesListings',
),
'DescribeReservedInstancesModifications' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'result_key' => 'ReservedInstancesModifications',
),
'DescribeReservedInstancesOfferings' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'limit_key' => 'MaxResults',
'result_key' => 'ReservedInstancesOfferings',
),
'DescribeRouteTables' => array(
'result_key' => 'RouteTables',
),
'DescribeSecurityGroups' => array(
'result_key' => 'SecurityGroups',
),
'DescribeSnapshots' => array(
'result_key' => 'Snapshots',
),
'DescribeSpotInstanceRequests' => array(
'result_key' => 'SpotInstanceRequests',
),
'DescribeSpotPriceHistory' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'limit_key' => 'MaxResults',
'result_key' => 'SpotPriceHistory',
),
'DescribeSubnets' => array(
'result_key' => 'Subnets',
),
'DescribeTags' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'limit_key' => 'MaxResults',
'result_key' => 'Tags',
),
'DescribeVolumeStatus' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'limit_key' => 'MaxResults',
'result_key' => 'VolumeStatuses',
),
'DescribeVolumes' => array(
'result_key' => 'Volumes',
),
'DescribeVpcs' => array(
'result_key' => 'Vpcs',
),
'DescribeVpnConnections' => array(
'result_key' => 'VpnConnections',
),
'DescribeVpnGateways' => array(
'result_key' => 'VpnGateways',
),
),
),
'waiters' => array(
'__default__' => array(
'interval' => 15,
'max_attempts' => 40,
'acceptor.type' => 'output',
),
'__InstanceState' => array(
'operation' => 'DescribeInstances',
'acceptor.path' => 'Reservations/*/Instances/*/State/Name',
),
'InstanceRunning' => array(
'extends' => '__InstanceState',
'success.value' => 'running',
'failure.value' => array(
'shutting-down',
'terminated',
'stopping',
),
),
'InstanceStopped' => array(
'extends' => '__InstanceState',
'success.value' => 'stopped',
'failure.value' => array(
'pending',
'terminated',
),
),
'InstanceTerminated' => array(
'extends' => '__InstanceState',
'success.value' => 'terminated',
'failure.value' => array(
'pending',
'stopping',
),
),
'__ExportTaskState' => array(
'operation' => 'DescribeExportTasks',
'acceptor.path' => 'ExportTasks/*/State',
),
'ExportTaskCompleted' => array(
'extends' => '__ExportTaskState',
'success.value' => 'completed',
),
'ExportTaskCancelled' => array(
'extends' => '__ExportTaskState',
'success.value' => 'cancelled',
),
'SnapshotCompleted' => array(
'operation' => 'DescribeSnapshots',
'success.path' => 'Snapshots/*/State',
'success.value' => 'completed',
),
'SubnetAvailable' => array(
'operation' => 'DescribeSubnets',
'success.path' => 'Subnets/*/State',
'success.value' => 'available',
),
'__VolumeStatus' => array(
'operation' => 'DescribeVolumes',
'acceptor.key' => 'VolumeStatuses/*/VolumeStatus/Status',
),
'VolumeAvailable' => array(
'extends' => '__VolumeStatus',
'success.value' => 'available',
'failure.value' => array(
'deleted',
),
),
'VolumeInUse' => array(
'extends' => '__VolumeStatus',
'success.value' => 'in-use',
'failure.value' => array(
'deleted',
),
),
'VolumeDeleted' => array(
'extends' => '__VolumeStatus',
'success.value' => 'deleted',
),
'VpcAvailable' => array(
'operation' => 'DescribeVpcs',
'success.path' => 'Vpcs/*/State',
'success.value' => 'available',
),
'__VpnConnectionState' => array(
'operation' => 'DescribeVpnConnections',
'acceptor.path' => 'VpnConnections/*/State',
),
'VpnConnectionAvailable' => array(
'extends' => '__VpnConnectionState',
'success.value' => 'available',
'failure.value' => array(
'deleting',
'deleted',
),
),
'VpnConnectionDeleted' => array(
'extends' => '__VpnConnectionState',
'success.value' => 'deleted',
'failure.value' => array(
'pending',
),
),
'BundleTaskComplete' => array(
'operation' => 'DescribeBundleTasks',
'acceptor.path' => 'BundleTasks/*/State',
'success.value' => 'complete',
'failure.value' => array(
'failed',
),
),
'__ConversionTaskState' => array(
'operation' => 'DescribeConversionTasks',
'acceptor.path' => 'ConversionTasks/*/State',
),
'ConversionTaskCompleted' => array(
'extends' => '__ConversionTaskState',
'success.value' => 'completed',
'failure.value' => array(
'cancelled',
'cancelling',
),
),
'ConversionTaskCancelled' => array(
'extends' => '__ConversionTaskState',
'success.value' => 'cancelled',
),
'__CustomerGatewayState' => array(
'operation' => 'DescribeCustomerGateways',
'acceptor.path' => 'CustomerGateways/*/State',
),
'CustomerGatewayAvailable' => array(
'extends' => '__CustomerGatewayState',
'success.value' => 'available',
'failure.value' => array(
'deleted',
'deleting',
),
),
'ConversionTaskDeleted' => array(
'extends' => '__CustomerGatewayState',
'success.value' => 'deleted',
),
),
);
sdk-2.5.2/Aws/ElastiCache/ElastiCacheClient.php 0000644 115327001610067500000016175 12272324172 016334 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/elasticache-%s.php'
))
->build();
}
}
sdk-2.5.2/Aws/ElastiCache/Enum/SourceType.php 0000644 115327001610067500000001656 12272324172 016034 0 ustar '2013-06-15',
'endpointPrefix' => 'elasticache',
'serviceFullName' => 'Amazon ElastiCache',
'serviceType' => 'query',
'resultWrapped' => true,
'signatureVersion' => 'v4',
'namespace' => 'ElastiCache',
'regions' => array(
'us-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'elasticache.us-east-1.amazonaws.com',
),
'us-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'elasticache.us-west-1.amazonaws.com',
),
'us-west-2' => array(
'http' => false,
'https' => true,
'hostname' => 'elasticache.us-west-2.amazonaws.com',
),
'eu-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'elasticache.eu-west-1.amazonaws.com',
),
'ap-northeast-1' => array(
'http' => false,
'https' => true,
'hostname' => 'elasticache.ap-northeast-1.amazonaws.com',
),
'ap-southeast-1' => array(
'http' => false,
'https' => true,
'hostname' => 'elasticache.ap-southeast-1.amazonaws.com',
),
'ap-southeast-2' => array(
'http' => false,
'https' => true,
'hostname' => 'elasticache.ap-southeast-2.amazonaws.com',
),
'cn-north-1' => array(
'http' => false,
'https' => true,
'hostname' => 'elasticache.cn-north-1.amazonaws.com.cn',
),
'sa-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'elasticache.sa-east-1.amazonaws.com',
),
),
'operations' => array(
'AuthorizeCacheSecurityGroupIngress' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CacheSecurityGroupWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'AuthorizeCacheSecurityGroupIngress',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'CacheSecurityGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'EC2SecurityGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'EC2SecurityGroupOwnerId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The requested cache security group name does not refer to an existing cache security group.',
'class' => 'CacheSecurityGroupNotFoundException',
),
array(
'reason' => 'The current state of the cache security group does not allow deletion.',
'class' => 'InvalidCacheSecurityGroupStateException',
),
array(
'reason' => 'The specified Amazon EC2 security group is already authorized for the specified cache security group.',
'class' => 'AuthorizationAlreadyExistsException',
),
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Two or more incompatible parameters were specified.',
'class' => 'InvalidParameterCombinationException',
),
),
),
'CreateCacheCluster' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CacheClusterWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateCacheCluster',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'CacheClusterId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'ReplicationGroupId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'NumCacheNodes' => array(
'required' => true,
'type' => 'numeric',
'location' => 'aws.query',
),
'CacheNodeType' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Engine' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'EngineVersion' => array(
'type' => 'string',
'location' => 'aws.query',
),
'CacheParameterGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'CacheSubnetGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'CacheSecurityGroupNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'CacheSecurityGroupNames.member',
'items' => array(
'name' => 'CacheSecurityGroupName',
'type' => 'string',
),
),
'SecurityGroupIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'SecurityGroupIds.member',
'items' => array(
'name' => 'SecurityGroupId',
'type' => 'string',
),
),
'SnapshotArns' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'SnapshotArns.member',
'items' => array(
'name' => 'SnapshotArn',
'type' => 'string',
),
),
'PreferredAvailabilityZone' => array(
'type' => 'string',
'location' => 'aws.query',
),
'PreferredMaintenanceWindow' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Port' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'NotificationTopicArn' => array(
'type' => 'string',
'location' => 'aws.query',
),
'AutoMinorVersionUpgrade' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified replication group does not exist.',
'class' => 'ReplicationGroupNotFoundException',
),
array(
'reason' => 'The requested replication group is not in the available state.',
'class' => 'InvalidReplicationGroupStateException',
),
array(
'reason' => 'This user already has a cache cluster with the given identifier.',
'class' => 'CacheClusterAlreadyExistsException',
),
array(
'reason' => 'The requested cache node type is not available in the specified Availability Zone.',
'class' => 'InsufficientCacheClusterCapacityException',
),
array(
'reason' => 'The requested cache security group name does not refer to an existing cache security group.',
'class' => 'CacheSecurityGroupNotFoundException',
),
array(
'reason' => 'The requested cache subnet group name does not refer to an existing cache subnet group.',
'class' => 'CacheSubnetGroupNotFoundException',
),
array(
'reason' => 'The request cannot be processed because it would exceed the allowed number of cache clusters per customer.',
'class' => 'ClusterQuotaForCustomerExceededException',
),
array(
'reason' => 'The request cannot be processed because it would exceed the allowed number of cache nodes in a single cache cluster.',
'class' => 'NodeQuotaForClusterExceededException',
),
array(
'reason' => 'The request cannot be processed because it would exceed the allowed number of cache nodes per customer.',
'class' => 'NodeQuotaForCustomerExceededException',
),
array(
'reason' => 'The requested cache parameter group name does not refer to an existing cache parameter group.',
'class' => 'CacheParameterGroupNotFoundException',
),
array(
'reason' => 'The VPC network is in an invalid state.',
'class' => 'InvalidVPCNetworkStateException',
),
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Two or more incompatible parameters were specified.',
'class' => 'InvalidParameterCombinationException',
),
),
),
'CreateCacheParameterGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CacheParameterGroupWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateCacheParameterGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'CacheParameterGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'CacheParameterGroupFamily' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Description' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The request cannot be processed because it would exceed the maximum number of cache security groups.',
'class' => 'CacheParameterGroupQuotaExceededException',
),
array(
'reason' => 'A cache parameter group with the requested name already exists.',
'class' => 'CacheParameterGroupAlreadyExistsException',
),
array(
'reason' => 'The current state of the cache parameter group does not allow the requested action to occur.',
'class' => 'InvalidCacheParameterGroupStateException',
),
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Two or more incompatible parameters were specified.',
'class' => 'InvalidParameterCombinationException',
),
),
),
'CreateCacheSecurityGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CacheSecurityGroupWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateCacheSecurityGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'CacheSecurityGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Description' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'A cache security group with the specified name already exists.',
'class' => 'CacheSecurityGroupAlreadyExistsException',
),
array(
'reason' => 'The request cannot be processed because it would exceed the allowed number of cache security groups.',
'class' => 'CacheSecurityGroupQuotaExceededException',
),
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Two or more incompatible parameters were specified.',
'class' => 'InvalidParameterCombinationException',
),
),
),
'CreateCacheSubnetGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CacheSubnetGroupWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateCacheSubnetGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'CacheSubnetGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'CacheSubnetGroupDescription' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'SubnetIds' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'SubnetIds.member',
'items' => array(
'name' => 'SubnetIdentifier',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'The requested cache subnet group name is already in use by an existing cache subnet group.',
'class' => 'CacheSubnetGroupAlreadyExistsException',
),
array(
'reason' => 'The request cannot be processed because it would exceed the allowed number of cache subnet groups.',
'class' => 'CacheSubnetGroupQuotaExceededException',
),
array(
'reason' => 'The request cannot be processed because it would exceed the allowed number of subnets in a cache subnet group.',
'class' => 'CacheSubnetQuotaExceededException',
),
array(
'reason' => 'An invalid subnet identifier was specified.',
'class' => 'InvalidSubnetException',
),
),
),
'CreateReplicationGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ReplicationGroupWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateReplicationGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'ReplicationGroupId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'PrimaryClusterId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'ReplicationGroupDescription' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The requested cache cluster ID does not refer to an existing cache cluster.',
'class' => 'CacheClusterNotFoundException',
),
array(
'reason' => 'The requested cache cluster is not in the available state.',
'class' => 'InvalidCacheClusterStateException',
),
array(
'reason' => 'The specified replication group already exists.',
'class' => 'ReplicationGroupAlreadyExistsException',
),
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Two or more incompatible parameters were specified.',
'class' => 'InvalidParameterCombinationException',
),
),
),
'DeleteCacheCluster' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CacheClusterWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteCacheCluster',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'CacheClusterId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The requested cache cluster ID does not refer to an existing cache cluster.',
'class' => 'CacheClusterNotFoundException',
),
array(
'reason' => 'The requested cache cluster is not in the available state.',
'class' => 'InvalidCacheClusterStateException',
),
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Two or more incompatible parameters were specified.',
'class' => 'InvalidParameterCombinationException',
),
),
),
'DeleteCacheParameterGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteCacheParameterGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'CacheParameterGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The current state of the cache parameter group does not allow the requested action to occur.',
'class' => 'InvalidCacheParameterGroupStateException',
),
array(
'reason' => 'The requested cache parameter group name does not refer to an existing cache parameter group.',
'class' => 'CacheParameterGroupNotFoundException',
),
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Two or more incompatible parameters were specified.',
'class' => 'InvalidParameterCombinationException',
),
),
),
'DeleteCacheSecurityGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteCacheSecurityGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'CacheSecurityGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The current state of the cache security group does not allow deletion.',
'class' => 'InvalidCacheSecurityGroupStateException',
),
array(
'reason' => 'The requested cache security group name does not refer to an existing cache security group.',
'class' => 'CacheSecurityGroupNotFoundException',
),
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Two or more incompatible parameters were specified.',
'class' => 'InvalidParameterCombinationException',
),
),
),
'DeleteCacheSubnetGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteCacheSubnetGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'CacheSubnetGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The requested cache subnet group is currently in use.',
'class' => 'CacheSubnetGroupInUseException',
),
array(
'reason' => 'The requested cache subnet group name does not refer to an existing cache subnet group.',
'class' => 'CacheSubnetGroupNotFoundException',
),
),
),
'DeleteReplicationGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ReplicationGroupWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteReplicationGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'ReplicationGroupId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified replication group does not exist.',
'class' => 'ReplicationGroupNotFoundException',
),
array(
'reason' => 'The requested replication group is not in the available state.',
'class' => 'InvalidReplicationGroupStateException',
),
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Two or more incompatible parameters were specified.',
'class' => 'InvalidParameterCombinationException',
),
),
),
'DescribeCacheClusters' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CacheClusterMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeCacheClusters',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'CacheClusterId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
'ShowCacheNodeInfo' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The requested cache cluster ID does not refer to an existing cache cluster.',
'class' => 'CacheClusterNotFoundException',
),
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Two or more incompatible parameters were specified.',
'class' => 'InvalidParameterCombinationException',
),
),
),
'DescribeCacheEngineVersions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CacheEngineVersionMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeCacheEngineVersions',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'Engine' => array(
'type' => 'string',
'location' => 'aws.query',
),
'EngineVersion' => array(
'type' => 'string',
'location' => 'aws.query',
),
'CacheParameterGroupFamily' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
'DefaultOnly' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
),
'DescribeCacheParameterGroups' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CacheParameterGroupsMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeCacheParameterGroups',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'CacheParameterGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The requested cache parameter group name does not refer to an existing cache parameter group.',
'class' => 'CacheParameterGroupNotFoundException',
),
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Two or more incompatible parameters were specified.',
'class' => 'InvalidParameterCombinationException',
),
),
),
'DescribeCacheParameters' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CacheParameterGroupDetails',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeCacheParameters',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'CacheParameterGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Source' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The requested cache parameter group name does not refer to an existing cache parameter group.',
'class' => 'CacheParameterGroupNotFoundException',
),
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Two or more incompatible parameters were specified.',
'class' => 'InvalidParameterCombinationException',
),
),
),
'DescribeCacheSecurityGroups' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CacheSecurityGroupMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeCacheSecurityGroups',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'CacheSecurityGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The requested cache security group name does not refer to an existing cache security group.',
'class' => 'CacheSecurityGroupNotFoundException',
),
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Two or more incompatible parameters were specified.',
'class' => 'InvalidParameterCombinationException',
),
),
),
'DescribeCacheSubnetGroups' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CacheSubnetGroupMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeCacheSubnetGroups',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'CacheSubnetGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The requested cache subnet group name does not refer to an existing cache subnet group.',
'class' => 'CacheSubnetGroupNotFoundException',
),
),
),
'DescribeEngineDefaultParameters' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EngineDefaultsWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeEngineDefaultParameters',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'CacheParameterGroupFamily' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Two or more incompatible parameters were specified.',
'class' => 'InvalidParameterCombinationException',
),
),
),
'DescribeEvents' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EventsMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeEvents',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'SourceIdentifier' => array(
'type' => 'string',
'location' => 'aws.query',
),
'SourceType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'StartTime' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
'location' => 'aws.query',
),
'EndTime' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
'location' => 'aws.query',
),
'Duration' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Two or more incompatible parameters were specified.',
'class' => 'InvalidParameterCombinationException',
),
),
),
'DescribeReplicationGroups' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ReplicationGroupMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeReplicationGroups',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'ReplicationGroupId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified replication group does not exist.',
'class' => 'ReplicationGroupNotFoundException',
),
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Two or more incompatible parameters were specified.',
'class' => 'InvalidParameterCombinationException',
),
),
),
'DescribeReservedCacheNodes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ReservedCacheNodeMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeReservedCacheNodes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'ReservedCacheNodeId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'ReservedCacheNodesOfferingId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'CacheNodeType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Duration' => array(
'type' => 'string',
'location' => 'aws.query',
),
'ProductDescription' => array(
'type' => 'string',
'location' => 'aws.query',
),
'OfferingType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The requested reserved cache node was not found.',
'class' => 'ReservedCacheNodeNotFoundException',
),
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Two or more incompatible parameters were specified.',
'class' => 'InvalidParameterCombinationException',
),
),
),
'DescribeReservedCacheNodesOfferings' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ReservedCacheNodesOfferingMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeReservedCacheNodesOfferings',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'ReservedCacheNodesOfferingId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'CacheNodeType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Duration' => array(
'type' => 'string',
'location' => 'aws.query',
),
'ProductDescription' => array(
'type' => 'string',
'location' => 'aws.query',
),
'OfferingType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The requested cache node offering does not exist.',
'class' => 'ReservedCacheNodesOfferingNotFoundException',
),
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Two or more incompatible parameters were specified.',
'class' => 'InvalidParameterCombinationException',
),
),
),
'ModifyCacheCluster' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CacheClusterWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ModifyCacheCluster',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'CacheClusterId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'NumCacheNodes' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'CacheNodeIdsToRemove' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'CacheNodeIdsToRemove.member',
'items' => array(
'name' => 'CacheNodeId',
'type' => 'string',
),
),
'CacheSecurityGroupNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'CacheSecurityGroupNames.member',
'items' => array(
'name' => 'CacheSecurityGroupName',
'type' => 'string',
),
),
'SecurityGroupIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'SecurityGroupIds.member',
'items' => array(
'name' => 'SecurityGroupId',
'type' => 'string',
),
),
'PreferredMaintenanceWindow' => array(
'type' => 'string',
'location' => 'aws.query',
),
'NotificationTopicArn' => array(
'type' => 'string',
'location' => 'aws.query',
),
'CacheParameterGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'NotificationTopicStatus' => array(
'type' => 'string',
'location' => 'aws.query',
),
'ApplyImmediately' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'EngineVersion' => array(
'type' => 'string',
'location' => 'aws.query',
),
'AutoMinorVersionUpgrade' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The requested cache cluster is not in the available state.',
'class' => 'InvalidCacheClusterStateException',
),
array(
'reason' => 'The current state of the cache security group does not allow deletion.',
'class' => 'InvalidCacheSecurityGroupStateException',
),
array(
'reason' => 'The requested cache cluster ID does not refer to an existing cache cluster.',
'class' => 'CacheClusterNotFoundException',
),
array(
'reason' => 'The request cannot be processed because it would exceed the allowed number of cache nodes in a single cache cluster.',
'class' => 'NodeQuotaForClusterExceededException',
),
array(
'reason' => 'The request cannot be processed because it would exceed the allowed number of cache nodes per customer.',
'class' => 'NodeQuotaForCustomerExceededException',
),
array(
'reason' => 'The requested cache security group name does not refer to an existing cache security group.',
'class' => 'CacheSecurityGroupNotFoundException',
),
array(
'reason' => 'The requested cache parameter group name does not refer to an existing cache parameter group.',
'class' => 'CacheParameterGroupNotFoundException',
),
array(
'reason' => 'The VPC network is in an invalid state.',
'class' => 'InvalidVPCNetworkStateException',
),
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Two or more incompatible parameters were specified.',
'class' => 'InvalidParameterCombinationException',
),
),
),
'ModifyCacheParameterGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CacheParameterGroupNameMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ModifyCacheParameterGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'CacheParameterGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'ParameterNameValues' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ParameterNameValues.member',
'items' => array(
'name' => 'ParameterNameValue',
'type' => 'object',
'properties' => array(
'ParameterName' => array(
'type' => 'string',
),
'ParameterValue' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'The requested cache parameter group name does not refer to an existing cache parameter group.',
'class' => 'CacheParameterGroupNotFoundException',
),
array(
'reason' => 'The current state of the cache parameter group does not allow the requested action to occur.',
'class' => 'InvalidCacheParameterGroupStateException',
),
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Two or more incompatible parameters were specified.',
'class' => 'InvalidParameterCombinationException',
),
),
),
'ModifyCacheSubnetGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CacheSubnetGroupWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ModifyCacheSubnetGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'CacheSubnetGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'CacheSubnetGroupDescription' => array(
'type' => 'string',
'location' => 'aws.query',
),
'SubnetIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'SubnetIds.member',
'items' => array(
'name' => 'SubnetIdentifier',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'The requested cache subnet group name does not refer to an existing cache subnet group.',
'class' => 'CacheSubnetGroupNotFoundException',
),
array(
'reason' => 'The request cannot be processed because it would exceed the allowed number of subnets in a cache subnet group.',
'class' => 'CacheSubnetQuotaExceededException',
),
array(
'reason' => 'The requested subnet is being used by another cache subnet group.',
'class' => 'SubnetInUseException',
),
array(
'reason' => 'An invalid subnet identifier was specified.',
'class' => 'InvalidSubnetException',
),
),
),
'ModifyReplicationGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ReplicationGroupWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ModifyReplicationGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'ReplicationGroupId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'ReplicationGroupDescription' => array(
'type' => 'string',
'location' => 'aws.query',
),
'CacheSecurityGroupNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'CacheSecurityGroupNames.member',
'items' => array(
'name' => 'CacheSecurityGroupName',
'type' => 'string',
),
),
'SecurityGroupIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'SecurityGroupIds.member',
'items' => array(
'name' => 'SecurityGroupId',
'type' => 'string',
),
),
'PreferredMaintenanceWindow' => array(
'type' => 'string',
'location' => 'aws.query',
),
'NotificationTopicArn' => array(
'type' => 'string',
'location' => 'aws.query',
),
'CacheParameterGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'NotificationTopicStatus' => array(
'type' => 'string',
'location' => 'aws.query',
),
'ApplyImmediately' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'EngineVersion' => array(
'type' => 'string',
'location' => 'aws.query',
),
'AutoMinorVersionUpgrade' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'PrimaryClusterId' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified replication group does not exist.',
'class' => 'ReplicationGroupNotFoundException',
),
array(
'reason' => 'The requested replication group is not in the available state.',
'class' => 'InvalidReplicationGroupStateException',
),
array(
'reason' => 'The requested cache cluster is not in the available state.',
'class' => 'InvalidCacheClusterStateException',
),
array(
'reason' => 'The current state of the cache security group does not allow deletion.',
'class' => 'InvalidCacheSecurityGroupStateException',
),
array(
'reason' => 'The requested cache cluster ID does not refer to an existing cache cluster.',
'class' => 'CacheClusterNotFoundException',
),
array(
'reason' => 'The requested cache security group name does not refer to an existing cache security group.',
'class' => 'CacheSecurityGroupNotFoundException',
),
array(
'reason' => 'The requested cache parameter group name does not refer to an existing cache parameter group.',
'class' => 'CacheParameterGroupNotFoundException',
),
array(
'reason' => 'The VPC network is in an invalid state.',
'class' => 'InvalidVPCNetworkStateException',
),
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Two or more incompatible parameters were specified.',
'class' => 'InvalidParameterCombinationException',
),
),
),
'PurchaseReservedCacheNodesOffering' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ReservedCacheNodeWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'PurchaseReservedCacheNodesOffering',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'ReservedCacheNodesOfferingId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'ReservedCacheNodeId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'CacheNodeCount' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The requested cache node offering does not exist.',
'class' => 'ReservedCacheNodesOfferingNotFoundException',
),
array(
'reason' => 'This user already has a reservation with the given identifier.',
'class' => 'ReservedCacheNodeAlreadyExistsException',
),
array(
'reason' => 'The request cannot be processed because it would exceed the user\'s cache node quota.',
'class' => 'ReservedCacheNodeQuotaExceededException',
),
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Two or more incompatible parameters were specified.',
'class' => 'InvalidParameterCombinationException',
),
),
),
'RebootCacheCluster' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CacheClusterWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RebootCacheCluster',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'CacheClusterId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'CacheNodeIdsToReboot' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'CacheNodeIdsToReboot.member',
'items' => array(
'name' => 'CacheNodeId',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'The requested cache cluster is not in the available state.',
'class' => 'InvalidCacheClusterStateException',
),
array(
'reason' => 'The requested cache cluster ID does not refer to an existing cache cluster.',
'class' => 'CacheClusterNotFoundException',
),
),
),
'ResetCacheParameterGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CacheParameterGroupNameMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ResetCacheParameterGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'CacheParameterGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'ResetAllParameters' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'ParameterNameValues' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ParameterNameValues.member',
'items' => array(
'name' => 'ParameterNameValue',
'type' => 'object',
'properties' => array(
'ParameterName' => array(
'type' => 'string',
),
'ParameterValue' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'The current state of the cache parameter group does not allow the requested action to occur.',
'class' => 'InvalidCacheParameterGroupStateException',
),
array(
'reason' => 'The requested cache parameter group name does not refer to an existing cache parameter group.',
'class' => 'CacheParameterGroupNotFoundException',
),
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Two or more incompatible parameters were specified.',
'class' => 'InvalidParameterCombinationException',
),
),
),
'RevokeCacheSecurityGroupIngress' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CacheSecurityGroupWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RevokeCacheSecurityGroupIngress',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-06-15',
),
'CacheSecurityGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'EC2SecurityGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'EC2SecurityGroupOwnerId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The requested cache security group name does not refer to an existing cache security group.',
'class' => 'CacheSecurityGroupNotFoundException',
),
array(
'reason' => 'The specified Amazon EC2 security group is not authorized for the specified cache security group.',
'class' => 'AuthorizationNotFoundException',
),
array(
'reason' => 'The current state of the cache security group does not allow deletion.',
'class' => 'InvalidCacheSecurityGroupStateException',
),
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Two or more incompatible parameters were specified.',
'class' => 'InvalidParameterCombinationException',
),
),
),
),
'models' => array(
'CacheSecurityGroupWrapper' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'CacheSecurityGroup' => array(
'type' => 'object',
'location' => 'xml',
'data' => array(
'wrapper' => true,
),
'properties' => array(
'OwnerId' => array(
'type' => 'string',
),
'CacheSecurityGroupName' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'EC2SecurityGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'EC2SecurityGroup',
'type' => 'object',
'sentAs' => 'EC2SecurityGroup',
'properties' => array(
'Status' => array(
'type' => 'string',
),
'EC2SecurityGroupName' => array(
'type' => 'string',
),
'EC2SecurityGroupOwnerId' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'CacheClusterWrapper' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'CacheCluster' => array(
'type' => 'object',
'location' => 'xml',
'data' => array(
'wrapper' => true,
),
'properties' => array(
'CacheClusterId' => array(
'type' => 'string',
),
'ConfigurationEndpoint' => array(
'type' => 'object',
'properties' => array(
'Address' => array(
'type' => 'string',
),
'Port' => array(
'type' => 'numeric',
),
),
),
'ClientDownloadLandingPage' => array(
'type' => 'string',
),
'CacheNodeType' => array(
'type' => 'string',
),
'Engine' => array(
'type' => 'string',
),
'EngineVersion' => array(
'type' => 'string',
),
'CacheClusterStatus' => array(
'type' => 'string',
),
'NumCacheNodes' => array(
'type' => 'numeric',
),
'PreferredAvailabilityZone' => array(
'type' => 'string',
),
'CacheClusterCreateTime' => array(
'type' => 'string',
),
'PreferredMaintenanceWindow' => array(
'type' => 'string',
),
'PendingModifiedValues' => array(
'type' => 'object',
'properties' => array(
'NumCacheNodes' => array(
'type' => 'numeric',
),
'CacheNodeIdsToRemove' => array(
'type' => 'array',
'items' => array(
'name' => 'CacheNodeId',
'type' => 'string',
'sentAs' => 'CacheNodeId',
),
),
'EngineVersion' => array(
'type' => 'string',
),
),
),
'NotificationConfiguration' => array(
'type' => 'object',
'properties' => array(
'TopicArn' => array(
'type' => 'string',
),
'TopicStatus' => array(
'type' => 'string',
),
),
),
'CacheSecurityGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'CacheSecurityGroup',
'type' => 'object',
'sentAs' => 'CacheSecurityGroup',
'properties' => array(
'CacheSecurityGroupName' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
),
),
),
'CacheParameterGroup' => array(
'type' => 'object',
'properties' => array(
'CacheParameterGroupName' => array(
'type' => 'string',
),
'ParameterApplyStatus' => array(
'type' => 'string',
),
'CacheNodeIdsToReboot' => array(
'type' => 'array',
'items' => array(
'name' => 'CacheNodeId',
'type' => 'string',
'sentAs' => 'CacheNodeId',
),
),
),
),
'CacheSubnetGroupName' => array(
'type' => 'string',
),
'CacheNodes' => array(
'type' => 'array',
'items' => array(
'name' => 'CacheNode',
'type' => 'object',
'sentAs' => 'CacheNode',
'properties' => array(
'CacheNodeId' => array(
'type' => 'string',
),
'CacheNodeStatus' => array(
'type' => 'string',
),
'CacheNodeCreateTime' => array(
'type' => 'string',
),
'Endpoint' => array(
'type' => 'object',
'properties' => array(
'Address' => array(
'type' => 'string',
),
'Port' => array(
'type' => 'numeric',
),
),
),
'ParameterGroupStatus' => array(
'type' => 'string',
),
'SourceCacheNodeId' => array(
'type' => 'string',
),
),
),
),
'AutoMinorVersionUpgrade' => array(
'type' => 'boolean',
),
'SecurityGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'SecurityGroupMembership',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'SecurityGroupId' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
),
),
),
'ReplicationGroupId' => array(
'type' => 'string',
),
),
),
),
),
'CacheParameterGroupWrapper' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'CacheParameterGroup' => array(
'type' => 'object',
'location' => 'xml',
'data' => array(
'wrapper' => true,
),
'properties' => array(
'CacheParameterGroupName' => array(
'type' => 'string',
),
'CacheParameterGroupFamily' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
),
),
),
),
'CacheSubnetGroupWrapper' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'CacheSubnetGroup' => array(
'type' => 'object',
'location' => 'xml',
'data' => array(
'wrapper' => true,
),
'properties' => array(
'CacheSubnetGroupName' => array(
'type' => 'string',
),
'CacheSubnetGroupDescription' => array(
'type' => 'string',
),
'VpcId' => array(
'type' => 'string',
),
'Subnets' => array(
'type' => 'array',
'items' => array(
'name' => 'Subnet',
'type' => 'object',
'sentAs' => 'Subnet',
'properties' => array(
'SubnetIdentifier' => array(
'type' => 'string',
),
'SubnetAvailabilityZone' => array(
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
),
'ReplicationGroupWrapper' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ReplicationGroup' => array(
'type' => 'object',
'location' => 'xml',
'data' => array(
'wrapper' => true,
),
'properties' => array(
'ReplicationGroupId' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'PendingModifiedValues' => array(
'type' => 'object',
'properties' => array(
'PrimaryClusterId' => array(
'type' => 'string',
),
),
),
'MemberClusters' => array(
'type' => 'array',
'items' => array(
'name' => 'ClusterId',
'type' => 'string',
'sentAs' => 'ClusterId',
),
),
'NodeGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'NodeGroup',
'type' => 'object',
'sentAs' => 'NodeGroup',
'properties' => array(
'NodeGroupId' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'PrimaryEndpoint' => array(
'type' => 'object',
'properties' => array(
'Address' => array(
'type' => 'string',
),
'Port' => array(
'type' => 'numeric',
),
),
),
'NodeGroupMembers' => array(
'type' => 'array',
'items' => array(
'name' => 'NodeGroupMember',
'type' => 'object',
'sentAs' => 'NodeGroupMember',
'properties' => array(
'CacheClusterId' => array(
'type' => 'string',
),
'CacheNodeId' => array(
'type' => 'string',
),
'ReadEndpoint' => array(
'type' => 'object',
'properties' => array(
'Address' => array(
'type' => 'string',
),
'Port' => array(
'type' => 'numeric',
),
),
),
'PreferredAvailabilityZone' => array(
'type' => 'string',
),
'CurrentRole' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
),
),
'EmptyOutput' => array(
'type' => 'object',
'additionalProperties' => true,
),
'CacheClusterMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'CacheClusters' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'CacheCluster',
'type' => 'object',
'sentAs' => 'CacheCluster',
'properties' => array(
'CacheClusterId' => array(
'type' => 'string',
),
'ConfigurationEndpoint' => array(
'type' => 'object',
'properties' => array(
'Address' => array(
'type' => 'string',
),
'Port' => array(
'type' => 'numeric',
),
),
),
'ClientDownloadLandingPage' => array(
'type' => 'string',
),
'CacheNodeType' => array(
'type' => 'string',
),
'Engine' => array(
'type' => 'string',
),
'EngineVersion' => array(
'type' => 'string',
),
'CacheClusterStatus' => array(
'type' => 'string',
),
'NumCacheNodes' => array(
'type' => 'numeric',
),
'PreferredAvailabilityZone' => array(
'type' => 'string',
),
'CacheClusterCreateTime' => array(
'type' => 'string',
),
'PreferredMaintenanceWindow' => array(
'type' => 'string',
),
'PendingModifiedValues' => array(
'type' => 'object',
'properties' => array(
'NumCacheNodes' => array(
'type' => 'numeric',
),
'CacheNodeIdsToRemove' => array(
'type' => 'array',
'items' => array(
'name' => 'CacheNodeId',
'type' => 'string',
'sentAs' => 'CacheNodeId',
),
),
'EngineVersion' => array(
'type' => 'string',
),
),
),
'NotificationConfiguration' => array(
'type' => 'object',
'properties' => array(
'TopicArn' => array(
'type' => 'string',
),
'TopicStatus' => array(
'type' => 'string',
),
),
),
'CacheSecurityGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'CacheSecurityGroup',
'type' => 'object',
'sentAs' => 'CacheSecurityGroup',
'properties' => array(
'CacheSecurityGroupName' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
),
),
),
'CacheParameterGroup' => array(
'type' => 'object',
'properties' => array(
'CacheParameterGroupName' => array(
'type' => 'string',
),
'ParameterApplyStatus' => array(
'type' => 'string',
),
'CacheNodeIdsToReboot' => array(
'type' => 'array',
'items' => array(
'name' => 'CacheNodeId',
'type' => 'string',
'sentAs' => 'CacheNodeId',
),
),
),
),
'CacheSubnetGroupName' => array(
'type' => 'string',
),
'CacheNodes' => array(
'type' => 'array',
'items' => array(
'name' => 'CacheNode',
'type' => 'object',
'sentAs' => 'CacheNode',
'properties' => array(
'CacheNodeId' => array(
'type' => 'string',
),
'CacheNodeStatus' => array(
'type' => 'string',
),
'CacheNodeCreateTime' => array(
'type' => 'string',
),
'Endpoint' => array(
'type' => 'object',
'properties' => array(
'Address' => array(
'type' => 'string',
),
'Port' => array(
'type' => 'numeric',
),
),
),
'ParameterGroupStatus' => array(
'type' => 'string',
),
'SourceCacheNodeId' => array(
'type' => 'string',
),
),
),
),
'AutoMinorVersionUpgrade' => array(
'type' => 'boolean',
),
'SecurityGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'SecurityGroupMembership',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'SecurityGroupId' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
),
),
),
'ReplicationGroupId' => array(
'type' => 'string',
),
),
),
),
),
),
'CacheEngineVersionMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'CacheEngineVersions' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'CacheEngineVersion',
'type' => 'object',
'sentAs' => 'CacheEngineVersion',
'properties' => array(
'Engine' => array(
'type' => 'string',
),
'EngineVersion' => array(
'type' => 'string',
),
'CacheParameterGroupFamily' => array(
'type' => 'string',
),
'CacheEngineDescription' => array(
'type' => 'string',
),
'CacheEngineVersionDescription' => array(
'type' => 'string',
),
),
),
),
),
),
'CacheParameterGroupsMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'CacheParameterGroups' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'CacheParameterGroup',
'type' => 'object',
'sentAs' => 'CacheParameterGroup',
'properties' => array(
'CacheParameterGroupName' => array(
'type' => 'string',
),
'CacheParameterGroupFamily' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
),
),
),
),
),
'CacheParameterGroupDetails' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'Parameters' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Parameter',
'type' => 'object',
'sentAs' => 'Parameter',
'properties' => array(
'ParameterName' => array(
'type' => 'string',
),
'ParameterValue' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'Source' => array(
'type' => 'string',
),
'DataType' => array(
'type' => 'string',
),
'AllowedValues' => array(
'type' => 'string',
),
'IsModifiable' => array(
'type' => 'boolean',
),
'MinimumEngineVersion' => array(
'type' => 'string',
),
),
),
),
'CacheNodeTypeSpecificParameters' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'CacheNodeTypeSpecificParameter',
'type' => 'object',
'sentAs' => 'CacheNodeTypeSpecificParameter',
'properties' => array(
'ParameterName' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'Source' => array(
'type' => 'string',
),
'DataType' => array(
'type' => 'string',
),
'AllowedValues' => array(
'type' => 'string',
),
'IsModifiable' => array(
'type' => 'boolean',
),
'MinimumEngineVersion' => array(
'type' => 'string',
),
'CacheNodeTypeSpecificValues' => array(
'type' => 'array',
'items' => array(
'name' => 'CacheNodeTypeSpecificValue',
'type' => 'object',
'sentAs' => 'CacheNodeTypeSpecificValue',
'properties' => array(
'CacheNodeType' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'CacheSecurityGroupMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'CacheSecurityGroups' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'CacheSecurityGroup',
'type' => 'object',
'sentAs' => 'CacheSecurityGroup',
'properties' => array(
'OwnerId' => array(
'type' => 'string',
),
'CacheSecurityGroupName' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'EC2SecurityGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'EC2SecurityGroup',
'type' => 'object',
'sentAs' => 'EC2SecurityGroup',
'properties' => array(
'Status' => array(
'type' => 'string',
),
'EC2SecurityGroupName' => array(
'type' => 'string',
),
'EC2SecurityGroupOwnerId' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'CacheSubnetGroupMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'CacheSubnetGroups' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'CacheSubnetGroup',
'type' => 'object',
'sentAs' => 'CacheSubnetGroup',
'properties' => array(
'CacheSubnetGroupName' => array(
'type' => 'string',
),
'CacheSubnetGroupDescription' => array(
'type' => 'string',
),
'VpcId' => array(
'type' => 'string',
),
'Subnets' => array(
'type' => 'array',
'items' => array(
'name' => 'Subnet',
'type' => 'object',
'sentAs' => 'Subnet',
'properties' => array(
'SubnetIdentifier' => array(
'type' => 'string',
),
'SubnetAvailabilityZone' => array(
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
),
),
'EngineDefaultsWrapper' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'EngineDefaults' => array(
'type' => 'object',
'location' => 'xml',
'data' => array(
'wrapper' => true,
),
'properties' => array(
'CacheParameterGroupFamily' => array(
'type' => 'string',
),
'Marker' => array(
'type' => 'string',
),
'Parameters' => array(
'type' => 'array',
'items' => array(
'name' => 'Parameter',
'type' => 'object',
'sentAs' => 'Parameter',
'properties' => array(
'ParameterName' => array(
'type' => 'string',
),
'ParameterValue' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'Source' => array(
'type' => 'string',
),
'DataType' => array(
'type' => 'string',
),
'AllowedValues' => array(
'type' => 'string',
),
'IsModifiable' => array(
'type' => 'boolean',
),
'MinimumEngineVersion' => array(
'type' => 'string',
),
),
),
),
'CacheNodeTypeSpecificParameters' => array(
'type' => 'array',
'items' => array(
'name' => 'CacheNodeTypeSpecificParameter',
'type' => 'object',
'sentAs' => 'CacheNodeTypeSpecificParameter',
'properties' => array(
'ParameterName' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'Source' => array(
'type' => 'string',
),
'DataType' => array(
'type' => 'string',
),
'AllowedValues' => array(
'type' => 'string',
),
'IsModifiable' => array(
'type' => 'boolean',
),
'MinimumEngineVersion' => array(
'type' => 'string',
),
'CacheNodeTypeSpecificValues' => array(
'type' => 'array',
'items' => array(
'name' => 'CacheNodeTypeSpecificValue',
'type' => 'object',
'sentAs' => 'CacheNodeTypeSpecificValue',
'properties' => array(
'CacheNodeType' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
),
),
'EventsMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'Events' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Event',
'type' => 'object',
'sentAs' => 'Event',
'properties' => array(
'SourceIdentifier' => array(
'type' => 'string',
),
'SourceType' => array(
'type' => 'string',
),
'Message' => array(
'type' => 'string',
),
'Date' => array(
'type' => 'string',
),
),
),
),
),
),
'ReplicationGroupMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'ReplicationGroups' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'ReplicationGroup',
'type' => 'object',
'sentAs' => 'ReplicationGroup',
'properties' => array(
'ReplicationGroupId' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'PendingModifiedValues' => array(
'type' => 'object',
'properties' => array(
'PrimaryClusterId' => array(
'type' => 'string',
),
),
),
'MemberClusters' => array(
'type' => 'array',
'items' => array(
'name' => 'ClusterId',
'type' => 'string',
'sentAs' => 'ClusterId',
),
),
'NodeGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'NodeGroup',
'type' => 'object',
'sentAs' => 'NodeGroup',
'properties' => array(
'NodeGroupId' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'PrimaryEndpoint' => array(
'type' => 'object',
'properties' => array(
'Address' => array(
'type' => 'string',
),
'Port' => array(
'type' => 'numeric',
),
),
),
'NodeGroupMembers' => array(
'type' => 'array',
'items' => array(
'name' => 'NodeGroupMember',
'type' => 'object',
'sentAs' => 'NodeGroupMember',
'properties' => array(
'CacheClusterId' => array(
'type' => 'string',
),
'CacheNodeId' => array(
'type' => 'string',
),
'ReadEndpoint' => array(
'type' => 'object',
'properties' => array(
'Address' => array(
'type' => 'string',
),
'Port' => array(
'type' => 'numeric',
),
),
),
'PreferredAvailabilityZone' => array(
'type' => 'string',
),
'CurrentRole' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
),
),
),
'ReservedCacheNodeMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'ReservedCacheNodes' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'ReservedCacheNode',
'type' => 'object',
'sentAs' => 'ReservedCacheNode',
'properties' => array(
'ReservedCacheNodeId' => array(
'type' => 'string',
),
'ReservedCacheNodesOfferingId' => array(
'type' => 'string',
),
'CacheNodeType' => array(
'type' => 'string',
),
'StartTime' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'numeric',
),
'FixedPrice' => array(
'type' => 'numeric',
),
'UsagePrice' => array(
'type' => 'numeric',
),
'CacheNodeCount' => array(
'type' => 'numeric',
),
'ProductDescription' => array(
'type' => 'string',
),
'OfferingType' => array(
'type' => 'string',
),
'State' => array(
'type' => 'string',
),
'RecurringCharges' => array(
'type' => 'array',
'items' => array(
'name' => 'RecurringCharge',
'type' => 'object',
'sentAs' => 'RecurringCharge',
'properties' => array(
'RecurringChargeAmount' => array(
'type' => 'numeric',
),
'RecurringChargeFrequency' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'ReservedCacheNodesOfferingMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'ReservedCacheNodesOfferings' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'ReservedCacheNodesOffering',
'type' => 'object',
'sentAs' => 'ReservedCacheNodesOffering',
'properties' => array(
'ReservedCacheNodesOfferingId' => array(
'type' => 'string',
),
'CacheNodeType' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'numeric',
),
'FixedPrice' => array(
'type' => 'numeric',
),
'UsagePrice' => array(
'type' => 'numeric',
),
'ProductDescription' => array(
'type' => 'string',
),
'OfferingType' => array(
'type' => 'string',
),
'RecurringCharges' => array(
'type' => 'array',
'items' => array(
'name' => 'RecurringCharge',
'type' => 'object',
'sentAs' => 'RecurringCharge',
'properties' => array(
'RecurringChargeAmount' => array(
'type' => 'numeric',
),
'RecurringChargeFrequency' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'CacheParameterGroupNameMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'CacheParameterGroupName' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ReservedCacheNodeWrapper' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ReservedCacheNode' => array(
'type' => 'object',
'location' => 'xml',
'data' => array(
'wrapper' => true,
),
'properties' => array(
'ReservedCacheNodeId' => array(
'type' => 'string',
),
'ReservedCacheNodesOfferingId' => array(
'type' => 'string',
),
'CacheNodeType' => array(
'type' => 'string',
),
'StartTime' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'numeric',
),
'FixedPrice' => array(
'type' => 'numeric',
),
'UsagePrice' => array(
'type' => 'numeric',
),
'CacheNodeCount' => array(
'type' => 'numeric',
),
'ProductDescription' => array(
'type' => 'string',
),
'OfferingType' => array(
'type' => 'string',
),
'State' => array(
'type' => 'string',
),
'RecurringCharges' => array(
'type' => 'array',
'items' => array(
'name' => 'RecurringCharge',
'type' => 'object',
'sentAs' => 'RecurringCharge',
'properties' => array(
'RecurringChargeAmount' => array(
'type' => 'numeric',
),
'RecurringChargeFrequency' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'iterators' => array(
'operations' => array(
'DescribeCacheClusters' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'CacheClusters',
),
'DescribeCacheEngineVersions' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'CacheEngineVersions',
),
'DescribeCacheParameterGroups' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'CacheParameterGroups',
),
'DescribeCacheParameters' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'Parameters',
),
'DescribeCacheSecurityGroups' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'CacheSecurityGroups',
),
'DescribeCacheSubnetGroups' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'CacheSubnetGroups',
),
'DescribeEngineDefaultParameters' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'Parameters',
),
'DescribeEvents' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'Events',
),
'DescribeReplicationGroups' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'ReplicationGroups',
),
'DescribeReservedCacheNodes' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'ReservedCacheNodes',
),
'DescribeReservedCacheNodesOfferings' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'ReservedCacheNodesOfferings',
),
),
),
);
sdk-2.5.2/Aws/ElasticBeanstalk/ElasticBeanstalkClient.php 0000644 115327001610067500000015103 12272324172 020432 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/elasticbeanstalk-%s.php'
))
->build();
}
}
sdk-2.5.2/Aws/ElasticBeanstalk/Enum/ConfigurationDeploymentStatus.php 0000644 115327001610067500000001542 12272324172 023044 0 ustar '2010-12-01',
'endpointPrefix' => 'elasticbeanstalk',
'serviceFullName' => 'AWS Elastic Beanstalk',
'serviceAbbreviation' => 'Elastic Beanstalk',
'serviceType' => 'query',
'resultWrapped' => true,
'signatureVersion' => 'v4',
'namespace' => 'ElasticBeanstalk',
'regions' => array(
'us-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'elasticbeanstalk.us-east-1.amazonaws.com',
),
'us-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'elasticbeanstalk.us-west-1.amazonaws.com',
),
'us-west-2' => array(
'http' => false,
'https' => true,
'hostname' => 'elasticbeanstalk.us-west-2.amazonaws.com',
),
'eu-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'elasticbeanstalk.eu-west-1.amazonaws.com',
),
'ap-northeast-1' => array(
'http' => false,
'https' => true,
'hostname' => 'elasticbeanstalk.ap-northeast-1.amazonaws.com',
),
'ap-southeast-1' => array(
'http' => false,
'https' => true,
'hostname' => 'elasticbeanstalk.ap-southeast-1.amazonaws.com',
),
'ap-southeast-2' => array(
'http' => false,
'https' => true,
'hostname' => 'elasticbeanstalk.ap-southeast-2.amazonaws.com',
),
'sa-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'elasticbeanstalk.sa-east-1.amazonaws.com',
),
),
'operations' => array(
'CheckDNSAvailability' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CheckDNSAvailabilityResultMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CheckDNSAvailability',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'CNAMEPrefix' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 4,
'maxLength' => 63,
),
),
),
'CreateApplication' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ApplicationDescriptionMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateApplication',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'ApplicationName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'Description' => array(
'type' => 'string',
'location' => 'aws.query',
'maxLength' => 200,
),
),
'errorResponses' => array(
array(
'reason' => 'The caller has exceeded the limit on the number of applications associated with their account.',
'class' => 'TooManyApplicationsException',
),
),
),
'CreateApplicationVersion' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ApplicationVersionDescriptionMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateApplicationVersion',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'ApplicationName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'VersionLabel' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'Description' => array(
'type' => 'string',
'location' => 'aws.query',
'maxLength' => 200,
),
'SourceBundle' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'S3Bucket' => array(
'type' => 'string',
'maxLength' => 255,
),
'S3Key' => array(
'type' => 'string',
'maxLength' => 1024,
),
),
),
'AutoCreateApplication' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The caller has exceeded the limit on the number of applications associated with their account.',
'class' => 'TooManyApplicationsException',
),
array(
'reason' => 'The caller has exceeded the limit on the number of application versions associated with their account.',
'class' => 'TooManyApplicationVersionsException',
),
array(
'reason' => 'Unable to perform the specified operation because the user does not have enough privileges for one of more downstream aws services',
'class' => 'InsufficientPrivilegesException',
),
array(
'reason' => 'The specified S3 bucket does not belong to the S3 region in which the service is running.',
'class' => 'S3LocationNotInServiceRegionException',
),
),
),
'CreateConfigurationTemplate' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ConfigurationSettingsDescription',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateConfigurationTemplate',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'ApplicationName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'TemplateName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'SolutionStackName' => array(
'type' => 'string',
'location' => 'aws.query',
'maxLength' => 100,
),
'SourceConfiguration' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'ApplicationName' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 100,
),
'TemplateName' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 100,
),
),
),
'EnvironmentId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Description' => array(
'type' => 'string',
'location' => 'aws.query',
'maxLength' => 200,
),
'OptionSettings' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'OptionSettings.member',
'items' => array(
'name' => 'ConfigurationOptionSetting',
'type' => 'object',
'properties' => array(
'Namespace' => array(
'type' => 'string',
),
'OptionName' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Unable to perform the specified operation because the user does not have enough privileges for one of more downstream aws services',
'class' => 'InsufficientPrivilegesException',
),
array(
'reason' => 'The caller has exceeded the limit on the number of configuration templates associated with their account.',
'class' => 'TooManyConfigurationTemplatesException',
),
),
),
'CreateEnvironment' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EnvironmentDescription',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateEnvironment',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'ApplicationName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'EnvironmentName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 4,
'maxLength' => 23,
),
'Description' => array(
'type' => 'string',
'location' => 'aws.query',
'maxLength' => 200,
),
'CNAMEPrefix' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 4,
'maxLength' => 63,
),
'Tier' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Type' => array(
'type' => 'string',
),
'Version' => array(
'type' => 'string',
),
),
),
'VersionLabel' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'TemplateName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'SolutionStackName' => array(
'type' => 'string',
'location' => 'aws.query',
'maxLength' => 100,
),
'OptionSettings' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'OptionSettings.member',
'items' => array(
'name' => 'ConfigurationOptionSetting',
'type' => 'object',
'properties' => array(
'Namespace' => array(
'type' => 'string',
),
'OptionName' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
'OptionsToRemove' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'OptionsToRemove.member',
'items' => array(
'name' => 'OptionSpecification',
'type' => 'object',
'properties' => array(
'Namespace' => array(
'type' => 'string',
),
'OptionName' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'The caller has exceeded the limit of allowed environments associated with the account.',
'class' => 'TooManyEnvironmentsException',
),
array(
'reason' => 'Unable to perform the specified operation because the user does not have enough privileges for one of more downstream aws services',
'class' => 'InsufficientPrivilegesException',
),
),
),
'CreateStorageLocation' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateStorageLocationResultMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateStorageLocation',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
),
'errorResponses' => array(
array(
'reason' => 'The web service attempted to create a bucket in an Amazon S3 account that already has 100 buckets.',
'class' => 'TooManyBucketsException',
),
array(
'reason' => 'The caller does not have a subscription to Amazon S3.',
'class' => 'S3SubscriptionRequiredException',
),
array(
'reason' => 'Unable to perform the specified operation because the user does not have enough privileges for one of more downstream aws services',
'class' => 'InsufficientPrivilegesException',
),
),
),
'DeleteApplication' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteApplication',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'ApplicationName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'TerminateEnvByForce' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Unable to perform the specified operation because another operation is already in progress affecting an an element in this activity.',
'class' => 'OperationInProgressException',
),
),
),
'DeleteApplicationVersion' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteApplicationVersion',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'ApplicationName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'VersionLabel' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'DeleteSourceBundle' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Unable to delete the Amazon S3 source bundle associated with the application version, although the application version deleted successfully.',
'class' => 'SourceBundleDeletionException',
),
array(
'reason' => 'Unable to perform the specified operation because the user does not have enough privileges for one of more downstream aws services',
'class' => 'InsufficientPrivilegesException',
),
array(
'reason' => 'Unable to perform the specified operation because another operation is already in progress affecting an an element in this activity.',
'class' => 'OperationInProgressException',
),
array(
'reason' => 'The specified S3 bucket does not belong to the S3 region in which the service is running.',
'class' => 'S3LocationNotInServiceRegionException',
),
),
),
'DeleteConfigurationTemplate' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteConfigurationTemplate',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'ApplicationName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'TemplateName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
),
'errorResponses' => array(
array(
'reason' => 'Unable to perform the specified operation because another operation is already in progress affecting an an element in this activity.',
'class' => 'OperationInProgressException',
),
),
),
'DeleteEnvironmentConfiguration' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteEnvironmentConfiguration',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'ApplicationName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'EnvironmentName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 4,
'maxLength' => 23,
),
),
),
'DescribeApplicationVersions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ApplicationVersionDescriptionsMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeApplicationVersions',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'ApplicationName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'VersionLabels' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'VersionLabels.member',
'items' => array(
'name' => 'VersionLabel',
'type' => 'string',
'minLength' => 1,
'maxLength' => 100,
),
),
),
),
'DescribeApplications' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ApplicationDescriptionsMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeApplications',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'ApplicationNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ApplicationNames.member',
'items' => array(
'name' => 'ApplicationName',
'type' => 'string',
'minLength' => 1,
'maxLength' => 100,
),
),
),
),
'DescribeConfigurationOptions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ConfigurationOptionsDescription',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeConfigurationOptions',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'ApplicationName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'TemplateName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'EnvironmentName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 4,
'maxLength' => 23,
),
'SolutionStackName' => array(
'type' => 'string',
'location' => 'aws.query',
'maxLength' => 100,
),
'Options' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Options.member',
'items' => array(
'name' => 'OptionSpecification',
'type' => 'object',
'properties' => array(
'Namespace' => array(
'type' => 'string',
),
'OptionName' => array(
'type' => 'string',
),
),
),
),
),
),
'DescribeConfigurationSettings' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ConfigurationSettingsDescriptions',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeConfigurationSettings',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'ApplicationName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'TemplateName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'EnvironmentName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 4,
'maxLength' => 23,
),
),
),
'DescribeEnvironmentResources' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EnvironmentResourceDescriptionsMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeEnvironmentResources',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'EnvironmentId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'EnvironmentName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 4,
'maxLength' => 23,
),
),
'errorResponses' => array(
array(
'reason' => 'Unable to perform the specified operation because the user does not have enough privileges for one of more downstream aws services',
'class' => 'InsufficientPrivilegesException',
),
),
),
'DescribeEnvironments' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EnvironmentDescriptionsMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeEnvironments',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'ApplicationName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'VersionLabel' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'EnvironmentIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'EnvironmentIds.member',
'items' => array(
'name' => 'EnvironmentId',
'type' => 'string',
),
),
'EnvironmentNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'EnvironmentNames.member',
'items' => array(
'name' => 'EnvironmentName',
'type' => 'string',
'minLength' => 4,
'maxLength' => 23,
),
),
'IncludeDeleted' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'IncludedDeletedBackTo' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
'location' => 'aws.query',
),
),
),
'DescribeEvents' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EventDescriptionsMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeEvents',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'ApplicationName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'VersionLabel' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'TemplateName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'EnvironmentId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'EnvironmentName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 4,
'maxLength' => 23,
),
'RequestId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Severity' => array(
'type' => 'string',
'location' => 'aws.query',
),
'StartTime' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
'location' => 'aws.query',
),
'EndTime' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
'maximum' => 1000,
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'ListAvailableSolutionStacks' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListAvailableSolutionStacksResultMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListAvailableSolutionStacks',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
),
),
'RebuildEnvironment' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RebuildEnvironment',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'EnvironmentId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'EnvironmentName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 4,
'maxLength' => 23,
),
),
'errorResponses' => array(
array(
'reason' => 'Unable to perform the specified operation because the user does not have enough privileges for one of more downstream aws services',
'class' => 'InsufficientPrivilegesException',
),
),
),
'RequestEnvironmentInfo' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RequestEnvironmentInfo',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'EnvironmentId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'EnvironmentName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 4,
'maxLength' => 23,
),
'InfoType' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'RestartAppServer' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RestartAppServer',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'EnvironmentId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'EnvironmentName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 4,
'maxLength' => 23,
),
),
),
'RetrieveEnvironmentInfo' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'RetrieveEnvironmentInfoResultMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RetrieveEnvironmentInfo',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'EnvironmentId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'EnvironmentName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 4,
'maxLength' => 23,
),
'InfoType' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'SwapEnvironmentCNAMEs' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'SwapEnvironmentCNAMEs',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'SourceEnvironmentId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'SourceEnvironmentName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 4,
'maxLength' => 23,
),
'DestinationEnvironmentId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'DestinationEnvironmentName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 4,
'maxLength' => 23,
),
),
),
'TerminateEnvironment' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EnvironmentDescription',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'TerminateEnvironment',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'EnvironmentId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'EnvironmentName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 4,
'maxLength' => 23,
),
'TerminateResources' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Unable to perform the specified operation because the user does not have enough privileges for one of more downstream aws services',
'class' => 'InsufficientPrivilegesException',
),
),
),
'UpdateApplication' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ApplicationDescriptionMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'UpdateApplication',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'ApplicationName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'Description' => array(
'type' => 'string',
'location' => 'aws.query',
'maxLength' => 200,
),
),
),
'UpdateApplicationVersion' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ApplicationVersionDescriptionMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'UpdateApplicationVersion',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'ApplicationName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'VersionLabel' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'Description' => array(
'type' => 'string',
'location' => 'aws.query',
'maxLength' => 200,
),
),
),
'UpdateConfigurationTemplate' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ConfigurationSettingsDescription',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'UpdateConfigurationTemplate',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'ApplicationName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'TemplateName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'Description' => array(
'type' => 'string',
'location' => 'aws.query',
'maxLength' => 200,
),
'OptionSettings' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'OptionSettings.member',
'items' => array(
'name' => 'ConfigurationOptionSetting',
'type' => 'object',
'properties' => array(
'Namespace' => array(
'type' => 'string',
),
'OptionName' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
'OptionsToRemove' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'OptionsToRemove.member',
'items' => array(
'name' => 'OptionSpecification',
'type' => 'object',
'properties' => array(
'Namespace' => array(
'type' => 'string',
),
'OptionName' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Unable to perform the specified operation because the user does not have enough privileges for one of more downstream aws services',
'class' => 'InsufficientPrivilegesException',
),
),
),
'UpdateEnvironment' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EnvironmentDescription',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'UpdateEnvironment',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'EnvironmentId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'EnvironmentName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 4,
'maxLength' => 23,
),
'Description' => array(
'type' => 'string',
'location' => 'aws.query',
'maxLength' => 200,
),
'Tier' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Type' => array(
'type' => 'string',
),
'Version' => array(
'type' => 'string',
),
),
),
'VersionLabel' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'TemplateName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'OptionSettings' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'OptionSettings.member',
'items' => array(
'name' => 'ConfigurationOptionSetting',
'type' => 'object',
'properties' => array(
'Namespace' => array(
'type' => 'string',
),
'OptionName' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
'OptionsToRemove' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'OptionsToRemove.member',
'items' => array(
'name' => 'OptionSpecification',
'type' => 'object',
'properties' => array(
'Namespace' => array(
'type' => 'string',
),
'OptionName' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Unable to perform the specified operation because the user does not have enough privileges for one of more downstream aws services',
'class' => 'InsufficientPrivilegesException',
),
),
),
'ValidateConfigurationSettings' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ConfigurationSettingsValidationMessages',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ValidateConfigurationSettings',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'ApplicationName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'TemplateName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 100,
),
'EnvironmentName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 4,
'maxLength' => 23,
),
'OptionSettings' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'OptionSettings.member',
'items' => array(
'name' => 'ConfigurationOptionSetting',
'type' => 'object',
'properties' => array(
'Namespace' => array(
'type' => 'string',
),
'OptionName' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Unable to perform the specified operation because the user does not have enough privileges for one of more downstream aws services',
'class' => 'InsufficientPrivilegesException',
),
),
),
),
'models' => array(
'CheckDNSAvailabilityResultMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Available' => array(
'type' => 'boolean',
'location' => 'xml',
),
'FullyQualifiedCNAME' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ApplicationDescriptionMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Application' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'ApplicationName' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'DateCreated' => array(
'type' => 'string',
),
'DateUpdated' => array(
'type' => 'string',
),
'Versions' => array(
'type' => 'array',
'items' => array(
'name' => 'VersionLabel',
'type' => 'string',
'sentAs' => 'member',
),
),
'ConfigurationTemplates' => array(
'type' => 'array',
'items' => array(
'name' => 'ConfigurationTemplateName',
'type' => 'string',
'sentAs' => 'member',
),
),
),
),
),
),
'ApplicationVersionDescriptionMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ApplicationVersion' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'ApplicationName' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'VersionLabel' => array(
'type' => 'string',
),
'SourceBundle' => array(
'type' => 'object',
'properties' => array(
'S3Bucket' => array(
'type' => 'string',
),
'S3Key' => array(
'type' => 'string',
),
),
),
'DateCreated' => array(
'type' => 'string',
),
'DateUpdated' => array(
'type' => 'string',
),
),
),
),
),
'ConfigurationSettingsDescription' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'SolutionStackName' => array(
'type' => 'string',
'location' => 'xml',
),
'ApplicationName' => array(
'type' => 'string',
'location' => 'xml',
),
'TemplateName' => array(
'type' => 'string',
'location' => 'xml',
),
'Description' => array(
'type' => 'string',
'location' => 'xml',
),
'EnvironmentName' => array(
'type' => 'string',
'location' => 'xml',
),
'DeploymentStatus' => array(
'type' => 'string',
'location' => 'xml',
),
'DateCreated' => array(
'type' => 'string',
'location' => 'xml',
),
'DateUpdated' => array(
'type' => 'string',
'location' => 'xml',
),
'OptionSettings' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'ConfigurationOptionSetting',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Namespace' => array(
'type' => 'string',
),
'OptionName' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
),
),
'EnvironmentDescription' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'EnvironmentName' => array(
'type' => 'string',
'location' => 'xml',
),
'EnvironmentId' => array(
'type' => 'string',
'location' => 'xml',
),
'ApplicationName' => array(
'type' => 'string',
'location' => 'xml',
),
'VersionLabel' => array(
'type' => 'string',
'location' => 'xml',
),
'SolutionStackName' => array(
'type' => 'string',
'location' => 'xml',
),
'TemplateName' => array(
'type' => 'string',
'location' => 'xml',
),
'Description' => array(
'type' => 'string',
'location' => 'xml',
),
'EndpointURL' => array(
'type' => 'string',
'location' => 'xml',
),
'CNAME' => array(
'type' => 'string',
'location' => 'xml',
),
'DateCreated' => array(
'type' => 'string',
'location' => 'xml',
),
'DateUpdated' => array(
'type' => 'string',
'location' => 'xml',
),
'Status' => array(
'type' => 'string',
'location' => 'xml',
),
'Health' => array(
'type' => 'string',
'location' => 'xml',
),
'Resources' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'LoadBalancer' => array(
'type' => 'object',
'properties' => array(
'LoadBalancerName' => array(
'type' => 'string',
),
'Domain' => array(
'type' => 'string',
),
'Listeners' => array(
'type' => 'array',
'items' => array(
'name' => 'Listener',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Protocol' => array(
'type' => 'string',
),
'Port' => array(
'type' => 'numeric',
),
),
),
),
),
),
),
),
'Tier' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Type' => array(
'type' => 'string',
),
'Version' => array(
'type' => 'string',
),
),
),
),
),
'CreateStorageLocationResultMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'S3Bucket' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'EmptyOutput' => array(
'type' => 'object',
'additionalProperties' => true,
),
'ApplicationVersionDescriptionsMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ApplicationVersions' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'ApplicationVersionDescription',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'ApplicationName' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'VersionLabel' => array(
'type' => 'string',
),
'SourceBundle' => array(
'type' => 'object',
'properties' => array(
'S3Bucket' => array(
'type' => 'string',
),
'S3Key' => array(
'type' => 'string',
),
),
),
'DateCreated' => array(
'type' => 'string',
),
'DateUpdated' => array(
'type' => 'string',
),
),
),
),
),
),
'ApplicationDescriptionsMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Applications' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'ApplicationDescription',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'ApplicationName' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'DateCreated' => array(
'type' => 'string',
),
'DateUpdated' => array(
'type' => 'string',
),
'Versions' => array(
'type' => 'array',
'items' => array(
'name' => 'VersionLabel',
'type' => 'string',
'sentAs' => 'member',
),
),
'ConfigurationTemplates' => array(
'type' => 'array',
'items' => array(
'name' => 'ConfigurationTemplateName',
'type' => 'string',
'sentAs' => 'member',
),
),
),
),
),
),
),
'ConfigurationOptionsDescription' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'SolutionStackName' => array(
'type' => 'string',
'location' => 'xml',
),
'Options' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'ConfigurationOptionDescription',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Namespace' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'DefaultValue' => array(
'type' => 'string',
),
'ChangeSeverity' => array(
'type' => 'string',
),
'UserDefined' => array(
'type' => 'boolean',
),
'ValueType' => array(
'type' => 'string',
),
'ValueOptions' => array(
'type' => 'array',
'items' => array(
'name' => 'ConfigurationOptionPossibleValue',
'type' => 'string',
'sentAs' => 'member',
),
),
'MinValue' => array(
'type' => 'numeric',
),
'MaxValue' => array(
'type' => 'numeric',
),
'MaxLength' => array(
'type' => 'numeric',
),
'Regex' => array(
'type' => 'object',
'properties' => array(
'Pattern' => array(
'type' => 'string',
),
'Label' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'ConfigurationSettingsDescriptions' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ConfigurationSettings' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'ConfigurationSettingsDescription',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'SolutionStackName' => array(
'type' => 'string',
),
'ApplicationName' => array(
'type' => 'string',
),
'TemplateName' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'EnvironmentName' => array(
'type' => 'string',
),
'DeploymentStatus' => array(
'type' => 'string',
),
'DateCreated' => array(
'type' => 'string',
),
'DateUpdated' => array(
'type' => 'string',
),
'OptionSettings' => array(
'type' => 'array',
'items' => array(
'name' => 'ConfigurationOptionSetting',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Namespace' => array(
'type' => 'string',
),
'OptionName' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'EnvironmentResourceDescriptionsMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'EnvironmentResources' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'EnvironmentName' => array(
'type' => 'string',
),
'AutoScalingGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'AutoScalingGroup',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Name' => array(
'type' => 'string',
),
),
),
),
'Instances' => array(
'type' => 'array',
'items' => array(
'name' => 'Instance',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Id' => array(
'type' => 'string',
),
),
),
),
'LaunchConfigurations' => array(
'type' => 'array',
'items' => array(
'name' => 'LaunchConfiguration',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Name' => array(
'type' => 'string',
),
),
),
),
'LoadBalancers' => array(
'type' => 'array',
'items' => array(
'name' => 'LoadBalancer',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Name' => array(
'type' => 'string',
),
),
),
),
'Triggers' => array(
'type' => 'array',
'items' => array(
'name' => 'Trigger',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Name' => array(
'type' => 'string',
),
),
),
),
'Queues' => array(
'type' => 'array',
'items' => array(
'name' => 'Queue',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'URL' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'EnvironmentDescriptionsMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Environments' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'EnvironmentDescription',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'EnvironmentName' => array(
'type' => 'string',
),
'EnvironmentId' => array(
'type' => 'string',
),
'ApplicationName' => array(
'type' => 'string',
),
'VersionLabel' => array(
'type' => 'string',
),
'SolutionStackName' => array(
'type' => 'string',
),
'TemplateName' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'EndpointURL' => array(
'type' => 'string',
),
'CNAME' => array(
'type' => 'string',
),
'DateCreated' => array(
'type' => 'string',
),
'DateUpdated' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'Health' => array(
'type' => 'string',
),
'Resources' => array(
'type' => 'object',
'properties' => array(
'LoadBalancer' => array(
'type' => 'object',
'properties' => array(
'LoadBalancerName' => array(
'type' => 'string',
),
'Domain' => array(
'type' => 'string',
),
'Listeners' => array(
'type' => 'array',
'items' => array(
'name' => 'Listener',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Protocol' => array(
'type' => 'string',
),
'Port' => array(
'type' => 'numeric',
),
),
),
),
),
),
),
),
'Tier' => array(
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Type' => array(
'type' => 'string',
),
'Version' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'EventDescriptionsMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Events' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'EventDescription',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'EventDate' => array(
'type' => 'string',
),
'Message' => array(
'type' => 'string',
),
'ApplicationName' => array(
'type' => 'string',
),
'VersionLabel' => array(
'type' => 'string',
),
'TemplateName' => array(
'type' => 'string',
),
'EnvironmentName' => array(
'type' => 'string',
),
'RequestId' => array(
'type' => 'string',
),
'Severity' => array(
'type' => 'string',
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ListAvailableSolutionStacksResultMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'SolutionStacks' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'SolutionStackName',
'type' => 'string',
'sentAs' => 'member',
),
),
'SolutionStackDetails' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'SolutionStackDescription',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'SolutionStackName' => array(
'type' => 'string',
),
'PermittedFileTypes' => array(
'type' => 'array',
'items' => array(
'name' => 'FileTypeExtension',
'type' => 'string',
'sentAs' => 'member',
),
),
),
),
),
),
),
'RetrieveEnvironmentInfoResultMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'EnvironmentInfo' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'EnvironmentInfoDescription',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'InfoType' => array(
'type' => 'string',
),
'Ec2InstanceId' => array(
'type' => 'string',
),
'SampleTimestamp' => array(
'type' => 'string',
),
'Message' => array(
'type' => 'string',
),
),
),
),
),
),
'ConfigurationSettingsValidationMessages' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Messages' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'ValidationMessage',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Message' => array(
'type' => 'string',
),
'Severity' => array(
'type' => 'string',
),
'Namespace' => array(
'type' => 'string',
),
'OptionName' => array(
'type' => 'string',
),
),
),
),
),
),
),
'iterators' => array(
'operations' => array(
'DescribeApplicationVersions' => array(
'result_key' => 'ApplicationVersions',
),
'DescribeApplications' => array(
'result_key' => 'Applications',
),
'DescribeConfigurationOptions' => array(
'result_key' => 'Options',
),
'DescribeEnvironments' => array(
'result_key' => 'Environments',
),
'DescribeEvents' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'limit_key' => 'MaxRecords',
'result_key' => 'Events',
),
'ListAvailableSolutionStacks' => array(
'result_key' => 'SolutionStacks',
),
),
),
'waiters' => array(
'__default__' => array(
'interval' => 20,
'max_attempts' => 40,
'acceptor.type' => 'output',
),
'__EnvironmentState' => array(
'operation' => 'DescribeEnvironments',
'acceptor.path' => 'Environments/*/Status',
),
'EnvironmentReady' => array(
'extends' => '__EnvironmentState',
'success.value' => 'Ready',
'failure.value' => array(
'Terminated',
'Terminating',
),
),
'EnvironmentTerminated' => array(
'extends' => '__EnvironmentState',
'success.value' => 'Terminated',
'failure.value' => array(
'Launching',
'Updating',
),
),
),
);
sdk-2.5.2/Aws/ElasticLoadBalancing/ElasticLoadBalancingClient.php 0000644 115327001610067500000013551 12272324172 021763 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/elasticloadbalancing-%s.php'
))
->build();
}
}
sdk-2.5.2/Aws/ElasticLoadBalancing/Exception/AccessPointNotFoundException.php 0000644 115327001610067500000001406 12272324172 024342 0 ustar '2012-06-01',
'endpointPrefix' => 'elasticloadbalancing',
'serviceFullName' => 'Elastic Load Balancing',
'serviceType' => 'query',
'resultWrapped' => true,
'signatureVersion' => 'v4',
'namespace' => 'ElasticLoadBalancing',
'regions' => array(
'us-east-1' => array(
'http' => true,
'https' => true,
'hostname' => 'elasticloadbalancing.us-east-1.amazonaws.com',
),
'us-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'elasticloadbalancing.us-west-1.amazonaws.com',
),
'us-west-2' => array(
'http' => true,
'https' => true,
'hostname' => 'elasticloadbalancing.us-west-2.amazonaws.com',
),
'eu-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'elasticloadbalancing.eu-west-1.amazonaws.com',
),
'ap-northeast-1' => array(
'http' => true,
'https' => true,
'hostname' => 'elasticloadbalancing.ap-northeast-1.amazonaws.com',
),
'ap-southeast-1' => array(
'http' => true,
'https' => true,
'hostname' => 'elasticloadbalancing.ap-southeast-1.amazonaws.com',
),
'ap-southeast-2' => array(
'http' => true,
'https' => true,
'hostname' => 'elasticloadbalancing.ap-southeast-2.amazonaws.com',
),
'sa-east-1' => array(
'http' => true,
'https' => true,
'hostname' => 'elasticloadbalancing.sa-east-1.amazonaws.com',
),
'cn-north-1' => array(
'http' => true,
'https' => true,
'hostname' => 'elasticloadbalancing.cn-north-1.amazonaws.com.cn',
),
'us-gov-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'elasticloadbalancing.us-gov-west-1.amazonaws.com',
),
),
'operations' => array(
'ApplySecurityGroupsToLoadBalancer' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ApplySecurityGroupsToLoadBalancerOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ApplySecurityGroupsToLoadBalancer',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-06-01',
),
'LoadBalancerName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'SecurityGroups' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'SecurityGroups.member',
'items' => array(
'name' => 'SecurityGroupId',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'The specified load balancer could not be found.',
'class' => 'AccessPointNotFoundException',
),
array(
'reason' => 'Requested configuration change is invalid.',
'class' => 'InvalidConfigurationRequestException',
),
array(
'reason' => 'One or more specified security groups do not exist.',
'class' => 'InvalidSecurityGroupException',
),
),
),
'AttachLoadBalancerToSubnets' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'AttachLoadBalancerToSubnetsOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'AttachLoadBalancerToSubnets',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-06-01',
),
'LoadBalancerName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Subnets' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Subnets.member',
'items' => array(
'name' => 'SubnetId',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'The specified load balancer could not be found.',
'class' => 'AccessPointNotFoundException',
),
array(
'reason' => 'Requested configuration change is invalid.',
'class' => 'InvalidConfigurationRequestException',
),
array(
'reason' => 'One or more subnets were not found.',
'class' => 'SubnetNotFoundException',
),
array(
'reason' => 'The VPC has no Internet gateway.',
'class' => 'InvalidSubnetException',
),
),
),
'ConfigureHealthCheck' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ConfigureHealthCheckOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ConfigureHealthCheck',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-06-01',
),
'LoadBalancerName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'HealthCheck' => array(
'required' => true,
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Target' => array(
'required' => true,
'type' => 'string',
),
'Interval' => array(
'required' => true,
'type' => 'numeric',
'minimum' => 1,
'maximum' => 300,
),
'Timeout' => array(
'required' => true,
'type' => 'numeric',
'minimum' => 1,
'maximum' => 300,
),
'UnhealthyThreshold' => array(
'required' => true,
'type' => 'numeric',
'minimum' => 2,
'maximum' => 10,
),
'HealthyThreshold' => array(
'required' => true,
'type' => 'numeric',
'minimum' => 2,
'maximum' => 10,
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'The specified load balancer could not be found.',
'class' => 'AccessPointNotFoundException',
),
),
),
'CreateAppCookieStickinessPolicy' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateAppCookieStickinessPolicy',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-06-01',
),
'LoadBalancerName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'PolicyName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'CookieName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified load balancer could not be found.',
'class' => 'AccessPointNotFoundException',
),
array(
'reason' => 'Policy with the same name exists for this load balancer. Please choose another name.',
'class' => 'DuplicatePolicyNameException',
),
array(
'reason' => 'Quota for number of policies for this load balancer has already been reached.',
'class' => 'TooManyPoliciesException',
),
array(
'reason' => 'Requested configuration change is invalid.',
'class' => 'InvalidConfigurationRequestException',
),
),
),
'CreateLBCookieStickinessPolicy' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateLBCookieStickinessPolicy',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-06-01',
),
'LoadBalancerName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'PolicyName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'CookieExpirationPeriod' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified load balancer could not be found.',
'class' => 'AccessPointNotFoundException',
),
array(
'reason' => 'Policy with the same name exists for this load balancer. Please choose another name.',
'class' => 'DuplicatePolicyNameException',
),
array(
'reason' => 'Quota for number of policies for this load balancer has already been reached.',
'class' => 'TooManyPoliciesException',
),
array(
'reason' => 'Requested configuration change is invalid.',
'class' => 'InvalidConfigurationRequestException',
),
),
),
'CreateLoadBalancer' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateAccessPointOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateLoadBalancer',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-06-01',
),
'LoadBalancerName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Listeners' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Listeners.member',
'items' => array(
'name' => 'Listener',
'type' => 'object',
'properties' => array(
'Protocol' => array(
'required' => true,
'type' => 'string',
),
'LoadBalancerPort' => array(
'required' => true,
'type' => 'numeric',
),
'InstanceProtocol' => array(
'type' => 'string',
),
'InstancePort' => array(
'required' => true,
'type' => 'numeric',
'minimum' => 1,
'maximum' => 65535,
),
'SSLCertificateId' => array(
'type' => 'string',
),
),
),
),
'AvailabilityZones' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'AvailabilityZones.member',
'items' => array(
'name' => 'AvailabilityZone',
'type' => 'string',
),
),
'Subnets' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Subnets.member',
'items' => array(
'name' => 'SubnetId',
'type' => 'string',
),
),
'SecurityGroups' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'SecurityGroups.member',
'items' => array(
'name' => 'SecurityGroupId',
'type' => 'string',
),
),
'Scheme' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Load balancer name already exists for this account. Please choose another name.',
'class' => 'DuplicateAccessPointNameException',
),
array(
'reason' => 'The quota for the number of load balancers has already been reached.',
'class' => 'TooManyAccessPointsException',
),
array(
'reason' => 'The specified SSL ID does not refer to a valid SSL certificate in the AWS Identity and Access Management Service.',
'class' => 'CertificateNotFoundException',
),
array(
'reason' => 'Requested configuration change is invalid.',
'class' => 'InvalidConfigurationRequestException',
),
array(
'reason' => 'One or more subnets were not found.',
'class' => 'SubnetNotFoundException',
),
array(
'reason' => 'The VPC has no Internet gateway.',
'class' => 'InvalidSubnetException',
),
array(
'reason' => 'One or more specified security groups do not exist.',
'class' => 'InvalidSecurityGroupException',
),
array(
'reason' => 'Invalid value for scheme. Scheme can only be specified for load balancers in VPC.',
'class' => 'InvalidSchemeException',
),
),
),
'CreateLoadBalancerListeners' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateLoadBalancerListeners',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-06-01',
),
'LoadBalancerName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Listeners' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Listeners.member',
'items' => array(
'name' => 'Listener',
'type' => 'object',
'properties' => array(
'Protocol' => array(
'required' => true,
'type' => 'string',
),
'LoadBalancerPort' => array(
'required' => true,
'type' => 'numeric',
),
'InstanceProtocol' => array(
'type' => 'string',
),
'InstancePort' => array(
'required' => true,
'type' => 'numeric',
'minimum' => 1,
'maximum' => 65535,
),
'SSLCertificateId' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'The specified load balancer could not be found.',
'class' => 'AccessPointNotFoundException',
),
array(
'reason' => 'A Listener already exists for the given LoadBalancerName and LoadBalancerPort, but with a different InstancePort, Protocol, or SSLCertificateId.',
'class' => 'DuplicateListenerException',
),
array(
'reason' => 'The specified SSL ID does not refer to a valid SSL certificate in the AWS Identity and Access Management Service.',
'class' => 'CertificateNotFoundException',
),
array(
'reason' => 'Requested configuration change is invalid.',
'class' => 'InvalidConfigurationRequestException',
),
),
),
'CreateLoadBalancerPolicy' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateLoadBalancerPolicy',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-06-01',
),
'LoadBalancerName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'PolicyName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'PolicyTypeName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'PolicyAttributes' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'PolicyAttributes.member',
'items' => array(
'name' => 'PolicyAttribute',
'type' => 'object',
'properties' => array(
'AttributeName' => array(
'type' => 'string',
),
'AttributeValue' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'The specified load balancer could not be found.',
'class' => 'AccessPointNotFoundException',
),
array(
'reason' => 'One or more of the specified policy types do not exist.',
'class' => 'PolicyTypeNotFoundException',
),
array(
'reason' => 'Policy with the same name exists for this load balancer. Please choose another name.',
'class' => 'DuplicatePolicyNameException',
),
array(
'reason' => 'Quota for number of policies for this load balancer has already been reached.',
'class' => 'TooManyPoliciesException',
),
array(
'reason' => 'Requested configuration change is invalid.',
'class' => 'InvalidConfigurationRequestException',
),
),
),
'DeleteLoadBalancer' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteLoadBalancer',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-06-01',
),
'LoadBalancerName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DeleteLoadBalancerListeners' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteLoadBalancerListeners',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-06-01',
),
'LoadBalancerName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'LoadBalancerPorts' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'LoadBalancerPorts.member',
'items' => array(
'name' => 'AccessPointPort',
'type' => 'numeric',
),
),
),
'errorResponses' => array(
array(
'reason' => 'The specified load balancer could not be found.',
'class' => 'AccessPointNotFoundException',
),
),
),
'DeleteLoadBalancerPolicy' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteLoadBalancerPolicy',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-06-01',
),
'LoadBalancerName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'PolicyName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified load balancer could not be found.',
'class' => 'AccessPointNotFoundException',
),
array(
'reason' => 'Requested configuration change is invalid.',
'class' => 'InvalidConfigurationRequestException',
),
),
),
'DeregisterInstancesFromLoadBalancer' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DeregisterEndPointsOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeregisterInstancesFromLoadBalancer',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-06-01',
),
'LoadBalancerName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Instances' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Instances.member',
'items' => array(
'name' => 'Instance',
'type' => 'object',
'properties' => array(
'InstanceId' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'The specified load balancer could not be found.',
'class' => 'AccessPointNotFoundException',
),
array(
'reason' => 'The specified EndPoint is not valid.',
'class' => 'InvalidEndPointException',
),
),
),
'DescribeInstanceHealth' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeEndPointStateOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeInstanceHealth',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-06-01',
),
'LoadBalancerName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Instances' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Instances.member',
'items' => array(
'name' => 'Instance',
'type' => 'object',
'properties' => array(
'InstanceId' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'The specified load balancer could not be found.',
'class' => 'AccessPointNotFoundException',
),
array(
'reason' => 'The specified EndPoint is not valid.',
'class' => 'InvalidEndPointException',
),
),
),
'DescribeLoadBalancerAttributes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeLoadBalancerAttributesOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeLoadBalancerAttributes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-06-01',
),
'LoadBalancerName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified load balancer could not be found.',
'class' => 'AccessPointNotFoundException',
),
array(
'reason' => 'The specified load balancer attribute could not be found.',
'class' => 'LoadBalancerAttributeNotFoundException',
),
),
),
'DescribeLoadBalancerPolicies' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeLoadBalancerPoliciesOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeLoadBalancerPolicies',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-06-01',
),
'LoadBalancerName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'PolicyNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'PolicyNames.member',
'items' => array(
'name' => 'PolicyName',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'The specified load balancer could not be found.',
'class' => 'AccessPointNotFoundException',
),
array(
'reason' => 'One or more specified policies were not found.',
'class' => 'PolicyNotFoundException',
),
),
),
'DescribeLoadBalancerPolicyTypes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeLoadBalancerPolicyTypesOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeLoadBalancerPolicyTypes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-06-01',
),
'PolicyTypeNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'PolicyTypeNames.member',
'items' => array(
'name' => 'PolicyTypeName',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'One or more of the specified policy types do not exist.',
'class' => 'PolicyTypeNotFoundException',
),
),
),
'DescribeLoadBalancers' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeAccessPointsOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeLoadBalancers',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-06-01',
),
'LoadBalancerNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'LoadBalancerNames.member',
'items' => array(
'name' => 'AccessPointName',
'type' => 'string',
),
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified load balancer could not be found.',
'class' => 'AccessPointNotFoundException',
),
),
),
'DetachLoadBalancerFromSubnets' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DetachLoadBalancerFromSubnetsOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DetachLoadBalancerFromSubnets',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-06-01',
),
'LoadBalancerName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Subnets' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Subnets.member',
'items' => array(
'name' => 'SubnetId',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'The specified load balancer could not be found.',
'class' => 'AccessPointNotFoundException',
),
array(
'reason' => 'Requested configuration change is invalid.',
'class' => 'InvalidConfigurationRequestException',
),
),
),
'DisableAvailabilityZonesForLoadBalancer' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'RemoveAvailabilityZonesOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DisableAvailabilityZonesForLoadBalancer',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-06-01',
),
'LoadBalancerName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'AvailabilityZones' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'AvailabilityZones.member',
'items' => array(
'name' => 'AvailabilityZone',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'The specified load balancer could not be found.',
'class' => 'AccessPointNotFoundException',
),
array(
'reason' => 'Requested configuration change is invalid.',
'class' => 'InvalidConfigurationRequestException',
),
),
),
'EnableAvailabilityZonesForLoadBalancer' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'AddAvailabilityZonesOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'EnableAvailabilityZonesForLoadBalancer',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-06-01',
),
'LoadBalancerName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'AvailabilityZones' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'AvailabilityZones.member',
'items' => array(
'name' => 'AvailabilityZone',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'The specified load balancer could not be found.',
'class' => 'AccessPointNotFoundException',
),
),
),
'ModifyLoadBalancerAttributes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ModifyLoadBalancerAttributes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-06-01',
),
'LoadBalancerName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'LoadBalancerAttributes' => array(
'required' => true,
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'CrossZoneLoadBalancing' => array(
'type' => 'object',
'properties' => array(
'Enabled' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'The specified load balancer could not be found.',
'class' => 'AccessPointNotFoundException',
),
array(
'reason' => 'The specified load balancer attribute could not be found.',
'class' => 'LoadBalancerAttributeNotFoundException',
),
array(
'reason' => 'Requested configuration change is invalid.',
'class' => 'InvalidConfigurationRequestException',
),
),
),
'RegisterInstancesWithLoadBalancer' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'RegisterEndPointsOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RegisterInstancesWithLoadBalancer',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-06-01',
),
'LoadBalancerName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Instances' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Instances.member',
'items' => array(
'name' => 'Instance',
'type' => 'object',
'properties' => array(
'InstanceId' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'The specified load balancer could not be found.',
'class' => 'AccessPointNotFoundException',
),
array(
'reason' => 'The specified EndPoint is not valid.',
'class' => 'InvalidEndPointException',
),
),
),
'SetLoadBalancerListenerSSLCertificate' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'SetLoadBalancerListenerSSLCertificate',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-06-01',
),
'LoadBalancerName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'LoadBalancerPort' => array(
'required' => true,
'type' => 'numeric',
'location' => 'aws.query',
),
'SSLCertificateId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified SSL ID does not refer to a valid SSL certificate in the AWS Identity and Access Management Service.',
'class' => 'CertificateNotFoundException',
),
array(
'reason' => 'The specified load balancer could not be found.',
'class' => 'AccessPointNotFoundException',
),
array(
'reason' => 'Load balancer does not have a listener configured at the given port.',
'class' => 'ListenerNotFoundException',
),
array(
'reason' => 'Requested configuration change is invalid.',
'class' => 'InvalidConfigurationRequestException',
),
),
),
'SetLoadBalancerPoliciesForBackendServer' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'SetLoadBalancerPoliciesForBackendServer',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-06-01',
),
'LoadBalancerName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'InstancePort' => array(
'required' => true,
'type' => 'numeric',
'location' => 'aws.query',
),
'PolicyNames' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'PolicyNames.member',
'items' => array(
'name' => 'PolicyName',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'The specified load balancer could not be found.',
'class' => 'AccessPointNotFoundException',
),
array(
'reason' => 'One or more specified policies were not found.',
'class' => 'PolicyNotFoundException',
),
array(
'reason' => 'Requested configuration change is invalid.',
'class' => 'InvalidConfigurationRequestException',
),
),
),
'SetLoadBalancerPoliciesOfListener' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'SetLoadBalancerPoliciesOfListener',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-06-01',
),
'LoadBalancerName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'LoadBalancerPort' => array(
'required' => true,
'type' => 'numeric',
'location' => 'aws.query',
),
'PolicyNames' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'PolicyNames.member',
'items' => array(
'name' => 'PolicyName',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'The specified load balancer could not be found.',
'class' => 'AccessPointNotFoundException',
),
array(
'reason' => 'One or more specified policies were not found.',
'class' => 'PolicyNotFoundException',
),
array(
'reason' => 'Load balancer does not have a listener configured at the given port.',
'class' => 'ListenerNotFoundException',
),
array(
'reason' => 'Requested configuration change is invalid.',
'class' => 'InvalidConfigurationRequestException',
),
),
),
),
'models' => array(
'ApplySecurityGroupsToLoadBalancerOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'SecurityGroups' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'SecurityGroupId',
'type' => 'string',
'sentAs' => 'member',
),
),
),
),
'AttachLoadBalancerToSubnetsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Subnets' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'SubnetId',
'type' => 'string',
'sentAs' => 'member',
),
),
),
),
'ConfigureHealthCheckOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'HealthCheck' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Target' => array(
'type' => 'string',
),
'Interval' => array(
'type' => 'numeric',
),
'Timeout' => array(
'type' => 'numeric',
),
'UnhealthyThreshold' => array(
'type' => 'numeric',
),
'HealthyThreshold' => array(
'type' => 'numeric',
),
),
),
),
),
'EmptyOutput' => array(
'type' => 'object',
'additionalProperties' => true,
),
'CreateAccessPointOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'DNSName' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'DeregisterEndPointsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Instances' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Instance',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'InstanceId' => array(
'type' => 'string',
),
),
),
),
),
),
'DescribeEndPointStateOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'InstanceStates' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'InstanceState',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'InstanceId' => array(
'type' => 'string',
),
'State' => array(
'type' => 'string',
),
'ReasonCode' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
),
),
),
),
),
'DescribeLoadBalancerAttributesOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'LoadBalancerAttributes' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'CrossZoneLoadBalancing' => array(
'type' => 'object',
'properties' => array(
'Enabled' => array(
'type' => 'boolean',
),
),
),
),
),
),
),
'DescribeLoadBalancerPoliciesOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'PolicyDescriptions' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'PolicyDescription',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'PolicyName' => array(
'type' => 'string',
),
'PolicyTypeName' => array(
'type' => 'string',
),
'PolicyAttributeDescriptions' => array(
'type' => 'array',
'items' => array(
'name' => 'PolicyAttributeDescription',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'AttributeName' => array(
'type' => 'string',
),
'AttributeValue' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'DescribeLoadBalancerPolicyTypesOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'PolicyTypeDescriptions' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'PolicyTypeDescription',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'PolicyTypeName' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'PolicyAttributeTypeDescriptions' => array(
'type' => 'array',
'items' => array(
'name' => 'PolicyAttributeTypeDescription',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'AttributeName' => array(
'type' => 'string',
),
'AttributeType' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'DefaultValue' => array(
'type' => 'string',
),
'Cardinality' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'DescribeAccessPointsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'LoadBalancerDescriptions' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'LoadBalancerDescription',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'LoadBalancerName' => array(
'type' => 'string',
),
'DNSName' => array(
'type' => 'string',
),
'CanonicalHostedZoneName' => array(
'type' => 'string',
),
'CanonicalHostedZoneNameID' => array(
'type' => 'string',
),
'ListenerDescriptions' => array(
'type' => 'array',
'items' => array(
'name' => 'ListenerDescription',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Listener' => array(
'type' => 'object',
'properties' => array(
'Protocol' => array(
'type' => 'string',
),
'LoadBalancerPort' => array(
'type' => 'numeric',
),
'InstanceProtocol' => array(
'type' => 'string',
),
'InstancePort' => array(
'type' => 'numeric',
),
'SSLCertificateId' => array(
'type' => 'string',
),
),
),
'PolicyNames' => array(
'type' => 'array',
'items' => array(
'name' => 'PolicyName',
'type' => 'string',
'sentAs' => 'member',
),
),
),
),
),
'Policies' => array(
'type' => 'object',
'properties' => array(
'AppCookieStickinessPolicies' => array(
'type' => 'array',
'items' => array(
'name' => 'AppCookieStickinessPolicy',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'PolicyName' => array(
'type' => 'string',
),
'CookieName' => array(
'type' => 'string',
),
),
),
),
'LBCookieStickinessPolicies' => array(
'type' => 'array',
'items' => array(
'name' => 'LBCookieStickinessPolicy',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'PolicyName' => array(
'type' => 'string',
),
'CookieExpirationPeriod' => array(
'type' => 'numeric',
),
),
),
),
'OtherPolicies' => array(
'type' => 'array',
'items' => array(
'name' => 'PolicyName',
'type' => 'string',
'sentAs' => 'member',
),
),
),
),
'BackendServerDescriptions' => array(
'type' => 'array',
'items' => array(
'name' => 'BackendServerDescription',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'InstancePort' => array(
'type' => 'numeric',
),
'PolicyNames' => array(
'type' => 'array',
'items' => array(
'name' => 'PolicyName',
'type' => 'string',
'sentAs' => 'member',
),
),
),
),
),
'AvailabilityZones' => array(
'type' => 'array',
'items' => array(
'name' => 'AvailabilityZone',
'type' => 'string',
'sentAs' => 'member',
),
),
'Subnets' => array(
'type' => 'array',
'items' => array(
'name' => 'SubnetId',
'type' => 'string',
'sentAs' => 'member',
),
),
'VPCId' => array(
'type' => 'string',
),
'Instances' => array(
'type' => 'array',
'items' => array(
'name' => 'Instance',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'InstanceId' => array(
'type' => 'string',
),
),
),
),
'HealthCheck' => array(
'type' => 'object',
'properties' => array(
'Target' => array(
'type' => 'string',
),
'Interval' => array(
'type' => 'numeric',
),
'Timeout' => array(
'type' => 'numeric',
),
'UnhealthyThreshold' => array(
'type' => 'numeric',
),
'HealthyThreshold' => array(
'type' => 'numeric',
),
),
),
'SourceSecurityGroup' => array(
'type' => 'object',
'properties' => array(
'OwnerAlias' => array(
'type' => 'string',
),
'GroupName' => array(
'type' => 'string',
),
),
),
'SecurityGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'SecurityGroupId',
'type' => 'string',
'sentAs' => 'member',
),
),
'CreatedTime' => array(
'type' => 'string',
),
'Scheme' => array(
'type' => 'string',
),
),
),
),
'NextMarker' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'DetachLoadBalancerFromSubnetsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Subnets' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'SubnetId',
'type' => 'string',
'sentAs' => 'member',
),
),
),
),
'RemoveAvailabilityZonesOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'AvailabilityZones' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'AvailabilityZone',
'type' => 'string',
'sentAs' => 'member',
),
),
),
),
'AddAvailabilityZonesOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'AvailabilityZones' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'AvailabilityZone',
'type' => 'string',
'sentAs' => 'member',
),
),
),
),
'RegisterEndPointsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Instances' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Instance',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'InstanceId' => array(
'type' => 'string',
),
),
),
),
),
),
),
'iterators' => array(
'operations' => array(
'DescribeInstanceHealth' => array(
'result_key' => 'InstanceStates',
),
'DescribeLoadBalancerPolicies' => array(
'result_key' => 'PolicyDescriptions',
),
'DescribeLoadBalancerPolicyTypes' => array(
'result_key' => 'PolicyTypeDescriptions',
),
'DescribeLoadBalancers' => array(
'token_param' => 'Marker',
'token_key' => 'NextMarker',
'result_key' => 'LoadBalancerDescriptions',
),
),
),
);
sdk-2.5.2/Aws/ElasticTranscoder/ElasticTranscoderClient.php 0000644 115327001610067500000010433 12272324172 021033 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/elastictranscoder-%s.php'
))
->setExceptionParser(new JsonRestExceptionParser())
->build();
}
}
sdk-2.5.2/Aws/ElasticTranscoder/Exception/AccessDeniedException.php 0000644 115327001610067500000001417 12272324172 022414 0 ustar '2012-09-25',
'endpointPrefix' => 'elastictranscoder',
'serviceFullName' => 'Amazon Elastic Transcoder',
'serviceType' => 'rest-json',
'signatureVersion' => 'v4',
'namespace' => 'ElasticTranscoder',
'regions' => array(
'us-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'elastictranscoder.us-east-1.amazonaws.com',
),
'us-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'elastictranscoder.us-west-1.amazonaws.com',
),
'us-west-2' => array(
'http' => false,
'https' => true,
'hostname' => 'elastictranscoder.us-west-2.amazonaws.com',
),
'eu-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'elastictranscoder.eu-west-1.amazonaws.com',
),
'ap-northeast-1' => array(
'http' => false,
'https' => true,
'hostname' => 'elastictranscoder.ap-northeast-1.amazonaws.com',
),
'ap-southeast-1' => array(
'http' => false,
'https' => true,
'hostname' => 'elastictranscoder.ap-southeast-1.amazonaws.com',
),
'ap-southeast-2' => array(
'http' => false,
'https' => true,
'hostname' => 'elastictranscoder.ap-southeast-2.amazonaws.com',
),
'sa-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'elastictranscoder.sa-east-1.amazonaws.com',
),
),
'operations' => array(
'CancelJob' => array(
'httpMethod' => 'DELETE',
'uri' => '/2012-09-25/jobs/{Id}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Id' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
),
'errorResponses' => array(
array(
'reason' => 'One or more required parameter values were not provided in the request.',
'class' => 'ValidationException',
),
array(
'class' => 'IncompatibleVersionException',
),
array(
'reason' => 'The requested resource does not exist or is not available. For example, the pipeline to which you\'re trying to add a job doesn\'t exist or is still being created.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'The resource you are attempting to change is in use. For example, you are attempting to delete a pipeline that is currently in use.',
'class' => 'ResourceInUseException',
),
array(
'reason' => 'General authentication failure. The request was not signed correctly.',
'class' => 'AccessDeniedException',
),
array(
'reason' => 'Elastic Transcoder encountered an unexpected exception while trying to fulfill the request.',
'class' => 'InternalServiceException',
),
),
),
'CreateJob' => array(
'httpMethod' => 'POST',
'uri' => '/2012-09-25/jobs',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'CreateJobResponse',
'responseType' => 'model',
'parameters' => array(
'PipelineId' => array(
'type' => 'string',
'location' => 'json',
),
'Input' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Key' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
'FrameRate' => array(
'type' => 'string',
),
'Resolution' => array(
'type' => 'string',
),
'AspectRatio' => array(
'type' => 'string',
),
'Interlaced' => array(
'type' => 'string',
),
'Container' => array(
'type' => 'string',
),
),
),
'Output' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Key' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
'ThumbnailPattern' => array(
'type' => 'string',
),
'Rotate' => array(
'type' => 'string',
),
'PresetId' => array(
'type' => 'string',
),
'SegmentDuration' => array(
'type' => 'string',
),
'Watermarks' => array(
'type' => 'array',
'items' => array(
'name' => 'JobWatermark',
'type' => 'object',
'properties' => array(
'PresetWatermarkId' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 40,
),
'InputKey' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
),
),
),
'AlbumArt' => array(
'type' => 'object',
'properties' => array(
'MergePolicy' => array(
'type' => 'string',
),
'Artwork' => array(
'type' => 'array',
'items' => array(
'name' => 'Artwork',
'type' => 'object',
'properties' => array(
'InputKey' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
'MaxWidth' => array(
'type' => 'string',
),
'MaxHeight' => array(
'type' => 'string',
),
'SizingPolicy' => array(
'type' => 'string',
),
'PaddingPolicy' => array(
'type' => 'string',
),
'AlbumArtFormat' => array(
'type' => 'string',
),
),
),
),
),
),
'Composition' => array(
'type' => 'array',
'items' => array(
'name' => 'Clip',
'type' => 'object',
'properties' => array(
'TimeSpan' => array(
'type' => 'object',
'properties' => array(
'StartTime' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'Outputs' => array(
'type' => 'array',
'location' => 'json',
'maxItems' => 30,
'items' => array(
'name' => 'CreateJobOutput',
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
'ThumbnailPattern' => array(
'type' => 'string',
),
'Rotate' => array(
'type' => 'string',
),
'PresetId' => array(
'type' => 'string',
),
'SegmentDuration' => array(
'type' => 'string',
),
'Watermarks' => array(
'type' => 'array',
'items' => array(
'name' => 'JobWatermark',
'type' => 'object',
'properties' => array(
'PresetWatermarkId' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 40,
),
'InputKey' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
),
),
),
'AlbumArt' => array(
'type' => 'object',
'properties' => array(
'MergePolicy' => array(
'type' => 'string',
),
'Artwork' => array(
'type' => 'array',
'items' => array(
'name' => 'Artwork',
'type' => 'object',
'properties' => array(
'InputKey' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
'MaxWidth' => array(
'type' => 'string',
),
'MaxHeight' => array(
'type' => 'string',
),
'SizingPolicy' => array(
'type' => 'string',
),
'PaddingPolicy' => array(
'type' => 'string',
),
'AlbumArtFormat' => array(
'type' => 'string',
),
),
),
),
),
),
'Composition' => array(
'type' => 'array',
'items' => array(
'name' => 'Clip',
'type' => 'object',
'properties' => array(
'TimeSpan' => array(
'type' => 'object',
'properties' => array(
'StartTime' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'OutputKeyPrefix' => array(
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 255,
),
'Playlists' => array(
'type' => 'array',
'location' => 'json',
'maxItems' => 30,
'items' => array(
'name' => 'CreateJobPlaylist',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
'Format' => array(
'type' => 'string',
),
'OutputKeys' => array(
'type' => 'array',
'maxItems' => 30,
'items' => array(
'name' => 'Key',
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'One or more required parameter values were not provided in the request.',
'class' => 'ValidationException',
),
array(
'class' => 'IncompatibleVersionException',
),
array(
'reason' => 'The requested resource does not exist or is not available. For example, the pipeline to which you\'re trying to add a job doesn\'t exist or is still being created.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'General authentication failure. The request was not signed correctly.',
'class' => 'AccessDeniedException',
),
array(
'reason' => 'Too many operations for a given AWS account. For example, the number of pipelines exceeds the maximum allowed.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'Elastic Transcoder encountered an unexpected exception while trying to fulfill the request.',
'class' => 'InternalServiceException',
),
),
),
'CreatePipeline' => array(
'httpMethod' => 'POST',
'uri' => '/2012-09-25/pipelines',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'CreatePipelineResponse',
'responseType' => 'model',
'parameters' => array(
'Name' => array(
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 40,
),
'InputBucket' => array(
'type' => 'string',
'location' => 'json',
),
'OutputBucket' => array(
'type' => 'string',
'location' => 'json',
),
'Role' => array(
'type' => 'string',
'location' => 'json',
),
'Notifications' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Progressing' => array(
'type' => 'string',
),
'Completed' => array(
'type' => 'string',
),
'Warning' => array(
'type' => 'string',
),
'Error' => array(
'type' => 'string',
),
),
),
'ContentConfig' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Bucket' => array(
'type' => 'string',
),
'StorageClass' => array(
'type' => 'string',
),
'Permissions' => array(
'type' => 'array',
'maxItems' => 30,
'items' => array(
'name' => 'Permission',
'type' => 'object',
'properties' => array(
'GranteeType' => array(
'type' => 'string',
),
'Grantee' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
'Access' => array(
'type' => 'array',
'maxItems' => 30,
'items' => array(
'name' => 'AccessControl',
'type' => 'string',
),
),
),
),
),
),
),
'ThumbnailConfig' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Bucket' => array(
'type' => 'string',
),
'StorageClass' => array(
'type' => 'string',
),
'Permissions' => array(
'type' => 'array',
'maxItems' => 30,
'items' => array(
'name' => 'Permission',
'type' => 'object',
'properties' => array(
'GranteeType' => array(
'type' => 'string',
),
'Grantee' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
'Access' => array(
'type' => 'array',
'maxItems' => 30,
'items' => array(
'name' => 'AccessControl',
'type' => 'string',
),
),
),
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'One or more required parameter values were not provided in the request.',
'class' => 'ValidationException',
),
array(
'class' => 'IncompatibleVersionException',
),
array(
'reason' => 'General authentication failure. The request was not signed correctly.',
'class' => 'AccessDeniedException',
),
array(
'reason' => 'The requested resource does not exist or is not available. For example, the pipeline to which you\'re trying to add a job doesn\'t exist or is still being created.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'Too many operations for a given AWS account. For example, the number of pipelines exceeds the maximum allowed.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'Elastic Transcoder encountered an unexpected exception while trying to fulfill the request.',
'class' => 'InternalServiceException',
),
),
),
'CreatePreset' => array(
'httpMethod' => 'POST',
'uri' => '/2012-09-25/presets',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'CreatePresetResponse',
'responseType' => 'model',
'parameters' => array(
'Name' => array(
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 40,
),
'Description' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 255,
),
'Container' => array(
'type' => 'string',
'location' => 'json',
),
'Video' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Codec' => array(
'type' => 'string',
),
'CodecOptions' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
'data' => array(
'shape_name' => 'CodecOption',
),
),
),
'KeyframesMaxDist' => array(
'type' => 'string',
),
'FixedGOP' => array(
'type' => 'string',
),
'BitRate' => array(
'type' => 'string',
),
'FrameRate' => array(
'type' => 'string',
),
'MaxFrameRate' => array(
'type' => 'string',
),
'Resolution' => array(
'type' => 'string',
),
'AspectRatio' => array(
'type' => 'string',
),
'MaxWidth' => array(
'type' => 'string',
),
'MaxHeight' => array(
'type' => 'string',
),
'DisplayAspectRatio' => array(
'type' => 'string',
),
'SizingPolicy' => array(
'type' => 'string',
),
'PaddingPolicy' => array(
'type' => 'string',
),
'Watermarks' => array(
'type' => 'array',
'items' => array(
'name' => 'PresetWatermark',
'type' => 'object',
'properties' => array(
'Id' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 40,
),
'MaxWidth' => array(
'type' => 'string',
),
'MaxHeight' => array(
'type' => 'string',
),
'SizingPolicy' => array(
'type' => 'string',
),
'HorizontalAlign' => array(
'type' => 'string',
),
'HorizontalOffset' => array(
'type' => 'string',
),
'VerticalAlign' => array(
'type' => 'string',
),
'VerticalOffset' => array(
'type' => 'string',
),
'Opacity' => array(
'type' => 'string',
),
'Target' => array(
'type' => 'string',
),
),
),
),
),
),
'Audio' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Codec' => array(
'type' => 'string',
),
'SampleRate' => array(
'type' => 'string',
),
'BitRate' => array(
'type' => 'string',
),
'Channels' => array(
'type' => 'string',
),
'CodecOptions' => array(
'type' => 'object',
'properties' => array(
'Profile' => array(
'type' => 'string',
),
),
),
),
),
'Thumbnails' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Format' => array(
'type' => 'string',
),
'Interval' => array(
'type' => 'string',
),
'Resolution' => array(
'type' => 'string',
),
'AspectRatio' => array(
'type' => 'string',
),
'MaxWidth' => array(
'type' => 'string',
),
'MaxHeight' => array(
'type' => 'string',
),
'SizingPolicy' => array(
'type' => 'string',
),
'PaddingPolicy' => array(
'type' => 'string',
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'One or more required parameter values were not provided in the request.',
'class' => 'ValidationException',
),
array(
'class' => 'IncompatibleVersionException',
),
array(
'reason' => 'General authentication failure. The request was not signed correctly.',
'class' => 'AccessDeniedException',
),
array(
'reason' => 'Too many operations for a given AWS account. For example, the number of pipelines exceeds the maximum allowed.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'Elastic Transcoder encountered an unexpected exception while trying to fulfill the request.',
'class' => 'InternalServiceException',
),
),
),
'DeletePipeline' => array(
'httpMethod' => 'DELETE',
'uri' => '/2012-09-25/pipelines/{Id}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Id' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
),
'errorResponses' => array(
array(
'reason' => 'One or more required parameter values were not provided in the request.',
'class' => 'ValidationException',
),
array(
'class' => 'IncompatibleVersionException',
),
array(
'reason' => 'The requested resource does not exist or is not available. For example, the pipeline to which you\'re trying to add a job doesn\'t exist or is still being created.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'The resource you are attempting to change is in use. For example, you are attempting to delete a pipeline that is currently in use.',
'class' => 'ResourceInUseException',
),
array(
'reason' => 'General authentication failure. The request was not signed correctly.',
'class' => 'AccessDeniedException',
),
array(
'reason' => 'Elastic Transcoder encountered an unexpected exception while trying to fulfill the request.',
'class' => 'InternalServiceException',
),
),
),
'DeletePreset' => array(
'httpMethod' => 'DELETE',
'uri' => '/2012-09-25/presets/{Id}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Id' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
),
'errorResponses' => array(
array(
'reason' => 'One or more required parameter values were not provided in the request.',
'class' => 'ValidationException',
),
array(
'class' => 'IncompatibleVersionException',
),
array(
'reason' => 'The requested resource does not exist or is not available. For example, the pipeline to which you\'re trying to add a job doesn\'t exist or is still being created.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'General authentication failure. The request was not signed correctly.',
'class' => 'AccessDeniedException',
),
array(
'reason' => 'Elastic Transcoder encountered an unexpected exception while trying to fulfill the request.',
'class' => 'InternalServiceException',
),
),
),
'ListJobsByPipeline' => array(
'httpMethod' => 'GET',
'uri' => '/2012-09-25/jobsByPipeline/{PipelineId}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'ListJobsByPipelineResponse',
'responseType' => 'model',
'parameters' => array(
'PipelineId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'Ascending' => array(
'type' => 'string',
'location' => 'query',
),
'PageToken' => array(
'type' => 'string',
'location' => 'query',
),
),
'errorResponses' => array(
array(
'reason' => 'One or more required parameter values were not provided in the request.',
'class' => 'ValidationException',
),
array(
'class' => 'IncompatibleVersionException',
),
array(
'reason' => 'The requested resource does not exist or is not available. For example, the pipeline to which you\'re trying to add a job doesn\'t exist or is still being created.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'General authentication failure. The request was not signed correctly.',
'class' => 'AccessDeniedException',
),
array(
'reason' => 'Elastic Transcoder encountered an unexpected exception while trying to fulfill the request.',
'class' => 'InternalServiceException',
),
),
),
'ListJobsByStatus' => array(
'httpMethod' => 'GET',
'uri' => '/2012-09-25/jobsByStatus/{Status}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'ListJobsByStatusResponse',
'responseType' => 'model',
'parameters' => array(
'Status' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'Ascending' => array(
'type' => 'string',
'location' => 'query',
),
'PageToken' => array(
'type' => 'string',
'location' => 'query',
),
),
'errorResponses' => array(
array(
'reason' => 'One or more required parameter values were not provided in the request.',
'class' => 'ValidationException',
),
array(
'class' => 'IncompatibleVersionException',
),
array(
'reason' => 'The requested resource does not exist or is not available. For example, the pipeline to which you\'re trying to add a job doesn\'t exist or is still being created.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'General authentication failure. The request was not signed correctly.',
'class' => 'AccessDeniedException',
),
array(
'reason' => 'Elastic Transcoder encountered an unexpected exception while trying to fulfill the request.',
'class' => 'InternalServiceException',
),
),
),
'ListPipelines' => array(
'httpMethod' => 'GET',
'uri' => '/2012-09-25/pipelines',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'ListPipelinesResponse',
'responseType' => 'model',
'parameters' => array(
'Ascending' => array(
'type' => 'string',
'location' => 'query',
),
'PageToken' => array(
'type' => 'string',
'location' => 'query',
),
),
'errorResponses' => array(
array(
'reason' => 'One or more required parameter values were not provided in the request.',
'class' => 'ValidationException',
),
array(
'class' => 'IncompatibleVersionException',
),
array(
'reason' => 'General authentication failure. The request was not signed correctly.',
'class' => 'AccessDeniedException',
),
array(
'reason' => 'Elastic Transcoder encountered an unexpected exception while trying to fulfill the request.',
'class' => 'InternalServiceException',
),
),
),
'ListPresets' => array(
'httpMethod' => 'GET',
'uri' => '/2012-09-25/presets',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'ListPresetsResponse',
'responseType' => 'model',
'parameters' => array(
'Ascending' => array(
'type' => 'string',
'location' => 'query',
),
'PageToken' => array(
'type' => 'string',
'location' => 'query',
),
),
'errorResponses' => array(
array(
'reason' => 'One or more required parameter values were not provided in the request.',
'class' => 'ValidationException',
),
array(
'class' => 'IncompatibleVersionException',
),
array(
'reason' => 'General authentication failure. The request was not signed correctly.',
'class' => 'AccessDeniedException',
),
array(
'reason' => 'Elastic Transcoder encountered an unexpected exception while trying to fulfill the request.',
'class' => 'InternalServiceException',
),
),
),
'ReadJob' => array(
'httpMethod' => 'GET',
'uri' => '/2012-09-25/jobs/{Id}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'ReadJobResponse',
'responseType' => 'model',
'parameters' => array(
'Id' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
),
'errorResponses' => array(
array(
'reason' => 'One or more required parameter values were not provided in the request.',
'class' => 'ValidationException',
),
array(
'class' => 'IncompatibleVersionException',
),
array(
'reason' => 'The requested resource does not exist or is not available. For example, the pipeline to which you\'re trying to add a job doesn\'t exist or is still being created.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'General authentication failure. The request was not signed correctly.',
'class' => 'AccessDeniedException',
),
array(
'reason' => 'Elastic Transcoder encountered an unexpected exception while trying to fulfill the request.',
'class' => 'InternalServiceException',
),
),
),
'ReadPipeline' => array(
'httpMethod' => 'GET',
'uri' => '/2012-09-25/pipelines/{Id}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'ReadPipelineResponse',
'responseType' => 'model',
'parameters' => array(
'Id' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
),
'errorResponses' => array(
array(
'reason' => 'One or more required parameter values were not provided in the request.',
'class' => 'ValidationException',
),
array(
'class' => 'IncompatibleVersionException',
),
array(
'reason' => 'The requested resource does not exist or is not available. For example, the pipeline to which you\'re trying to add a job doesn\'t exist or is still being created.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'General authentication failure. The request was not signed correctly.',
'class' => 'AccessDeniedException',
),
array(
'reason' => 'Elastic Transcoder encountered an unexpected exception while trying to fulfill the request.',
'class' => 'InternalServiceException',
),
),
),
'ReadPreset' => array(
'httpMethod' => 'GET',
'uri' => '/2012-09-25/presets/{Id}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'ReadPresetResponse',
'responseType' => 'model',
'parameters' => array(
'Id' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
),
'errorResponses' => array(
array(
'reason' => 'One or more required parameter values were not provided in the request.',
'class' => 'ValidationException',
),
array(
'class' => 'IncompatibleVersionException',
),
array(
'reason' => 'The requested resource does not exist or is not available. For example, the pipeline to which you\'re trying to add a job doesn\'t exist or is still being created.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'General authentication failure. The request was not signed correctly.',
'class' => 'AccessDeniedException',
),
array(
'reason' => 'Elastic Transcoder encountered an unexpected exception while trying to fulfill the request.',
'class' => 'InternalServiceException',
),
),
),
'TestRole' => array(
'httpMethod' => 'POST',
'uri' => '/2012-09-25/roleTests',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'TestRoleResponse',
'responseType' => 'model',
'parameters' => array(
'Role' => array(
'type' => 'string',
'location' => 'json',
),
'InputBucket' => array(
'type' => 'string',
'location' => 'json',
),
'OutputBucket' => array(
'type' => 'string',
'location' => 'json',
),
'Topics' => array(
'type' => 'array',
'location' => 'json',
'maxItems' => 30,
'items' => array(
'name' => 'SnsTopic',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'One or more required parameter values were not provided in the request.',
'class' => 'ValidationException',
),
array(
'class' => 'IncompatibleVersionException',
),
array(
'reason' => 'The requested resource does not exist or is not available. For example, the pipeline to which you\'re trying to add a job doesn\'t exist or is still being created.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'General authentication failure. The request was not signed correctly.',
'class' => 'AccessDeniedException',
),
array(
'reason' => 'Elastic Transcoder encountered an unexpected exception while trying to fulfill the request.',
'class' => 'InternalServiceException',
),
),
),
'UpdatePipeline' => array(
'httpMethod' => 'PUT',
'uri' => '/2012-09-25/pipelines/{Id}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'UpdatePipelineResponse',
'responseType' => 'model',
'parameters' => array(
'Id' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'Name' => array(
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 40,
),
'InputBucket' => array(
'type' => 'string',
'location' => 'json',
),
'Role' => array(
'type' => 'string',
'location' => 'json',
),
'Notifications' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Progressing' => array(
'type' => 'string',
),
'Completed' => array(
'type' => 'string',
),
'Warning' => array(
'type' => 'string',
),
'Error' => array(
'type' => 'string',
),
),
),
'ContentConfig' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Bucket' => array(
'type' => 'string',
),
'StorageClass' => array(
'type' => 'string',
),
'Permissions' => array(
'type' => 'array',
'maxItems' => 30,
'items' => array(
'name' => 'Permission',
'type' => 'object',
'properties' => array(
'GranteeType' => array(
'type' => 'string',
),
'Grantee' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
'Access' => array(
'type' => 'array',
'maxItems' => 30,
'items' => array(
'name' => 'AccessControl',
'type' => 'string',
),
),
),
),
),
),
),
'ThumbnailConfig' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Bucket' => array(
'type' => 'string',
),
'StorageClass' => array(
'type' => 'string',
),
'Permissions' => array(
'type' => 'array',
'maxItems' => 30,
'items' => array(
'name' => 'Permission',
'type' => 'object',
'properties' => array(
'GranteeType' => array(
'type' => 'string',
),
'Grantee' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 255,
),
'Access' => array(
'type' => 'array',
'maxItems' => 30,
'items' => array(
'name' => 'AccessControl',
'type' => 'string',
),
),
),
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'One or more required parameter values were not provided in the request.',
'class' => 'ValidationException',
),
array(
'class' => 'IncompatibleVersionException',
),
array(
'reason' => 'General authentication failure. The request was not signed correctly.',
'class' => 'AccessDeniedException',
),
array(
'reason' => 'The resource you are attempting to change is in use. For example, you are attempting to delete a pipeline that is currently in use.',
'class' => 'ResourceInUseException',
),
array(
'reason' => 'The requested resource does not exist or is not available. For example, the pipeline to which you\'re trying to add a job doesn\'t exist or is still being created.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'Elastic Transcoder encountered an unexpected exception while trying to fulfill the request.',
'class' => 'InternalServiceException',
),
),
),
'UpdatePipelineNotifications' => array(
'httpMethod' => 'POST',
'uri' => '/2012-09-25/pipelines/{Id}/notifications',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'UpdatePipelineNotificationsResponse',
'responseType' => 'model',
'parameters' => array(
'Id' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'Notifications' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Progressing' => array(
'type' => 'string',
),
'Completed' => array(
'type' => 'string',
),
'Warning' => array(
'type' => 'string',
),
'Error' => array(
'type' => 'string',
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'One or more required parameter values were not provided in the request.',
'class' => 'ValidationException',
),
array(
'class' => 'IncompatibleVersionException',
),
array(
'reason' => 'The requested resource does not exist or is not available. For example, the pipeline to which you\'re trying to add a job doesn\'t exist or is still being created.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'The resource you are attempting to change is in use. For example, you are attempting to delete a pipeline that is currently in use.',
'class' => 'ResourceInUseException',
),
array(
'reason' => 'General authentication failure. The request was not signed correctly.',
'class' => 'AccessDeniedException',
),
array(
'reason' => 'Elastic Transcoder encountered an unexpected exception while trying to fulfill the request.',
'class' => 'InternalServiceException',
),
),
),
'UpdatePipelineStatus' => array(
'httpMethod' => 'POST',
'uri' => '/2012-09-25/pipelines/{Id}/status',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'UpdatePipelineStatusResponse',
'responseType' => 'model',
'parameters' => array(
'Id' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'Status' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'One or more required parameter values were not provided in the request.',
'class' => 'ValidationException',
),
array(
'class' => 'IncompatibleVersionException',
),
array(
'reason' => 'The requested resource does not exist or is not available. For example, the pipeline to which you\'re trying to add a job doesn\'t exist or is still being created.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'The resource you are attempting to change is in use. For example, you are attempting to delete a pipeline that is currently in use.',
'class' => 'ResourceInUseException',
),
array(
'reason' => 'General authentication failure. The request was not signed correctly.',
'class' => 'AccessDeniedException',
),
array(
'reason' => 'Elastic Transcoder encountered an unexpected exception while trying to fulfill the request.',
'class' => 'InternalServiceException',
),
),
),
),
'models' => array(
'EmptyOutput' => array(
'type' => 'object',
'additionalProperties' => true,
),
'CreateJobResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Job' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'PipelineId' => array(
'type' => 'string',
),
'Input' => array(
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'FrameRate' => array(
'type' => 'string',
),
'Resolution' => array(
'type' => 'string',
),
'AspectRatio' => array(
'type' => 'string',
),
'Interlaced' => array(
'type' => 'string',
),
'Container' => array(
'type' => 'string',
),
),
),
'Output' => array(
'type' => 'object',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Key' => array(
'type' => 'string',
),
'ThumbnailPattern' => array(
'type' => 'string',
),
'Rotate' => array(
'type' => 'string',
),
'PresetId' => array(
'type' => 'string',
),
'SegmentDuration' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'StatusDetail' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'numeric',
),
'Width' => array(
'type' => 'numeric',
),
'Height' => array(
'type' => 'numeric',
),
'Watermarks' => array(
'type' => 'array',
'items' => array(
'name' => 'JobWatermark',
'type' => 'object',
'properties' => array(
'PresetWatermarkId' => array(
'type' => 'string',
),
'InputKey' => array(
'type' => 'string',
),
),
),
),
'AlbumArt' => array(
'type' => 'object',
'properties' => array(
'MergePolicy' => array(
'type' => 'string',
),
'Artwork' => array(
'type' => 'array',
'items' => array(
'name' => 'Artwork',
'type' => 'object',
'properties' => array(
'InputKey' => array(
'type' => 'string',
),
'MaxWidth' => array(
'type' => 'string',
),
'MaxHeight' => array(
'type' => 'string',
),
'SizingPolicy' => array(
'type' => 'string',
),
'PaddingPolicy' => array(
'type' => 'string',
),
'AlbumArtFormat' => array(
'type' => 'string',
),
),
),
),
),
),
'Composition' => array(
'type' => 'array',
'items' => array(
'name' => 'Clip',
'type' => 'object',
'properties' => array(
'TimeSpan' => array(
'type' => 'object',
'properties' => array(
'StartTime' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'Outputs' => array(
'type' => 'array',
'items' => array(
'name' => 'JobOutput',
'type' => 'object',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Key' => array(
'type' => 'string',
),
'ThumbnailPattern' => array(
'type' => 'string',
),
'Rotate' => array(
'type' => 'string',
),
'PresetId' => array(
'type' => 'string',
),
'SegmentDuration' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'StatusDetail' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'numeric',
),
'Width' => array(
'type' => 'numeric',
),
'Height' => array(
'type' => 'numeric',
),
'Watermarks' => array(
'type' => 'array',
'items' => array(
'name' => 'JobWatermark',
'type' => 'object',
'properties' => array(
'PresetWatermarkId' => array(
'type' => 'string',
),
'InputKey' => array(
'type' => 'string',
),
),
),
),
'AlbumArt' => array(
'type' => 'object',
'properties' => array(
'MergePolicy' => array(
'type' => 'string',
),
'Artwork' => array(
'type' => 'array',
'items' => array(
'name' => 'Artwork',
'type' => 'object',
'properties' => array(
'InputKey' => array(
'type' => 'string',
),
'MaxWidth' => array(
'type' => 'string',
),
'MaxHeight' => array(
'type' => 'string',
),
'SizingPolicy' => array(
'type' => 'string',
),
'PaddingPolicy' => array(
'type' => 'string',
),
'AlbumArtFormat' => array(
'type' => 'string',
),
),
),
),
),
),
'Composition' => array(
'type' => 'array',
'items' => array(
'name' => 'Clip',
'type' => 'object',
'properties' => array(
'TimeSpan' => array(
'type' => 'object',
'properties' => array(
'StartTime' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'OutputKeyPrefix' => array(
'type' => 'string',
),
'Playlists' => array(
'type' => 'array',
'items' => array(
'name' => 'Playlist',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Format' => array(
'type' => 'string',
),
'OutputKeys' => array(
'type' => 'array',
'items' => array(
'name' => 'Key',
'type' => 'string',
),
),
'Status' => array(
'type' => 'string',
),
'StatusDetail' => array(
'type' => 'string',
),
),
),
),
'Status' => array(
'type' => 'string',
),
),
),
),
),
'CreatePipelineResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Pipeline' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'InputBucket' => array(
'type' => 'string',
),
'OutputBucket' => array(
'type' => 'string',
),
'Role' => array(
'type' => 'string',
),
'Notifications' => array(
'type' => 'object',
'properties' => array(
'Progressing' => array(
'type' => 'string',
),
'Completed' => array(
'type' => 'string',
),
'Warning' => array(
'type' => 'string',
),
'Error' => array(
'type' => 'string',
),
),
),
'ContentConfig' => array(
'type' => 'object',
'properties' => array(
'Bucket' => array(
'type' => 'string',
),
'StorageClass' => array(
'type' => 'string',
),
'Permissions' => array(
'type' => 'array',
'items' => array(
'name' => 'Permission',
'type' => 'object',
'properties' => array(
'GranteeType' => array(
'type' => 'string',
),
'Grantee' => array(
'type' => 'string',
),
'Access' => array(
'type' => 'array',
'items' => array(
'name' => 'AccessControl',
'type' => 'string',
),
),
),
),
),
),
),
'ThumbnailConfig' => array(
'type' => 'object',
'properties' => array(
'Bucket' => array(
'type' => 'string',
),
'StorageClass' => array(
'type' => 'string',
),
'Permissions' => array(
'type' => 'array',
'items' => array(
'name' => 'Permission',
'type' => 'object',
'properties' => array(
'GranteeType' => array(
'type' => 'string',
),
'Grantee' => array(
'type' => 'string',
),
'Access' => array(
'type' => 'array',
'items' => array(
'name' => 'AccessControl',
'type' => 'string',
),
),
),
),
),
),
),
),
),
),
),
'CreatePresetResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Preset' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'Container' => array(
'type' => 'string',
),
'Audio' => array(
'type' => 'object',
'properties' => array(
'Codec' => array(
'type' => 'string',
),
'SampleRate' => array(
'type' => 'string',
),
'BitRate' => array(
'type' => 'string',
),
'Channels' => array(
'type' => 'string',
),
'CodecOptions' => array(
'type' => 'object',
'properties' => array(
'Profile' => array(
'type' => 'string',
),
),
),
),
),
'Video' => array(
'type' => 'object',
'properties' => array(
'Codec' => array(
'type' => 'string',
),
'CodecOptions' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'string',
),
),
'KeyframesMaxDist' => array(
'type' => 'string',
),
'FixedGOP' => array(
'type' => 'string',
),
'BitRate' => array(
'type' => 'string',
),
'FrameRate' => array(
'type' => 'string',
),
'MaxFrameRate' => array(
'type' => 'string',
),
'Resolution' => array(
'type' => 'string',
),
'AspectRatio' => array(
'type' => 'string',
),
'MaxWidth' => array(
'type' => 'string',
),
'MaxHeight' => array(
'type' => 'string',
),
'DisplayAspectRatio' => array(
'type' => 'string',
),
'SizingPolicy' => array(
'type' => 'string',
),
'PaddingPolicy' => array(
'type' => 'string',
),
'Watermarks' => array(
'type' => 'array',
'items' => array(
'name' => 'PresetWatermark',
'type' => 'object',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'MaxWidth' => array(
'type' => 'string',
),
'MaxHeight' => array(
'type' => 'string',
),
'SizingPolicy' => array(
'type' => 'string',
),
'HorizontalAlign' => array(
'type' => 'string',
),
'HorizontalOffset' => array(
'type' => 'string',
),
'VerticalAlign' => array(
'type' => 'string',
),
'VerticalOffset' => array(
'type' => 'string',
),
'Opacity' => array(
'type' => 'string',
),
'Target' => array(
'type' => 'string',
),
),
),
),
),
),
'Thumbnails' => array(
'type' => 'object',
'properties' => array(
'Format' => array(
'type' => 'string',
),
'Interval' => array(
'type' => 'string',
),
'Resolution' => array(
'type' => 'string',
),
'AspectRatio' => array(
'type' => 'string',
),
'MaxWidth' => array(
'type' => 'string',
),
'MaxHeight' => array(
'type' => 'string',
),
'SizingPolicy' => array(
'type' => 'string',
),
'PaddingPolicy' => array(
'type' => 'string',
),
),
),
'Type' => array(
'type' => 'string',
),
),
),
'Warning' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'ListJobsByPipelineResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Jobs' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'Job',
'type' => 'object',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'PipelineId' => array(
'type' => 'string',
),
'Input' => array(
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'FrameRate' => array(
'type' => 'string',
),
'Resolution' => array(
'type' => 'string',
),
'AspectRatio' => array(
'type' => 'string',
),
'Interlaced' => array(
'type' => 'string',
),
'Container' => array(
'type' => 'string',
),
),
),
'Output' => array(
'type' => 'object',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Key' => array(
'type' => 'string',
),
'ThumbnailPattern' => array(
'type' => 'string',
),
'Rotate' => array(
'type' => 'string',
),
'PresetId' => array(
'type' => 'string',
),
'SegmentDuration' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'StatusDetail' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'numeric',
),
'Width' => array(
'type' => 'numeric',
),
'Height' => array(
'type' => 'numeric',
),
'Watermarks' => array(
'type' => 'array',
'items' => array(
'name' => 'JobWatermark',
'type' => 'object',
'properties' => array(
'PresetWatermarkId' => array(
'type' => 'string',
),
'InputKey' => array(
'type' => 'string',
),
),
),
),
'AlbumArt' => array(
'type' => 'object',
'properties' => array(
'MergePolicy' => array(
'type' => 'string',
),
'Artwork' => array(
'type' => 'array',
'items' => array(
'name' => 'Artwork',
'type' => 'object',
'properties' => array(
'InputKey' => array(
'type' => 'string',
),
'MaxWidth' => array(
'type' => 'string',
),
'MaxHeight' => array(
'type' => 'string',
),
'SizingPolicy' => array(
'type' => 'string',
),
'PaddingPolicy' => array(
'type' => 'string',
),
'AlbumArtFormat' => array(
'type' => 'string',
),
),
),
),
),
),
'Composition' => array(
'type' => 'array',
'items' => array(
'name' => 'Clip',
'type' => 'object',
'properties' => array(
'TimeSpan' => array(
'type' => 'object',
'properties' => array(
'StartTime' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'Outputs' => array(
'type' => 'array',
'items' => array(
'name' => 'JobOutput',
'type' => 'object',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Key' => array(
'type' => 'string',
),
'ThumbnailPattern' => array(
'type' => 'string',
),
'Rotate' => array(
'type' => 'string',
),
'PresetId' => array(
'type' => 'string',
),
'SegmentDuration' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'StatusDetail' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'numeric',
),
'Width' => array(
'type' => 'numeric',
),
'Height' => array(
'type' => 'numeric',
),
'Watermarks' => array(
'type' => 'array',
'items' => array(
'name' => 'JobWatermark',
'type' => 'object',
'properties' => array(
'PresetWatermarkId' => array(
'type' => 'string',
),
'InputKey' => array(
'type' => 'string',
),
),
),
),
'AlbumArt' => array(
'type' => 'object',
'properties' => array(
'MergePolicy' => array(
'type' => 'string',
),
'Artwork' => array(
'type' => 'array',
'items' => array(
'name' => 'Artwork',
'type' => 'object',
'properties' => array(
'InputKey' => array(
'type' => 'string',
),
'MaxWidth' => array(
'type' => 'string',
),
'MaxHeight' => array(
'type' => 'string',
),
'SizingPolicy' => array(
'type' => 'string',
),
'PaddingPolicy' => array(
'type' => 'string',
),
'AlbumArtFormat' => array(
'type' => 'string',
),
),
),
),
),
),
'Composition' => array(
'type' => 'array',
'items' => array(
'name' => 'Clip',
'type' => 'object',
'properties' => array(
'TimeSpan' => array(
'type' => 'object',
'properties' => array(
'StartTime' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'OutputKeyPrefix' => array(
'type' => 'string',
),
'Playlists' => array(
'type' => 'array',
'items' => array(
'name' => 'Playlist',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Format' => array(
'type' => 'string',
),
'OutputKeys' => array(
'type' => 'array',
'items' => array(
'name' => 'Key',
'type' => 'string',
),
),
'Status' => array(
'type' => 'string',
),
'StatusDetail' => array(
'type' => 'string',
),
),
),
),
'Status' => array(
'type' => 'string',
),
),
),
),
'NextPageToken' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'ListJobsByStatusResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Jobs' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'Job',
'type' => 'object',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'PipelineId' => array(
'type' => 'string',
),
'Input' => array(
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'FrameRate' => array(
'type' => 'string',
),
'Resolution' => array(
'type' => 'string',
),
'AspectRatio' => array(
'type' => 'string',
),
'Interlaced' => array(
'type' => 'string',
),
'Container' => array(
'type' => 'string',
),
),
),
'Output' => array(
'type' => 'object',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Key' => array(
'type' => 'string',
),
'ThumbnailPattern' => array(
'type' => 'string',
),
'Rotate' => array(
'type' => 'string',
),
'PresetId' => array(
'type' => 'string',
),
'SegmentDuration' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'StatusDetail' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'numeric',
),
'Width' => array(
'type' => 'numeric',
),
'Height' => array(
'type' => 'numeric',
),
'Watermarks' => array(
'type' => 'array',
'items' => array(
'name' => 'JobWatermark',
'type' => 'object',
'properties' => array(
'PresetWatermarkId' => array(
'type' => 'string',
),
'InputKey' => array(
'type' => 'string',
),
),
),
),
'AlbumArt' => array(
'type' => 'object',
'properties' => array(
'MergePolicy' => array(
'type' => 'string',
),
'Artwork' => array(
'type' => 'array',
'items' => array(
'name' => 'Artwork',
'type' => 'object',
'properties' => array(
'InputKey' => array(
'type' => 'string',
),
'MaxWidth' => array(
'type' => 'string',
),
'MaxHeight' => array(
'type' => 'string',
),
'SizingPolicy' => array(
'type' => 'string',
),
'PaddingPolicy' => array(
'type' => 'string',
),
'AlbumArtFormat' => array(
'type' => 'string',
),
),
),
),
),
),
'Composition' => array(
'type' => 'array',
'items' => array(
'name' => 'Clip',
'type' => 'object',
'properties' => array(
'TimeSpan' => array(
'type' => 'object',
'properties' => array(
'StartTime' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'Outputs' => array(
'type' => 'array',
'items' => array(
'name' => 'JobOutput',
'type' => 'object',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Key' => array(
'type' => 'string',
),
'ThumbnailPattern' => array(
'type' => 'string',
),
'Rotate' => array(
'type' => 'string',
),
'PresetId' => array(
'type' => 'string',
),
'SegmentDuration' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'StatusDetail' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'numeric',
),
'Width' => array(
'type' => 'numeric',
),
'Height' => array(
'type' => 'numeric',
),
'Watermarks' => array(
'type' => 'array',
'items' => array(
'name' => 'JobWatermark',
'type' => 'object',
'properties' => array(
'PresetWatermarkId' => array(
'type' => 'string',
),
'InputKey' => array(
'type' => 'string',
),
),
),
),
'AlbumArt' => array(
'type' => 'object',
'properties' => array(
'MergePolicy' => array(
'type' => 'string',
),
'Artwork' => array(
'type' => 'array',
'items' => array(
'name' => 'Artwork',
'type' => 'object',
'properties' => array(
'InputKey' => array(
'type' => 'string',
),
'MaxWidth' => array(
'type' => 'string',
),
'MaxHeight' => array(
'type' => 'string',
),
'SizingPolicy' => array(
'type' => 'string',
),
'PaddingPolicy' => array(
'type' => 'string',
),
'AlbumArtFormat' => array(
'type' => 'string',
),
),
),
),
),
),
'Composition' => array(
'type' => 'array',
'items' => array(
'name' => 'Clip',
'type' => 'object',
'properties' => array(
'TimeSpan' => array(
'type' => 'object',
'properties' => array(
'StartTime' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'OutputKeyPrefix' => array(
'type' => 'string',
),
'Playlists' => array(
'type' => 'array',
'items' => array(
'name' => 'Playlist',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Format' => array(
'type' => 'string',
),
'OutputKeys' => array(
'type' => 'array',
'items' => array(
'name' => 'Key',
'type' => 'string',
),
),
'Status' => array(
'type' => 'string',
),
'StatusDetail' => array(
'type' => 'string',
),
),
),
),
'Status' => array(
'type' => 'string',
),
),
),
),
'NextPageToken' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'ListPipelinesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Pipelines' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'Pipeline',
'type' => 'object',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'InputBucket' => array(
'type' => 'string',
),
'OutputBucket' => array(
'type' => 'string',
),
'Role' => array(
'type' => 'string',
),
'Notifications' => array(
'type' => 'object',
'properties' => array(
'Progressing' => array(
'type' => 'string',
),
'Completed' => array(
'type' => 'string',
),
'Warning' => array(
'type' => 'string',
),
'Error' => array(
'type' => 'string',
),
),
),
'ContentConfig' => array(
'type' => 'object',
'properties' => array(
'Bucket' => array(
'type' => 'string',
),
'StorageClass' => array(
'type' => 'string',
),
'Permissions' => array(
'type' => 'array',
'items' => array(
'name' => 'Permission',
'type' => 'object',
'properties' => array(
'GranteeType' => array(
'type' => 'string',
),
'Grantee' => array(
'type' => 'string',
),
'Access' => array(
'type' => 'array',
'items' => array(
'name' => 'AccessControl',
'type' => 'string',
),
),
),
),
),
),
),
'ThumbnailConfig' => array(
'type' => 'object',
'properties' => array(
'Bucket' => array(
'type' => 'string',
),
'StorageClass' => array(
'type' => 'string',
),
'Permissions' => array(
'type' => 'array',
'items' => array(
'name' => 'Permission',
'type' => 'object',
'properties' => array(
'GranteeType' => array(
'type' => 'string',
),
'Grantee' => array(
'type' => 'string',
),
'Access' => array(
'type' => 'array',
'items' => array(
'name' => 'AccessControl',
'type' => 'string',
),
),
),
),
),
),
),
),
),
),
'NextPageToken' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'ListPresetsResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Presets' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'Preset',
'type' => 'object',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'Container' => array(
'type' => 'string',
),
'Audio' => array(
'type' => 'object',
'properties' => array(
'Codec' => array(
'type' => 'string',
),
'SampleRate' => array(
'type' => 'string',
),
'BitRate' => array(
'type' => 'string',
),
'Channels' => array(
'type' => 'string',
),
'CodecOptions' => array(
'type' => 'object',
'properties' => array(
'Profile' => array(
'type' => 'string',
),
),
),
),
),
'Video' => array(
'type' => 'object',
'properties' => array(
'Codec' => array(
'type' => 'string',
),
'CodecOptions' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'string',
),
),
'KeyframesMaxDist' => array(
'type' => 'string',
),
'FixedGOP' => array(
'type' => 'string',
),
'BitRate' => array(
'type' => 'string',
),
'FrameRate' => array(
'type' => 'string',
),
'MaxFrameRate' => array(
'type' => 'string',
),
'Resolution' => array(
'type' => 'string',
),
'AspectRatio' => array(
'type' => 'string',
),
'MaxWidth' => array(
'type' => 'string',
),
'MaxHeight' => array(
'type' => 'string',
),
'DisplayAspectRatio' => array(
'type' => 'string',
),
'SizingPolicy' => array(
'type' => 'string',
),
'PaddingPolicy' => array(
'type' => 'string',
),
'Watermarks' => array(
'type' => 'array',
'items' => array(
'name' => 'PresetWatermark',
'type' => 'object',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'MaxWidth' => array(
'type' => 'string',
),
'MaxHeight' => array(
'type' => 'string',
),
'SizingPolicy' => array(
'type' => 'string',
),
'HorizontalAlign' => array(
'type' => 'string',
),
'HorizontalOffset' => array(
'type' => 'string',
),
'VerticalAlign' => array(
'type' => 'string',
),
'VerticalOffset' => array(
'type' => 'string',
),
'Opacity' => array(
'type' => 'string',
),
'Target' => array(
'type' => 'string',
),
),
),
),
),
),
'Thumbnails' => array(
'type' => 'object',
'properties' => array(
'Format' => array(
'type' => 'string',
),
'Interval' => array(
'type' => 'string',
),
'Resolution' => array(
'type' => 'string',
),
'AspectRatio' => array(
'type' => 'string',
),
'MaxWidth' => array(
'type' => 'string',
),
'MaxHeight' => array(
'type' => 'string',
),
'SizingPolicy' => array(
'type' => 'string',
),
'PaddingPolicy' => array(
'type' => 'string',
),
),
),
'Type' => array(
'type' => 'string',
),
),
),
),
'NextPageToken' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'ReadJobResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Job' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'PipelineId' => array(
'type' => 'string',
),
'Input' => array(
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'FrameRate' => array(
'type' => 'string',
),
'Resolution' => array(
'type' => 'string',
),
'AspectRatio' => array(
'type' => 'string',
),
'Interlaced' => array(
'type' => 'string',
),
'Container' => array(
'type' => 'string',
),
),
),
'Output' => array(
'type' => 'object',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Key' => array(
'type' => 'string',
),
'ThumbnailPattern' => array(
'type' => 'string',
),
'Rotate' => array(
'type' => 'string',
),
'PresetId' => array(
'type' => 'string',
),
'SegmentDuration' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'StatusDetail' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'numeric',
),
'Width' => array(
'type' => 'numeric',
),
'Height' => array(
'type' => 'numeric',
),
'Watermarks' => array(
'type' => 'array',
'items' => array(
'name' => 'JobWatermark',
'type' => 'object',
'properties' => array(
'PresetWatermarkId' => array(
'type' => 'string',
),
'InputKey' => array(
'type' => 'string',
),
),
),
),
'AlbumArt' => array(
'type' => 'object',
'properties' => array(
'MergePolicy' => array(
'type' => 'string',
),
'Artwork' => array(
'type' => 'array',
'items' => array(
'name' => 'Artwork',
'type' => 'object',
'properties' => array(
'InputKey' => array(
'type' => 'string',
),
'MaxWidth' => array(
'type' => 'string',
),
'MaxHeight' => array(
'type' => 'string',
),
'SizingPolicy' => array(
'type' => 'string',
),
'PaddingPolicy' => array(
'type' => 'string',
),
'AlbumArtFormat' => array(
'type' => 'string',
),
),
),
),
),
),
'Composition' => array(
'type' => 'array',
'items' => array(
'name' => 'Clip',
'type' => 'object',
'properties' => array(
'TimeSpan' => array(
'type' => 'object',
'properties' => array(
'StartTime' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'Outputs' => array(
'type' => 'array',
'items' => array(
'name' => 'JobOutput',
'type' => 'object',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Key' => array(
'type' => 'string',
),
'ThumbnailPattern' => array(
'type' => 'string',
),
'Rotate' => array(
'type' => 'string',
),
'PresetId' => array(
'type' => 'string',
),
'SegmentDuration' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'StatusDetail' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'numeric',
),
'Width' => array(
'type' => 'numeric',
),
'Height' => array(
'type' => 'numeric',
),
'Watermarks' => array(
'type' => 'array',
'items' => array(
'name' => 'JobWatermark',
'type' => 'object',
'properties' => array(
'PresetWatermarkId' => array(
'type' => 'string',
),
'InputKey' => array(
'type' => 'string',
),
),
),
),
'AlbumArt' => array(
'type' => 'object',
'properties' => array(
'MergePolicy' => array(
'type' => 'string',
),
'Artwork' => array(
'type' => 'array',
'items' => array(
'name' => 'Artwork',
'type' => 'object',
'properties' => array(
'InputKey' => array(
'type' => 'string',
),
'MaxWidth' => array(
'type' => 'string',
),
'MaxHeight' => array(
'type' => 'string',
),
'SizingPolicy' => array(
'type' => 'string',
),
'PaddingPolicy' => array(
'type' => 'string',
),
'AlbumArtFormat' => array(
'type' => 'string',
),
),
),
),
),
),
'Composition' => array(
'type' => 'array',
'items' => array(
'name' => 'Clip',
'type' => 'object',
'properties' => array(
'TimeSpan' => array(
'type' => 'object',
'properties' => array(
'StartTime' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'OutputKeyPrefix' => array(
'type' => 'string',
),
'Playlists' => array(
'type' => 'array',
'items' => array(
'name' => 'Playlist',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Format' => array(
'type' => 'string',
),
'OutputKeys' => array(
'type' => 'array',
'items' => array(
'name' => 'Key',
'type' => 'string',
),
),
'Status' => array(
'type' => 'string',
),
'StatusDetail' => array(
'type' => 'string',
),
),
),
),
'Status' => array(
'type' => 'string',
),
),
),
),
),
'ReadPipelineResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Pipeline' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'InputBucket' => array(
'type' => 'string',
),
'OutputBucket' => array(
'type' => 'string',
),
'Role' => array(
'type' => 'string',
),
'Notifications' => array(
'type' => 'object',
'properties' => array(
'Progressing' => array(
'type' => 'string',
),
'Completed' => array(
'type' => 'string',
),
'Warning' => array(
'type' => 'string',
),
'Error' => array(
'type' => 'string',
),
),
),
'ContentConfig' => array(
'type' => 'object',
'properties' => array(
'Bucket' => array(
'type' => 'string',
),
'StorageClass' => array(
'type' => 'string',
),
'Permissions' => array(
'type' => 'array',
'items' => array(
'name' => 'Permission',
'type' => 'object',
'properties' => array(
'GranteeType' => array(
'type' => 'string',
),
'Grantee' => array(
'type' => 'string',
),
'Access' => array(
'type' => 'array',
'items' => array(
'name' => 'AccessControl',
'type' => 'string',
),
),
),
),
),
),
),
'ThumbnailConfig' => array(
'type' => 'object',
'properties' => array(
'Bucket' => array(
'type' => 'string',
),
'StorageClass' => array(
'type' => 'string',
),
'Permissions' => array(
'type' => 'array',
'items' => array(
'name' => 'Permission',
'type' => 'object',
'properties' => array(
'GranteeType' => array(
'type' => 'string',
),
'Grantee' => array(
'type' => 'string',
),
'Access' => array(
'type' => 'array',
'items' => array(
'name' => 'AccessControl',
'type' => 'string',
),
),
),
),
),
),
),
),
),
),
),
'ReadPresetResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Preset' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'Container' => array(
'type' => 'string',
),
'Audio' => array(
'type' => 'object',
'properties' => array(
'Codec' => array(
'type' => 'string',
),
'SampleRate' => array(
'type' => 'string',
),
'BitRate' => array(
'type' => 'string',
),
'Channels' => array(
'type' => 'string',
),
'CodecOptions' => array(
'type' => 'object',
'properties' => array(
'Profile' => array(
'type' => 'string',
),
),
),
),
),
'Video' => array(
'type' => 'object',
'properties' => array(
'Codec' => array(
'type' => 'string',
),
'CodecOptions' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'string',
),
),
'KeyframesMaxDist' => array(
'type' => 'string',
),
'FixedGOP' => array(
'type' => 'string',
),
'BitRate' => array(
'type' => 'string',
),
'FrameRate' => array(
'type' => 'string',
),
'MaxFrameRate' => array(
'type' => 'string',
),
'Resolution' => array(
'type' => 'string',
),
'AspectRatio' => array(
'type' => 'string',
),
'MaxWidth' => array(
'type' => 'string',
),
'MaxHeight' => array(
'type' => 'string',
),
'DisplayAspectRatio' => array(
'type' => 'string',
),
'SizingPolicy' => array(
'type' => 'string',
),
'PaddingPolicy' => array(
'type' => 'string',
),
'Watermarks' => array(
'type' => 'array',
'items' => array(
'name' => 'PresetWatermark',
'type' => 'object',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'MaxWidth' => array(
'type' => 'string',
),
'MaxHeight' => array(
'type' => 'string',
),
'SizingPolicy' => array(
'type' => 'string',
),
'HorizontalAlign' => array(
'type' => 'string',
),
'HorizontalOffset' => array(
'type' => 'string',
),
'VerticalAlign' => array(
'type' => 'string',
),
'VerticalOffset' => array(
'type' => 'string',
),
'Opacity' => array(
'type' => 'string',
),
'Target' => array(
'type' => 'string',
),
),
),
),
),
),
'Thumbnails' => array(
'type' => 'object',
'properties' => array(
'Format' => array(
'type' => 'string',
),
'Interval' => array(
'type' => 'string',
),
'Resolution' => array(
'type' => 'string',
),
'AspectRatio' => array(
'type' => 'string',
),
'MaxWidth' => array(
'type' => 'string',
),
'MaxHeight' => array(
'type' => 'string',
),
'SizingPolicy' => array(
'type' => 'string',
),
'PaddingPolicy' => array(
'type' => 'string',
),
),
),
'Type' => array(
'type' => 'string',
),
),
),
),
),
'TestRoleResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Success' => array(
'type' => 'string',
'location' => 'json',
),
'Messages' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
),
'UpdatePipelineResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Pipeline' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'InputBucket' => array(
'type' => 'string',
),
'OutputBucket' => array(
'type' => 'string',
),
'Role' => array(
'type' => 'string',
),
'Notifications' => array(
'type' => 'object',
'properties' => array(
'Progressing' => array(
'type' => 'string',
),
'Completed' => array(
'type' => 'string',
),
'Warning' => array(
'type' => 'string',
),
'Error' => array(
'type' => 'string',
),
),
),
'ContentConfig' => array(
'type' => 'object',
'properties' => array(
'Bucket' => array(
'type' => 'string',
),
'StorageClass' => array(
'type' => 'string',
),
'Permissions' => array(
'type' => 'array',
'items' => array(
'name' => 'Permission',
'type' => 'object',
'properties' => array(
'GranteeType' => array(
'type' => 'string',
),
'Grantee' => array(
'type' => 'string',
),
'Access' => array(
'type' => 'array',
'items' => array(
'name' => 'AccessControl',
'type' => 'string',
),
),
),
),
),
),
),
'ThumbnailConfig' => array(
'type' => 'object',
'properties' => array(
'Bucket' => array(
'type' => 'string',
),
'StorageClass' => array(
'type' => 'string',
),
'Permissions' => array(
'type' => 'array',
'items' => array(
'name' => 'Permission',
'type' => 'object',
'properties' => array(
'GranteeType' => array(
'type' => 'string',
),
'Grantee' => array(
'type' => 'string',
),
'Access' => array(
'type' => 'array',
'items' => array(
'name' => 'AccessControl',
'type' => 'string',
),
),
),
),
),
),
),
),
),
),
),
'UpdatePipelineNotificationsResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Pipeline' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'InputBucket' => array(
'type' => 'string',
),
'OutputBucket' => array(
'type' => 'string',
),
'Role' => array(
'type' => 'string',
),
'Notifications' => array(
'type' => 'object',
'properties' => array(
'Progressing' => array(
'type' => 'string',
),
'Completed' => array(
'type' => 'string',
),
'Warning' => array(
'type' => 'string',
),
'Error' => array(
'type' => 'string',
),
),
),
'ContentConfig' => array(
'type' => 'object',
'properties' => array(
'Bucket' => array(
'type' => 'string',
),
'StorageClass' => array(
'type' => 'string',
),
'Permissions' => array(
'type' => 'array',
'items' => array(
'name' => 'Permission',
'type' => 'object',
'properties' => array(
'GranteeType' => array(
'type' => 'string',
),
'Grantee' => array(
'type' => 'string',
),
'Access' => array(
'type' => 'array',
'items' => array(
'name' => 'AccessControl',
'type' => 'string',
),
),
),
),
),
),
),
'ThumbnailConfig' => array(
'type' => 'object',
'properties' => array(
'Bucket' => array(
'type' => 'string',
),
'StorageClass' => array(
'type' => 'string',
),
'Permissions' => array(
'type' => 'array',
'items' => array(
'name' => 'Permission',
'type' => 'object',
'properties' => array(
'GranteeType' => array(
'type' => 'string',
),
'Grantee' => array(
'type' => 'string',
),
'Access' => array(
'type' => 'array',
'items' => array(
'name' => 'AccessControl',
'type' => 'string',
),
),
),
),
),
),
),
),
),
),
),
'UpdatePipelineStatusResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Pipeline' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'InputBucket' => array(
'type' => 'string',
),
'OutputBucket' => array(
'type' => 'string',
),
'Role' => array(
'type' => 'string',
),
'Notifications' => array(
'type' => 'object',
'properties' => array(
'Progressing' => array(
'type' => 'string',
),
'Completed' => array(
'type' => 'string',
),
'Warning' => array(
'type' => 'string',
),
'Error' => array(
'type' => 'string',
),
),
),
'ContentConfig' => array(
'type' => 'object',
'properties' => array(
'Bucket' => array(
'type' => 'string',
),
'StorageClass' => array(
'type' => 'string',
),
'Permissions' => array(
'type' => 'array',
'items' => array(
'name' => 'Permission',
'type' => 'object',
'properties' => array(
'GranteeType' => array(
'type' => 'string',
),
'Grantee' => array(
'type' => 'string',
),
'Access' => array(
'type' => 'array',
'items' => array(
'name' => 'AccessControl',
'type' => 'string',
),
),
),
),
),
),
),
'ThumbnailConfig' => array(
'type' => 'object',
'properties' => array(
'Bucket' => array(
'type' => 'string',
),
'StorageClass' => array(
'type' => 'string',
),
'Permissions' => array(
'type' => 'array',
'items' => array(
'name' => 'Permission',
'type' => 'object',
'properties' => array(
'GranteeType' => array(
'type' => 'string',
),
'Grantee' => array(
'type' => 'string',
),
'Access' => array(
'type' => 'array',
'items' => array(
'name' => 'AccessControl',
'type' => 'string',
),
),
),
),
),
),
),
),
),
),
),
),
'iterators' => array(
'operations' => array(
'ListJobsByPipeline' => array(
'token_param' => 'PageToken',
'token_key' => 'NextPageToken',
'result_key' => 'Jobs',
),
'ListJobsByStatus' => array(
'token_param' => 'PageToken',
'token_key' => 'NextPageToken',
'result_key' => 'Jobs',
),
'ListPipelines' => array(
'token_param' => 'PageToken',
'token_key' => 'NextPageToken',
'result_key' => 'Pipelines',
),
'ListPresets' => array(
'token_param' => 'PageToken',
'token_key' => 'NextPageToken',
'result_key' => 'Presets',
),
),
),
);
sdk-2.5.2/Aws/Emr/EmrClient.php 0000644 115327001610067500000010513 12272324172 013256 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/emr-%s.php'
))
->setExceptionParser(new JsonQueryExceptionParser())
->build();
}
}
sdk-2.5.2/Aws/Emr/Enum/ActionOnFailure.php 0000644 115327001610067500000001635 12272324172 015327 0 ustar '2009-03-31',
'endpointPrefix' => 'elasticmapreduce',
'serviceFullName' => 'Amazon Elastic MapReduce',
'serviceAbbreviation' => 'Amazon EMR',
'serviceType' => 'json',
'jsonVersion' => '1.1',
'targetPrefix' => 'ElasticMapReduce.',
'timestampFormat' => 'unixTimestamp',
'signatureVersion' => 'v4',
'namespace' => 'Emr',
'regions' => array(
'us-east-1' => array(
'http' => true,
'https' => true,
'hostname' => 'elasticmapreduce.us-east-1.amazonaws.com',
),
'us-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'elasticmapreduce.us-west-1.amazonaws.com',
),
'us-west-2' => array(
'http' => true,
'https' => true,
'hostname' => 'elasticmapreduce.us-west-2.amazonaws.com',
),
'eu-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'elasticmapreduce.eu-west-1.amazonaws.com',
),
'ap-northeast-1' => array(
'http' => true,
'https' => true,
'hostname' => 'elasticmapreduce.ap-northeast-1.amazonaws.com',
),
'ap-southeast-1' => array(
'http' => true,
'https' => true,
'hostname' => 'elasticmapreduce.ap-southeast-1.amazonaws.com',
),
'ap-southeast-2' => array(
'http' => true,
'https' => true,
'hostname' => 'elasticmapreduce.ap-southeast-2.amazonaws.com',
),
'sa-east-1' => array(
'http' => true,
'https' => true,
'hostname' => 'elasticmapreduce.sa-east-1.amazonaws.com',
),
'cn-north-1' => array(
'http' => true,
'https' => true,
'hostname' => 'elasticmapreduce.cn-north-1.amazonaws.com.cn',
),
'us-gov-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'elasticmapreduce.us-gov-west-1.amazonaws.com',
),
),
'operations' => array(
'AddInstanceGroups' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'AddInstanceGroupsOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'ElasticMapReduce.AddInstanceGroups',
),
'InstanceGroups' => array(
'required' => true,
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'InstanceGroupConfig',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
'maxLength' => 256,
),
'Market' => array(
'type' => 'string',
),
'InstanceRole' => array(
'required' => true,
'type' => 'string',
),
'BidPrice' => array(
'type' => 'string',
'maxLength' => 256,
),
'InstanceType' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
'InstanceCount' => array(
'required' => true,
'type' => 'numeric',
),
),
),
),
'JobFlowId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'maxLength' => 256,
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that an error occurred while processing the request and that the request was not completed.',
'class' => 'InternalServerErrorException',
),
),
),
'AddJobFlowSteps' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'AddJobFlowStepsOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'ElasticMapReduce.AddJobFlowSteps',
),
'JobFlowId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'maxLength' => 256,
),
'Steps' => array(
'required' => true,
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'StepConfig',
'type' => 'object',
'properties' => array(
'Name' => array(
'required' => true,
'type' => 'string',
'maxLength' => 256,
),
'ActionOnFailure' => array(
'type' => 'string',
),
'HadoopJarStep' => array(
'required' => true,
'type' => 'object',
'properties' => array(
'Properties' => array(
'type' => 'array',
'items' => array(
'name' => 'KeyValue',
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
'maxLength' => 10280,
),
'Value' => array(
'type' => 'string',
'maxLength' => 10280,
),
),
),
),
'Jar' => array(
'required' => true,
'type' => 'string',
'maxLength' => 10280,
),
'MainClass' => array(
'type' => 'string',
'maxLength' => 10280,
),
'Args' => array(
'type' => 'array',
'items' => array(
'name' => 'XmlString',
'type' => 'string',
'maxLength' => 10280,
),
),
),
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that an error occurred while processing the request and that the request was not completed.',
'class' => 'InternalServerErrorException',
),
),
),
'AddTags' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'ElasticMapReduce.AddTags',
),
'ResourceId' => array(
'type' => 'string',
'location' => 'json',
),
'Tags' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'Tag',
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'This exception occurs when there is an internal failure in the EMR service.',
'class' => 'InternalServerException',
),
array(
'reason' => 'This exception occurs when there is something wrong with user input.',
'class' => 'InvalidRequestException',
),
),
),
'DescribeCluster' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeClusterOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'ElasticMapReduce.DescribeCluster',
),
'ClusterId' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'This exception occurs when there is an internal failure in the EMR service.',
'class' => 'InternalServerException',
),
array(
'reason' => 'This exception occurs when there is something wrong with user input.',
'class' => 'InvalidRequestException',
),
),
),
'DescribeJobFlows' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeJobFlowsOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'ElasticMapReduce.DescribeJobFlows',
),
'CreatedAfter' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'timestamp',
'location' => 'json',
),
'CreatedBefore' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'timestamp',
'location' => 'json',
),
'JobFlowIds' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'XmlString',
'type' => 'string',
'maxLength' => 10280,
),
),
'JobFlowStates' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'JobFlowExecutionState',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that an error occurred while processing the request and that the request was not completed.',
'class' => 'InternalServerErrorException',
),
),
),
'DescribeStep' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeStepOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'ElasticMapReduce.DescribeStep',
),
'ClusterId' => array(
'type' => 'string',
'location' => 'json',
),
'StepId' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'This exception occurs when there is an internal failure in the EMR service.',
'class' => 'InternalServerException',
),
array(
'reason' => 'This exception occurs when there is something wrong with user input.',
'class' => 'InvalidRequestException',
),
),
),
'ListBootstrapActions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ListBootstrapActionsOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'ElasticMapReduce.ListBootstrapActions',
),
'ClusterId' => array(
'type' => 'string',
'location' => 'json',
),
'Marker' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'This exception occurs when there is an internal failure in the EMR service.',
'class' => 'InternalServerException',
),
array(
'reason' => 'This exception occurs when there is something wrong with user input.',
'class' => 'InvalidRequestException',
),
),
),
'ListClusters' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ListClustersOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'ElasticMapReduce.ListClusters',
),
'CreatedAfter' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'timestamp',
'location' => 'json',
),
'CreatedBefore' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'timestamp',
'location' => 'json',
),
'ClusterStates' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'ClusterState',
'type' => 'string',
),
),
'Marker' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'This exception occurs when there is an internal failure in the EMR service.',
'class' => 'InternalServerException',
),
array(
'reason' => 'This exception occurs when there is something wrong with user input.',
'class' => 'InvalidRequestException',
),
),
),
'ListInstanceGroups' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ListInstanceGroupsOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'ElasticMapReduce.ListInstanceGroups',
),
'ClusterId' => array(
'type' => 'string',
'location' => 'json',
),
'Marker' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'This exception occurs when there is an internal failure in the EMR service.',
'class' => 'InternalServerException',
),
array(
'reason' => 'This exception occurs when there is something wrong with user input.',
'class' => 'InvalidRequestException',
),
),
),
'ListInstances' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ListInstancesOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'ElasticMapReduce.ListInstances',
),
'ClusterId' => array(
'type' => 'string',
'location' => 'json',
),
'InstanceGroupId' => array(
'type' => 'string',
'location' => 'json',
),
'InstanceGroupTypes' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'InstanceGroupType',
'type' => 'string',
),
),
'Marker' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'This exception occurs when there is an internal failure in the EMR service.',
'class' => 'InternalServerException',
),
array(
'reason' => 'This exception occurs when there is something wrong with user input.',
'class' => 'InvalidRequestException',
),
),
),
'ListSteps' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ListStepsOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'ElasticMapReduce.ListSteps',
),
'ClusterId' => array(
'type' => 'string',
'location' => 'json',
),
'StepStates' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'StepState',
'type' => 'string',
),
),
'Marker' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'This exception occurs when there is an internal failure in the EMR service.',
'class' => 'InternalServerException',
),
array(
'reason' => 'This exception occurs when there is something wrong with user input.',
'class' => 'InvalidRequestException',
),
),
),
'ModifyInstanceGroups' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'ElasticMapReduce.ModifyInstanceGroups',
),
'InstanceGroups' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'InstanceGroupModifyConfig',
'type' => 'object',
'properties' => array(
'InstanceGroupId' => array(
'required' => true,
'type' => 'string',
'maxLength' => 256,
),
'InstanceCount' => array(
'type' => 'numeric',
),
'EC2InstanceIdsToTerminate' => array(
'type' => 'array',
'items' => array(
'name' => 'InstanceId',
'type' => 'string',
),
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that an error occurred while processing the request and that the request was not completed.',
'class' => 'InternalServerErrorException',
),
),
),
'RemoveTags' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'ElasticMapReduce.RemoveTags',
),
'ResourceId' => array(
'type' => 'string',
'location' => 'json',
),
'TagKeys' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'This exception occurs when there is an internal failure in the EMR service.',
'class' => 'InternalServerException',
),
array(
'reason' => 'This exception occurs when there is something wrong with user input.',
'class' => 'InvalidRequestException',
),
),
),
'RunJobFlow' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'RunJobFlowOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'ElasticMapReduce.RunJobFlow',
),
'Name' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'maxLength' => 256,
),
'LogUri' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 10280,
),
'AdditionalInfo' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 10280,
),
'AmiVersion' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 256,
),
'Instances' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'properties' => array(
'MasterInstanceType' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
'SlaveInstanceType' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
'InstanceCount' => array(
'type' => 'numeric',
),
'InstanceGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'InstanceGroupConfig',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
'maxLength' => 256,
),
'Market' => array(
'type' => 'string',
),
'InstanceRole' => array(
'required' => true,
'type' => 'string',
),
'BidPrice' => array(
'type' => 'string',
'maxLength' => 256,
),
'InstanceType' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
'InstanceCount' => array(
'required' => true,
'type' => 'numeric',
),
),
),
),
'Ec2KeyName' => array(
'type' => 'string',
'maxLength' => 256,
),
'Placement' => array(
'type' => 'object',
'properties' => array(
'AvailabilityZone' => array(
'required' => true,
'type' => 'string',
'maxLength' => 10280,
),
),
),
'KeepJobFlowAliveWhenNoSteps' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
'TerminationProtected' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
'HadoopVersion' => array(
'type' => 'string',
'maxLength' => 256,
),
'Ec2SubnetId' => array(
'type' => 'string',
'maxLength' => 256,
),
),
),
'Steps' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'StepConfig',
'type' => 'object',
'properties' => array(
'Name' => array(
'required' => true,
'type' => 'string',
'maxLength' => 256,
),
'ActionOnFailure' => array(
'type' => 'string',
),
'HadoopJarStep' => array(
'required' => true,
'type' => 'object',
'properties' => array(
'Properties' => array(
'type' => 'array',
'items' => array(
'name' => 'KeyValue',
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
'maxLength' => 10280,
),
'Value' => array(
'type' => 'string',
'maxLength' => 10280,
),
),
),
),
'Jar' => array(
'required' => true,
'type' => 'string',
'maxLength' => 10280,
),
'MainClass' => array(
'type' => 'string',
'maxLength' => 10280,
),
'Args' => array(
'type' => 'array',
'items' => array(
'name' => 'XmlString',
'type' => 'string',
'maxLength' => 10280,
),
),
),
),
),
),
),
'BootstrapActions' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'BootstrapActionConfig',
'type' => 'object',
'properties' => array(
'Name' => array(
'required' => true,
'type' => 'string',
'maxLength' => 256,
),
'ScriptBootstrapAction' => array(
'required' => true,
'type' => 'object',
'properties' => array(
'Path' => array(
'required' => true,
'type' => 'string',
'maxLength' => 10280,
),
'Args' => array(
'type' => 'array',
'items' => array(
'name' => 'XmlString',
'type' => 'string',
'maxLength' => 10280,
),
),
),
),
),
),
),
'SupportedProducts' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'XmlStringMaxLen256',
'type' => 'string',
'maxLength' => 256,
),
),
'NewSupportedProducts' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'SupportedProductConfig',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
'maxLength' => 256,
),
'Args' => array(
'type' => 'array',
'items' => array(
'name' => 'XmlString',
'type' => 'string',
'maxLength' => 10280,
),
),
),
),
),
'VisibleToAllUsers' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'JobFlowRole' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 10280,
),
'Tags' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'Tag',
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that an error occurred while processing the request and that the request was not completed.',
'class' => 'InternalServerErrorException',
),
),
),
'SetTerminationProtection' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'ElasticMapReduce.SetTerminationProtection',
),
'JobFlowIds' => array(
'required' => true,
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'XmlString',
'type' => 'string',
'maxLength' => 10280,
),
),
'TerminationProtected' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that an error occurred while processing the request and that the request was not completed.',
'class' => 'InternalServerErrorException',
),
),
),
'SetVisibleToAllUsers' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'ElasticMapReduce.SetVisibleToAllUsers',
),
'JobFlowIds' => array(
'required' => true,
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'XmlString',
'type' => 'string',
'maxLength' => 10280,
),
),
'VisibleToAllUsers' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that an error occurred while processing the request and that the request was not completed.',
'class' => 'InternalServerErrorException',
),
),
),
'TerminateJobFlows' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'ElasticMapReduce.TerminateJobFlows',
),
'JobFlowIds' => array(
'required' => true,
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'XmlString',
'type' => 'string',
'maxLength' => 10280,
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that an error occurred while processing the request and that the request was not completed.',
'class' => 'InternalServerErrorException',
),
),
),
),
'models' => array(
'AddInstanceGroupsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'JobFlowId' => array(
'type' => 'string',
'location' => 'json',
),
'InstanceGroupIds' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'XmlStringMaxLen256',
'type' => 'string',
),
),
),
),
'AddJobFlowStepsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'StepIds' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'XmlStringMaxLen256',
'type' => 'string',
),
),
),
),
'EmptyOutput' => array(
'type' => 'object',
'additionalProperties' => true,
),
'DescribeClusterOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Cluster' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'object',
'properties' => array(
'State' => array(
'type' => 'string',
),
'StateChangeReason' => array(
'type' => 'object',
'properties' => array(
'Code' => array(
'type' => 'string',
),
'Message' => array(
'type' => 'string',
),
),
),
'Timeline' => array(
'type' => 'object',
'properties' => array(
'CreationDateTime' => array(
'type' => 'string',
),
'ReadyDateTime' => array(
'type' => 'string',
),
'EndDateTime' => array(
'type' => 'string',
),
),
),
),
),
'Ec2InstanceAttributes' => array(
'type' => 'object',
'properties' => array(
'Ec2KeyName' => array(
'type' => 'string',
),
'Ec2SubnetId' => array(
'type' => 'string',
),
'Ec2AvailabilityZone' => array(
'type' => 'string',
),
'IamInstanceProfile' => array(
'type' => 'string',
),
),
),
'LogUri' => array(
'type' => 'string',
),
'RequestedAmiVersion' => array(
'type' => 'string',
),
'RunningAmiVersion' => array(
'type' => 'string',
),
'AutoTerminate' => array(
'type' => 'boolean',
),
'TerminationProtected' => array(
'type' => 'boolean',
),
'VisibleToAllUsers' => array(
'type' => 'boolean',
),
'Applications' => array(
'type' => 'array',
'items' => array(
'name' => 'Application',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Version' => array(
'type' => 'string',
),
'Args' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'AdditionalInfo' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'string',
),
),
),
),
),
'Tags' => array(
'type' => 'array',
'items' => array(
'name' => 'Tag',
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'DescribeJobFlowsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'JobFlows' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'JobFlowDetail',
'type' => 'object',
'properties' => array(
'JobFlowId' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'LogUri' => array(
'type' => 'string',
),
'AmiVersion' => array(
'type' => 'string',
),
'ExecutionStatusDetail' => array(
'type' => 'object',
'properties' => array(
'State' => array(
'type' => 'string',
),
'CreationDateTime' => array(
'type' => 'string',
),
'StartDateTime' => array(
'type' => 'string',
),
'ReadyDateTime' => array(
'type' => 'string',
),
'EndDateTime' => array(
'type' => 'string',
),
'LastStateChangeReason' => array(
'type' => 'string',
),
),
),
'Instances' => array(
'type' => 'object',
'properties' => array(
'MasterInstanceType' => array(
'type' => 'string',
),
'MasterPublicDnsName' => array(
'type' => 'string',
),
'MasterInstanceId' => array(
'type' => 'string',
),
'SlaveInstanceType' => array(
'type' => 'string',
),
'InstanceCount' => array(
'type' => 'numeric',
),
'InstanceGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'InstanceGroupDetail',
'type' => 'object',
'properties' => array(
'InstanceGroupId' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'Market' => array(
'type' => 'string',
),
'InstanceRole' => array(
'type' => 'string',
),
'BidPrice' => array(
'type' => 'string',
),
'InstanceType' => array(
'type' => 'string',
),
'InstanceRequestCount' => array(
'type' => 'numeric',
),
'InstanceRunningCount' => array(
'type' => 'numeric',
),
'State' => array(
'type' => 'string',
),
'LastStateChangeReason' => array(
'type' => 'string',
),
'CreationDateTime' => array(
'type' => 'string',
),
'StartDateTime' => array(
'type' => 'string',
),
'ReadyDateTime' => array(
'type' => 'string',
),
'EndDateTime' => array(
'type' => 'string',
),
),
),
),
'NormalizedInstanceHours' => array(
'type' => 'numeric',
),
'Ec2KeyName' => array(
'type' => 'string',
),
'Ec2SubnetId' => array(
'type' => 'string',
),
'Placement' => array(
'type' => 'object',
'properties' => array(
'AvailabilityZone' => array(
'type' => 'string',
),
),
),
'KeepJobFlowAliveWhenNoSteps' => array(
'type' => 'boolean',
),
'TerminationProtected' => array(
'type' => 'boolean',
),
'HadoopVersion' => array(
'type' => 'string',
),
),
),
'Steps' => array(
'type' => 'array',
'items' => array(
'name' => 'StepDetail',
'type' => 'object',
'properties' => array(
'StepConfig' => array(
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'ActionOnFailure' => array(
'type' => 'string',
),
'HadoopJarStep' => array(
'type' => 'object',
'properties' => array(
'Properties' => array(
'type' => 'array',
'items' => array(
'name' => 'KeyValue',
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
'Jar' => array(
'type' => 'string',
),
'MainClass' => array(
'type' => 'string',
),
'Args' => array(
'type' => 'array',
'items' => array(
'name' => 'XmlString',
'type' => 'string',
),
),
),
),
),
),
'ExecutionStatusDetail' => array(
'type' => 'object',
'properties' => array(
'State' => array(
'type' => 'string',
),
'CreationDateTime' => array(
'type' => 'string',
),
'StartDateTime' => array(
'type' => 'string',
),
'EndDateTime' => array(
'type' => 'string',
),
'LastStateChangeReason' => array(
'type' => 'string',
),
),
),
),
),
),
'BootstrapActions' => array(
'type' => 'array',
'items' => array(
'name' => 'BootstrapActionDetail',
'type' => 'object',
'properties' => array(
'BootstrapActionConfig' => array(
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'ScriptBootstrapAction' => array(
'type' => 'object',
'properties' => array(
'Path' => array(
'type' => 'string',
),
'Args' => array(
'type' => 'array',
'items' => array(
'name' => 'XmlString',
'type' => 'string',
),
),
),
),
),
),
),
),
),
'SupportedProducts' => array(
'type' => 'array',
'items' => array(
'name' => 'XmlStringMaxLen256',
'type' => 'string',
),
),
'VisibleToAllUsers' => array(
'type' => 'boolean',
),
'JobFlowRole' => array(
'type' => 'string',
),
),
),
),
),
),
'DescribeStepOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Step' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'Config' => array(
'type' => 'object',
'properties' => array(
'Jar' => array(
'type' => 'string',
),
'Properties' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'string',
),
),
'MainClass' => array(
'type' => 'string',
),
'Args' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
),
'ActionOnFailure' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'object',
'properties' => array(
'State' => array(
'type' => 'string',
),
'StateChangeReason' => array(
'type' => 'object',
'properties' => array(
'Code' => array(
'type' => 'string',
),
'Message' => array(
'type' => 'string',
),
),
),
'Timeline' => array(
'type' => 'object',
'properties' => array(
'CreationDateTime' => array(
'type' => 'string',
),
'StartDateTime' => array(
'type' => 'string',
),
'EndDateTime' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'ListBootstrapActionsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'BootstrapActions' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'Command',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'ScriptPath' => array(
'type' => 'string',
),
'Args' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
),
),
'Marker' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'ListClustersOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Clusters' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'ClusterSummary',
'type' => 'object',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'object',
'properties' => array(
'State' => array(
'type' => 'string',
),
'StateChangeReason' => array(
'type' => 'object',
'properties' => array(
'Code' => array(
'type' => 'string',
),
'Message' => array(
'type' => 'string',
),
),
),
'Timeline' => array(
'type' => 'object',
'properties' => array(
'CreationDateTime' => array(
'type' => 'string',
),
'ReadyDateTime' => array(
'type' => 'string',
),
'EndDateTime' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'Marker' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'ListInstanceGroupsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'InstanceGroups' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'InstanceGroup',
'type' => 'object',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'Market' => array(
'type' => 'string',
),
'InstanceGroupType' => array(
'type' => 'string',
),
'BidPrice' => array(
'type' => 'string',
),
'InstanceType' => array(
'type' => 'string',
),
'RequestedInstanceCount' => array(
'type' => 'numeric',
),
'RunningInstanceCount' => array(
'type' => 'numeric',
),
'Status' => array(
'type' => 'object',
'properties' => array(
'State' => array(
'type' => 'string',
),
'StateChangeReason' => array(
'type' => 'object',
'properties' => array(
'Code' => array(
'type' => 'string',
),
'Message' => array(
'type' => 'string',
),
),
),
'Timeline' => array(
'type' => 'object',
'properties' => array(
'CreationDateTime' => array(
'type' => 'string',
),
'ReadyDateTime' => array(
'type' => 'string',
),
'EndDateTime' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'Marker' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'ListInstancesOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Instances' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'Instance',
'type' => 'object',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Ec2InstanceId' => array(
'type' => 'string',
),
'PublicDnsName' => array(
'type' => 'string',
),
'PublicIpAddress' => array(
'type' => 'string',
),
'PrivateDnsName' => array(
'type' => 'string',
),
'PrivateIpAddress' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'object',
'properties' => array(
'State' => array(
'type' => 'string',
),
'StateChangeReason' => array(
'type' => 'object',
'properties' => array(
'Code' => array(
'type' => 'string',
),
'Message' => array(
'type' => 'string',
),
),
),
'Timeline' => array(
'type' => 'object',
'properties' => array(
'CreationDateTime' => array(
'type' => 'string',
),
'ReadyDateTime' => array(
'type' => 'string',
),
'EndDateTime' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'Marker' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'ListStepsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Steps' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'StepSummary',
'type' => 'object',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'object',
'properties' => array(
'State' => array(
'type' => 'string',
),
'StateChangeReason' => array(
'type' => 'object',
'properties' => array(
'Code' => array(
'type' => 'string',
),
'Message' => array(
'type' => 'string',
),
),
),
'Timeline' => array(
'type' => 'object',
'properties' => array(
'CreationDateTime' => array(
'type' => 'string',
),
'StartDateTime' => array(
'type' => 'string',
),
'EndDateTime' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'Marker' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'RunJobFlowOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'JobFlowId' => array(
'type' => 'string',
'location' => 'json',
),
),
),
),
'iterators' => array(
'operations' => array(
'DescribeJobFlows' => array(
'result_key' => 'JobFlows',
),
'ListBootstrapActions' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'result_key' => 'BootstrapActions',
),
'ListClusters' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'result_key' => 'Clusters',
),
'ListInstanceGroups' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'result_key' => 'InstanceGroups',
),
'ListInstances' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'result_key' => 'Instances',
),
'ListSteps' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'result_key' => 'Steps',
),
),
),
);
sdk-2.5.2/Aws/Glacier/GlacierClient.php 0000644 115327001610067500000014412 12272324172 014726 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/glacier-%s.php',
// Set default value for "accountId" for all requests
'command.params' => array(
'accountId' => '-',
Options::MODEL_PROCESSING => true
)
))
->setExceptionParser(new JsonRestExceptionParser())
->setIteratorsConfig(array(
'limit_param' => 'limit',
'token_param' => 'marker',
'token_key' => 'Marker',
'operations' => array(
'ListJobs' => array(
'result_key' => 'JobList'
),
'ListMultipartUploads' => array(
'result_key' => 'UploadsList'
),
'ListParts' => array(
'result_key' => 'Parts'
),
'ListVaults' => array(
'result_key' => 'VaultList'
)
)
))
->build();
// Add the Glacier version header required for all operations
$client->getConfig()->setPath(
'request.options/headers/x-amz-glacier-version',
$client->getDescription()->getApiVersion()
);
// Allow for specifying bodies with file paths and file handles
$uploadOperations = array('UploadArchive', 'UploadMultipartPart');
$client->addSubscriber(new UploadBodyListener($uploadOperations, 'body', 'sourceFile'));
// Listen for upload operations and make sure the required hash headers are added
$client->addSubscriber(new GlacierUploadListener());
return $client;
}
}
sdk-2.5.2/Aws/Glacier/GlacierUploadListener.php 0000644 115327001610067500000004267 12272324172 016451 0 ustar array('onCommandBeforeSend'),
);
}
/**
* Retrieve bodies passed in as UploadPartContext objects and set the real hash, length, etc. values on the command
*
* @param Event $event Event emitted
*/
public function onCommandBeforeSend(Event $event)
{
/** @var $command AbstractCommand */
$command = $event['command'];
$contentHash = $command->get('ContentSHA256');
if ($contentHash === true) {
/** @var $request EntityEnclosingRequest */
$request = $command->getRequest();
$upload = UploadPartGenerator::createSingleUploadPart($request->getBody());
$request->addHeader('x-amz-content-sha256', $upload->getContentHash());
if (!$command->get('checksum')) {
$request->addHeader('x-amz-sha256-tree-hash', $upload->getChecksum());
}
} elseif (is_string($contentHash)) {
$request = $command->getRequest();
$request->addHeader('x-amz-content-sha256', $contentHash);
}
}
}
sdk-2.5.2/Aws/Glacier/Enum/Action.php 0000644 115327001610067500000001572 12272324172 014345 0 ustar state->getPartGenerator()->getPartSize();
}
/**
* {@inheritdoc}
*/
protected function complete()
{
$partGenerator = $this->state->getPartGenerator();
$params = array_replace($this->state->getUploadId()->toParams(), array(
'archiveSize' => $partGenerator->getArchiveSize(),
'checksum' => $partGenerator->getRootChecksum(),
Ua::OPTION => Ua::MULTIPART_UPLOAD
));
$command = $this->client->getCommand('CompleteMultipartUpload', $params);
return $command->getResult();
}
/**
* {@inheritdoc}
*/
protected function getAbortCommand()
{
$params = $this->state->getUploadId()->toParams();
$params[Ua::OPTION] = Ua::MULTIPART_UPLOAD;
/** @var $command OperationCommand */
$command = $this->client->getCommand('AbortMultipartUpload', $params);
return $command;
}
/**
* Creates an UploadMultipartPart command from an UploadPart object
*
* @param UploadPart $part UploadPart for which to create a command
* @param bool $useSourceCopy Whether or not to use the original source or a copy of it
*
* @return OperationCommand
*/
protected function getCommandForPart(UploadPart $part, $useSourceCopy = false)
{
// Setup the command with identifying parameters (accountId, vaultName, and uploadId)
/** @var $command OperationCommand */
$command = $this->client->getCommand('UploadMultipartPart', $this->state->getUploadId()->toParams());
$command->set(Ua::OPTION, Ua::MULTIPART_UPLOAD);
// Get the correct source
$source = $this->source;
if ($useSourceCopy) {
$sourceUri = $this->source->getUri();
$source = new EntityBody(fopen($sourceUri, 'r'));
}
// Add the range, checksum, and the body limited by the range
$command->set('range', $part->getFormattedRange());
$command->set('checksum', $part->getChecksum());
$command->set('ContentSHA256', $part->getContentHash());
$command->set('body', new ReadLimitEntityBody($source, $part->getSize(), $part->getOffset()));
return $command;
}
}
sdk-2.5.2/Aws/Glacier/Model/MultipartUpload/ParallelTransfer.php 0000644 115327001610067500000005033 12272324172 021647 0 ustar source->isLocal() || $this->source->getWrapper() != 'plainfile') {
throw new RuntimeException('The source data must be a local file stream when uploading in parallel.');
}
if (empty($this->options['concurrency'])) {
throw new RuntimeException('The `concurrency` option must be specified when instantiating.');
}
}
/**
* {@inheritdoc}
*/
protected function transfer()
{
/** @var $parts UploadPartGenerator */
$parts = $this->state->getPartGenerator();
$chunkSize = min($this->options['concurrency'], count($parts));
$partSets = new ChunkedIterator($parts, $chunkSize);
foreach ($partSets as $partSet) {
/** @var $part UploadPart */
$commands = array();
foreach ($partSet as $index => $part) {
$command = $this->getCommandForPart($part, (bool) $index)->set('part', $part);
$this->dispatch(self::BEFORE_PART_UPLOAD, $this->getEventData($command));
$commands[] = $command;
}
// Allow listeners to stop the transfer if needed
if ($this->stopped) {
break;
}
// Execute each command, iterate over the results, and add to the transfer state
/** @var $command \Guzzle\Service\Command\OperationCommand */
foreach ($this->client->execute($commands) as $command) {
$this->state->addPart($command->get('part'));
$this->dispatch(self::AFTER_PART_UPLOAD, $this->getEventData($command));
}
}
}
}
sdk-2.5.2/Aws/Glacier/Model/MultipartUpload/SerialTransfer.php 0000644 115327001610067500000003120 12272324172 021325 0 ustar state->getPartGenerator();
/** @var $part UploadPart */
foreach ($partGenerator as $part) {
$command = $this->getCommandForPart($part);
// Notify observers that the part is about to be uploaded
$eventData = $this->getEventData($command);
$this->dispatch(self::BEFORE_PART_UPLOAD, $eventData);
// Allow listeners to stop the transfer if needed
if ($this->stopped) {
break;
}
$command->execute();
$this->state->addPart($part);
// Notify observers that the part was uploaded
$this->dispatch(self::AFTER_PART_UPLOAD, $eventData);
}
}
}
sdk-2.5.2/Aws/Glacier/Model/MultipartUpload/TransferState.php 0000644 115327001610067500000004665 12272324172 021205 0 ustar getIterator('ListParts', $uploadId->toParams());
foreach ($listParts as $part) {
list($firstByte, $lastByte) = explode('-', $part['RangeInBytes']);
$partSize = (float) $listParts->getLastResult()->get('PartSizeInBytes');
$partData = array(
'partNumber' => $firstByte / $partSize + 1,
'checksum' => $part['SHA256TreeHash'],
'contentHash' => self::ALREADY_UPLOADED,
'size' => $lastByte - $firstByte + 1,
'offset' => $firstByte
);
$transferState->addPart(UploadPart::fromArray($partData));
}
return $transferState;
}
/**
* @param UploadPartGenerator $partGenerator Glacier upload helper object
*
* @return self
*/
public function setPartGenerator(UploadPartGenerator $partGenerator)
{
$this->partGenerator = $partGenerator;
return $this;
}
/**
* @return UploadPartGenerator Glacier upload helper object
*/
public function getPartGenerator()
{
return $this->partGenerator;
}
}
sdk-2.5.2/Aws/Glacier/Model/MultipartUpload/UploadBuilder.php 0000644 115327001610067500000014660 12272324172 021147 0 ustar accountId = $accountId;
return $this;
}
/**
* Set the vault name to upload the part to
*
* @param string $vaultName Name of the vault
*
* @return self
*/
public function setVaultName($vaultName)
{
$this->vaultName = $vaultName;
return $this;
}
/**
* Set the upload part size
*
* @param int $partSize Upload part size
*
* @return self
*/
public function setPartSize($partSize)
{
$this->partSize = (int) $partSize;
return $this;
}
/**
* Set the archive description
*
* @param string $archiveDescription Archive description
*
* @return self
*/
public function setArchiveDescription($archiveDescription)
{
$this->archiveDescription = $archiveDescription;
return $this;
}
/**
* Set the concurrency level to use when uploading parts. This affects how many parts are uploaded in parallel. You
* must use a local file as your data source when using a concurrency greater than 1
*
* @param int $concurrency Concurrency level
*
* @return self
*/
public function setConcurrency($concurrency)
{
$this->concurrency = $concurrency;
return $this;
}
/**
* Sets the Glacier upload helper object that pre-calculates hashes and sizes for all upload parts
*
* @param UploadPartGenerator $partGenerator Glacier upload helper object
*
* @return self
*/
public function setPartGenerator(UploadPartGenerator $partGenerator)
{
$this->partGenerator = $partGenerator;
return $this;
}
/**
* {@inheritdoc}
* @throws InvalidArgumentException when attempting to resume a transfer using a non-seekable stream
* @throws InvalidArgumentException when missing required properties (bucket, key, client, source)
*/
public function build()
{
// If a Glacier upload helper object was set, use the source and part size from it
if ($this->partGenerator) {
$this->partSize = $this->partGenerator->getPartSize();
}
if (!($this->state instanceof State) && !$this->vaultName || !$this->client || !$this->source) {
throw new InvalidArgumentException('You must specify a vault name, client, and source.');
}
if (!$this->source->isSeekable()) {
throw new InvalidArgumentException('You cannot upload from a non-seekable source.');
}
// If no state was set, then create one by initiating or loading a multipart upload
if (is_string($this->state)) {
if (!$this->partGenerator) {
throw new InvalidArgumentException('You must provide an UploadPartGenerator when resuming an upload.');
}
/** @var $state \Aws\Glacier\Model\MultipartUpload\TransferState */
$this->state = TransferState::fromUploadId($this->client, UploadId::fromParams(array(
'accountId' => $this->accountId,
'vaultName' => $this->vaultName,
'uploadId' => $this->state
)));
$this->state->setPartGenerator($this->partGenerator);
} elseif (!$this->state) {
$this->state = $this->initiateMultipartUpload();
}
$options = array(
'concurrency' => $this->concurrency
);
return $this->concurrency > 1
? new ParallelTransfer($this->client, $this->state, $this->source, $options)
: new SerialTransfer($this->client, $this->state, $this->source, $options);
}
/**
* {@inheritdoc}
*/
protected function initiateMultipartUpload()
{
$params = array(
'accountId' => $this->accountId,
'vaultName' => $this->vaultName
);
$partGenerator = $this->partGenerator ?: UploadPartGenerator::factory($this->source, $this->partSize);
$command = $this->client->getCommand('InitiateMultipartUpload', array_replace($params, array(
'command.headers' => $this->headers,
'partSize' => $partGenerator->getPartSize(),
'archiveDescription' => $this->archiveDescription,
Ua::OPTION => Ua::MULTIPART_UPLOAD
)));
$params['uploadId'] = $command->getResult()->get('uploadId');
// Create a new state based on the initiated upload
$state = new TransferState(UploadId::fromParams($params));
$state->setPartGenerator($partGenerator);
return $state;
}
}
sdk-2.5.2/Aws/Glacier/Model/MultipartUpload/UploadId.php 0000644 115327001610067500000001776 12272324172 020121 0 ustar '-',
'uploadId' => false,
'vaultName' => false
);
}
sdk-2.5.2/Aws/Glacier/Model/MultipartUpload/UploadPart.php 0000644 115327001610067500000004636 12272324172 020471 0 ustar 'partNumber',
'checksum' => 'checksum',
'contentHash' => 'contentHash',
'size' => 'size',
'offset' => 'offset'
);
/**
* @var string The sha256 tree hash of the upload body
*/
protected $checksum;
/**
* @var string The sha256 linear hash of the upload body
*/
protected $contentHash;
/**
* @var int The size (or content-length) in bytes of the upload body
*/
protected $size;
/**
* @var int The starting offset byte of the upload body
*/
protected $offset;
/**
* @return string
*/
public function getChecksum()
{
return $this->checksum;
}
/**
* @return string
*/
public function getContentHash()
{
return $this->contentHash;
}
/**
* @return int
*/
public function getSize()
{
return $this->size;
}
/**
* @return int
*/
public function getOffset()
{
return $this->offset;
}
/**
* Returns the byte range of the part as an array
*
* @return array
*/
public function getRange()
{
return array($this->offset, $this->offset + $this->size - 1);
}
/**
* Returns the byte range ot the part formatted for the Content-Range header
*
* @return string
*/
public function getFormattedRange()
{
list($firstByte, $lastByte) = $this->getRange();
return "bytes {$firstByte}-{$lastByte}/*";
}
}
sdk-2.5.2/Aws/Glacier/Model/MultipartUpload/UploadPartContext.php 0000644 115327001610067500000007172 12272324172 022034 0 ustar maxSize = $maxSize;
$this->offset = $offset;
$this->size = 0;
$this->treeHash = new TreeHash();
$this->chunkHash = new ChunkHash();
}
/**
* Adds data to the context. This adds data to both the tree and chunk hashes and increases the size
*
* @param string $data Data to add to the context
*
* @return self
* @throws LogicException when the context is already finalized
*/
public function addData($data)
{
$size = strlen($data);
if ($this->size + $size > $this->maxSize) {
throw new LogicException('You cannot add data that will exceed the maximum size of this upload.');
}
try {
$this->treeHash->addData($data);
$this->chunkHash->addData($data);
$this->size += $size;
} catch (LogicException $e) {
throw new LogicException('You cannot add data to a finalized UploadPartContext.', 0, $e);
}
return $this;
}
/**
* Finalizes the context by calculating the final hashes and generates an upload part object
*
* @return UploadPart
*/
public function generatePart()
{
if (!$this->uploadPart) {
$this->uploadPart = UploadPart::fromArray(array(
'partNumber' => (int) ($this->offset / $this->maxSize + 1),
'checksum' => $this->treeHash->getHash(),
'contentHash' => $this->chunkHash->getHash(),
'size' => $this->size,
'offset' => $this->offset
));
}
return $this->uploadPart;
}
/**
* Checks if the size of the context is the same as the maximum size
*
* @return bool
*/
public function isFull()
{
return $this->size === $this->maxSize;
}
/**
* Checks if the size of the context is 0
*
* @return bool
*/
public function isEmpty()
{
return $this->size === 0;
}
}
sdk-2.5.2/Aws/Glacier/Model/MultipartUpload/UploadPartGenerator.php 0000644 115327001610067500000021203 12272324172 022325 0 ustar 1) {
// @codeCoverageIgnoreStart
throw new RuntimeException('You cannot create a single upload that is larger than 4 GB.');
// @codeCoverageIgnoreEnd
}
return $generator->getUploadPart(1);
}
/**
* @param EntityBodyInterface $body The upload body
* @param int $partSize The size of parts to split the upload into. Default is the 4GB max
*
* @throws InvalidArgumentException when the part size is invalid (i.e. not a power of 2 of 1MB)
* @throws InvalidArgumentException when the body is not seekable (must be able to rewind after calculating hashes)
* @throws InvalidArgumentException when the archive size is less than one byte
*/
public function __construct(EntityBodyInterface $body, $partSize)
{
$this->partSize = $partSize;
// Make sure the part size is valid
$validPartSizes = array_map(function ($value) {return pow(2, $value) * Size::MB;}, range(0, 12));
if (!in_array($this->partSize, $validPartSizes)) {
throw new InvalidArgumentException('The part size must be a megabyte multiplied by a power of 2 and no '
. 'greater than 4 gigabytes.');
}
// Validate body
if (!$body->isSeekable()) {
throw new InvalidArgumentException('The upload body must be seekable.');
}
$this->generateUploadParts($body);
// Validate archive size
if ($this->archiveSize < 1) {
throw new InvalidArgumentException('The archive size must be at least 1 byte.');
}
}
/**
* Returns a single upload part from the calculated uploads by part number. By default it returns the first, which
* is useful behavior if there is only one upload.
*
* @param int $partNumber The numerical index of the upload
*
* @return UploadPart
* @throws OutOfBoundsException if the index of the upload doesn't exist
*/
public function getUploadPart($partNumber)
{
$partNumber = (int) $partNumber;
// Get the upload at the index if it exists
if (isset($this->uploadParts[$partNumber - 1])) {
return $this->uploadParts[$partNumber - 1];
} else {
throw new OutOfBoundsException("An upload part with part number {$partNumber} at index did not exist.");
}
}
/**
* @return array
*/
public function getAllParts()
{
return $this->uploadParts;
}
/**
* @return array
*/
public function getArchiveSize()
{
return $this->archiveSize;
}
/**
* @return string
*/
public function getRootChecksum()
{
if (!$this->rootChecksum) {
$this->rootChecksum = TreeHash::fromChecksums(array_map(function (UploadPart $part) {
return $part->getChecksum();
}, $this->uploadParts))->getHash();
}
return $this->rootChecksum;
}
/**
* @return string
*/
public function getPartSize()
{
return $this->partSize;
}
/**
* {@inheritdoc}
*/
public function serialize()
{
return serialize(array(
'uploadParts' => $this->uploadParts,
'archiveSize' => $this->archiveSize,
'partSize' => $this->partSize
));
}
/**
* {@inheritdoc}
*/
public function unserialize($serialized)
{
// Unserialize data
$data = unserialize($serialized);
// Set properties
foreach (array('uploadParts', 'archiveSize', 'partSize') as $property) {
if (isset($data[$property])) {
$this->{$property} = $data[$property];
} else {
throw new RuntimeException(sprintf('Cannot unserialize the %s class. The %s property is missing.',
__CLASS__, $property
));
}
}
}
/**
* {@inheritdoc}
*/
public function getIterator()
{
return new \ArrayIterator($this->uploadParts);
}
/**
* {@inheritdoc}
*/
public function count()
{
return count($this->uploadParts);
}
/**
* Performs the work of reading the body stream, creating tree hashes, and creating UploadPartContext objects
*
* @param EntityBodyInterface $body The body to create parts from
*/
protected function generateUploadParts(EntityBodyInterface $body)
{
// Rewind the body stream
$body->seek(0);
// Initialize variables for tracking data for upload
$uploadContext = new UploadPartContext($this->partSize, $body->ftell());
// Read the data from the streamed body in 1MB chunks
while ($data = $body->read(min($this->partSize, Size::MB))) {
// Add data to the hashes and size calculations
$uploadContext->addData($data);
// If the upload part is complete, generate an upload object and reset the currently tracked upload data
if ($uploadContext->isFull()) {
$this->updateTotals($uploadContext->generatePart());
$uploadContext = new UploadPartContext($this->partSize, $body->ftell());
}
}
// Handle any leftover data
if (!$uploadContext->isEmpty()) {
$this->updateTotals($uploadContext->generatePart());
}
// Rewind the body stream
$body->seek(0);
}
/**
* Updated the upload helper running totals and tree hash with the data from a complete upload part
*
* @param UploadPart $part The newly completed upload part
*
* @throws OverflowException if the maximum number of allowed upload parts is exceeded
*/
protected function updateTotals(UploadPart $part)
{
// Throw an exception if there are more parts than total allowed
if ($part->getPartNumber() > self::MAX_NUM_PARTS) {
// @codeCoverageIgnoreStart
throw new OverflowException('An archive must be uploaded in ' . self::MAX_NUM_PARTS . ' parts or less.');
// @codeCoverageIgnoreEnd
}
$this->uploadParts[] = $part;
$this->archiveSize += $part->getSize();
}
}
sdk-2.5.2/Aws/Glacier/Resources/glacier-2012-06-01.php 0000644 115327001610067500000161712 12272324172 016632 0 ustar '2012-06-01',
'endpointPrefix' => 'glacier',
'serviceFullName' => 'Amazon Glacier',
'serviceType' => 'rest-json',
'signatureVersion' => 'v4',
'namespace' => 'Glacier',
'regions' => array(
'us-east-1' => array(
'http' => true,
'https' => true,
'hostname' => 'glacier.us-east-1.amazonaws.com',
),
'us-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'glacier.us-west-1.amazonaws.com',
),
'us-west-2' => array(
'http' => true,
'https' => true,
'hostname' => 'glacier.us-west-2.amazonaws.com',
),
'eu-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'glacier.eu-west-1.amazonaws.com',
),
'ap-southeast-2' => array(
'http' => true,
'https' => true,
'hostname' => 'glacier.ap-southeast-2.amazonaws.com',
),
'ap-northeast-1' => array(
'http' => true,
'https' => true,
'hostname' => 'glacier.ap-northeast-1.amazonaws.com',
),
'cn-north-1' => array(
'http' => true,
'https' => true,
'hostname' => 'glacier.cn-north-1.amazonaws.com.cn',
),
),
'operations' => array(
'AbortMultipartUpload' => array(
'httpMethod' => 'DELETE',
'uri' => '/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'accountId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'vaultName' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'uploadId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
),
'errorResponses' => array(
array(
'reason' => 'Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'Returned if a parameter of the request is incorrectly specified.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Returned if a required header or parameter is missing from the request.',
'class' => 'MissingParameterValueException',
),
array(
'reason' => 'Returned if the service cannot complete the request.',
'class' => 'ServiceUnavailableException',
),
),
),
'CompleteMultipartUpload' => array(
'httpMethod' => 'POST',
'uri' => '/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'ArchiveCreationOutput',
'responseType' => 'model',
'parameters' => array(
'accountId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'vaultName' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'uploadId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'archiveSize' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-archive-size',
),
'checksum' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-sha256-tree-hash',
),
),
'errorResponses' => array(
array(
'reason' => 'Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'Returned if a parameter of the request is incorrectly specified.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Returned if a required header or parameter is missing from the request.',
'class' => 'MissingParameterValueException',
),
array(
'reason' => 'Returned if the service cannot complete the request.',
'class' => 'ServiceUnavailableException',
),
),
),
'CreateVault' => array(
'httpMethod' => 'PUT',
'uri' => '/{accountId}/vaults/{vaultName}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'CreateVaultOutput',
'responseType' => 'model',
'parameters' => array(
'accountId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'vaultName' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
),
'errorResponses' => array(
array(
'reason' => 'Returned if a parameter of the request is incorrectly specified.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Returned if a required header or parameter is missing from the request.',
'class' => 'MissingParameterValueException',
),
array(
'reason' => 'Returned if the service cannot complete the request.',
'class' => 'ServiceUnavailableException',
),
array(
'reason' => 'Returned if the request results in a vault or account limit being exceeded.',
'class' => 'LimitExceededException',
),
),
),
'DeleteArchive' => array(
'httpMethod' => 'DELETE',
'uri' => '/{accountId}/vaults/{vaultName}/archives/{archiveId}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'accountId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'vaultName' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'archiveId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
),
'errorResponses' => array(
array(
'reason' => 'Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'Returned if a parameter of the request is incorrectly specified.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Returned if a required header or parameter is missing from the request.',
'class' => 'MissingParameterValueException',
),
array(
'reason' => 'Returned if the service cannot complete the request.',
'class' => 'ServiceUnavailableException',
),
),
),
'DeleteVault' => array(
'httpMethod' => 'DELETE',
'uri' => '/{accountId}/vaults/{vaultName}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'accountId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'vaultName' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
),
'errorResponses' => array(
array(
'reason' => 'Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'Returned if a parameter of the request is incorrectly specified.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Returned if a required header or parameter is missing from the request.',
'class' => 'MissingParameterValueException',
),
array(
'reason' => 'Returned if the service cannot complete the request.',
'class' => 'ServiceUnavailableException',
),
),
),
'DeleteVaultNotifications' => array(
'httpMethod' => 'DELETE',
'uri' => '/{accountId}/vaults/{vaultName}/notification-configuration',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'accountId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'vaultName' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
),
'errorResponses' => array(
array(
'reason' => 'Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'Returned if a parameter of the request is incorrectly specified.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Returned if a required header or parameter is missing from the request.',
'class' => 'MissingParameterValueException',
),
array(
'reason' => 'Returned if the service cannot complete the request.',
'class' => 'ServiceUnavailableException',
),
),
),
'DescribeJob' => array(
'httpMethod' => 'GET',
'uri' => '/{accountId}/vaults/{vaultName}/jobs/{jobId}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'GlacierJobDescription',
'responseType' => 'model',
'parameters' => array(
'accountId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'vaultName' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'jobId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
),
'errorResponses' => array(
array(
'reason' => 'Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'Returned if a parameter of the request is incorrectly specified.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Returned if a required header or parameter is missing from the request.',
'class' => 'MissingParameterValueException',
),
array(
'reason' => 'Returned if the service cannot complete the request.',
'class' => 'ServiceUnavailableException',
),
),
),
'DescribeVault' => array(
'httpMethod' => 'GET',
'uri' => '/{accountId}/vaults/{vaultName}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'DescribeVaultOutput',
'responseType' => 'model',
'parameters' => array(
'accountId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'vaultName' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
),
'errorResponses' => array(
array(
'reason' => 'Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'Returned if a parameter of the request is incorrectly specified.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Returned if a required header or parameter is missing from the request.',
'class' => 'MissingParameterValueException',
),
array(
'reason' => 'Returned if the service cannot complete the request.',
'class' => 'ServiceUnavailableException',
),
),
),
'GetJobOutput' => array(
'httpMethod' => 'GET',
'uri' => '/{accountId}/vaults/{vaultName}/jobs/{jobId}/output',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'GetJobOutputOutput',
'responseType' => 'model',
'parameters' => array(
'accountId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'vaultName' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'jobId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'range' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Range',
),
'saveAs' => array(
'location' => 'response_body',
),
),
'errorResponses' => array(
array(
'reason' => 'Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'Returned if a parameter of the request is incorrectly specified.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Returned if a required header or parameter is missing from the request.',
'class' => 'MissingParameterValueException',
),
array(
'reason' => 'Returned if the service cannot complete the request.',
'class' => 'ServiceUnavailableException',
),
),
),
'GetVaultNotifications' => array(
'httpMethod' => 'GET',
'uri' => '/{accountId}/vaults/{vaultName}/notification-configuration',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'GetVaultNotificationsOutput',
'responseType' => 'model',
'parameters' => array(
'accountId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'vaultName' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
),
'errorResponses' => array(
array(
'reason' => 'Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'Returned if a parameter of the request is incorrectly specified.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Returned if a required header or parameter is missing from the request.',
'class' => 'MissingParameterValueException',
),
array(
'reason' => 'Returned if the service cannot complete the request.',
'class' => 'ServiceUnavailableException',
),
),
),
'InitiateJob' => array(
'httpMethod' => 'POST',
'uri' => '/{accountId}/vaults/{vaultName}/jobs',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'InitiateJobOutput',
'responseType' => 'model',
'parameters' => array(
'accountId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'vaultName' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'Format' => array(
'type' => 'string',
'location' => 'json',
),
'Type' => array(
'type' => 'string',
'location' => 'json',
),
'ArchiveId' => array(
'type' => 'string',
'location' => 'json',
),
'Description' => array(
'type' => 'string',
'location' => 'json',
),
'SNSTopic' => array(
'type' => 'string',
'location' => 'json',
),
'RetrievalByteRange' => array(
'type' => 'string',
'location' => 'json',
),
'InventoryRetrievalParameters' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'StartDate' => array(
'type' => 'string',
),
'EndDate' => array(
'type' => 'string',
),
'Limit' => array(
'type' => 'string',
),
'Marker' => array(
'type' => 'string',
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'Returned if a parameter of the request is incorrectly specified.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Returned if a required header or parameter is missing from the request.',
'class' => 'MissingParameterValueException',
),
array(
'reason' => 'Returned if the service cannot complete the request.',
'class' => 'ServiceUnavailableException',
),
),
),
'InitiateMultipartUpload' => array(
'httpMethod' => 'POST',
'uri' => '/{accountId}/vaults/{vaultName}/multipart-uploads',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'InitiateMultipartUploadOutput',
'responseType' => 'model',
'parameters' => array(
'accountId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'vaultName' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'archiveDescription' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-archive-description',
),
'partSize' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-part-size',
),
),
'errorResponses' => array(
array(
'reason' => 'Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'Returned if a parameter of the request is incorrectly specified.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Returned if a required header or parameter is missing from the request.',
'class' => 'MissingParameterValueException',
),
array(
'reason' => 'Returned if the service cannot complete the request.',
'class' => 'ServiceUnavailableException',
),
),
),
'ListJobs' => array(
'httpMethod' => 'GET',
'uri' => '/{accountId}/vaults/{vaultName}/jobs',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'ListJobsOutput',
'responseType' => 'model',
'parameters' => array(
'accountId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'vaultName' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'limit' => array(
'type' => 'string',
'location' => 'query',
),
'marker' => array(
'type' => 'string',
'location' => 'query',
),
'statuscode' => array(
'type' => 'string',
'location' => 'query',
),
'completed' => array(
'type' => 'string',
'location' => 'query',
),
),
'errorResponses' => array(
array(
'reason' => 'Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'Returned if a parameter of the request is incorrectly specified.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Returned if a required header or parameter is missing from the request.',
'class' => 'MissingParameterValueException',
),
array(
'reason' => 'Returned if the service cannot complete the request.',
'class' => 'ServiceUnavailableException',
),
),
),
'ListMultipartUploads' => array(
'httpMethod' => 'GET',
'uri' => '/{accountId}/vaults/{vaultName}/multipart-uploads',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'ListMultipartUploadsOutput',
'responseType' => 'model',
'parameters' => array(
'accountId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'vaultName' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'limit' => array(
'type' => 'string',
'location' => 'query',
),
'marker' => array(
'type' => 'string',
'location' => 'query',
),
),
'errorResponses' => array(
array(
'reason' => 'Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'Returned if a parameter of the request is incorrectly specified.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Returned if a required header or parameter is missing from the request.',
'class' => 'MissingParameterValueException',
),
array(
'reason' => 'Returned if the service cannot complete the request.',
'class' => 'ServiceUnavailableException',
),
),
),
'ListParts' => array(
'httpMethod' => 'GET',
'uri' => '/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'ListPartsOutput',
'responseType' => 'model',
'parameters' => array(
'accountId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'vaultName' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'uploadId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'marker' => array(
'type' => 'string',
'location' => 'query',
),
'limit' => array(
'type' => 'string',
'location' => 'query',
),
),
'errorResponses' => array(
array(
'reason' => 'Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'Returned if a parameter of the request is incorrectly specified.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Returned if a required header or parameter is missing from the request.',
'class' => 'MissingParameterValueException',
),
array(
'reason' => 'Returned if the service cannot complete the request.',
'class' => 'ServiceUnavailableException',
),
),
),
'ListVaults' => array(
'httpMethod' => 'GET',
'uri' => '/{accountId}/vaults',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'ListVaultsOutput',
'responseType' => 'model',
'parameters' => array(
'accountId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'marker' => array(
'type' => 'string',
'location' => 'query',
),
'limit' => array(
'type' => 'string',
'location' => 'query',
),
),
'errorResponses' => array(
array(
'reason' => 'Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'Returned if a parameter of the request is incorrectly specified.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Returned if a required header or parameter is missing from the request.',
'class' => 'MissingParameterValueException',
),
array(
'reason' => 'Returned if the service cannot complete the request.',
'class' => 'ServiceUnavailableException',
),
),
),
'SetVaultNotifications' => array(
'httpMethod' => 'PUT',
'uri' => '/{accountId}/vaults/{vaultName}/notification-configuration',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'accountId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'vaultName' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'SNSTopic' => array(
'type' => 'string',
'location' => 'json',
),
'Events' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'string',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'Returned if a parameter of the request is incorrectly specified.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Returned if a required header or parameter is missing from the request.',
'class' => 'MissingParameterValueException',
),
array(
'reason' => 'Returned if the service cannot complete the request.',
'class' => 'ServiceUnavailableException',
),
),
),
'UploadArchive' => array(
'httpMethod' => 'POST',
'uri' => '/{accountId}/vaults/{vaultName}/archives',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'ArchiveCreationOutput',
'responseType' => 'model',
'parameters' => array(
'vaultName' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'accountId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'archiveDescription' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-archive-description',
),
'checksum' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-sha256-tree-hash',
),
'body' => array(
'type' => array(
'string',
'object',
),
'location' => 'body',
),
'ContentSHA256' => array(
'default' => true,
),
),
'errorResponses' => array(
array(
'reason' => 'Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'Returned if a parameter of the request is incorrectly specified.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Returned if a required header or parameter is missing from the request.',
'class' => 'MissingParameterValueException',
),
array(
'reason' => 'Returned if, when uploading an archive, Amazon Glacier times out while receiving the upload.',
'class' => 'RequestTimeoutException',
),
array(
'reason' => 'Returned if the service cannot complete the request.',
'class' => 'ServiceUnavailableException',
),
),
),
'UploadMultipartPart' => array(
'httpMethod' => 'PUT',
'uri' => '/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'UploadMultipartPartOutput',
'responseType' => 'model',
'parameters' => array(
'accountId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'vaultName' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'uploadId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'checksum' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-sha256-tree-hash',
),
'range' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Content-Range',
),
'body' => array(
'type' => array(
'string',
'object',
),
'location' => 'body',
),
'ContentSHA256' => array(
'default' => true,
),
),
'errorResponses' => array(
array(
'reason' => 'Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.',
'class' => 'ResourceNotFoundException',
),
array(
'reason' => 'Returned if a parameter of the request is incorrectly specified.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'Returned if a required header or parameter is missing from the request.',
'class' => 'MissingParameterValueException',
),
array(
'reason' => 'Returned if, when uploading an archive, Amazon Glacier times out while receiving the upload.',
'class' => 'RequestTimeoutException',
),
array(
'reason' => 'Returned if the service cannot complete the request.',
'class' => 'ServiceUnavailableException',
),
),
),
),
'models' => array(
'EmptyOutput' => array(
'type' => 'object',
'additionalProperties' => true,
),
'ArchiveCreationOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'location' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Location',
),
'checksum' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-sha256-tree-hash',
),
'archiveId' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-archive-id',
),
),
),
'CreateVaultOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'location' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Location',
),
),
),
'GlacierJobDescription' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'JobId' => array(
'type' => 'string',
'location' => 'json',
),
'JobDescription' => array(
'type' => 'string',
'location' => 'json',
),
'Action' => array(
'type' => 'string',
'location' => 'json',
),
'ArchiveId' => array(
'type' => 'string',
'location' => 'json',
),
'VaultARN' => array(
'type' => 'string',
'location' => 'json',
),
'CreationDate' => array(
'type' => 'string',
'location' => 'json',
),
'Completed' => array(
'type' => 'boolean',
'location' => 'json',
),
'StatusCode' => array(
'type' => 'string',
'location' => 'json',
),
'StatusMessage' => array(
'type' => 'string',
'location' => 'json',
),
'ArchiveSizeInBytes' => array(
'type' => 'numeric',
'location' => 'json',
),
'InventorySizeInBytes' => array(
'type' => 'numeric',
'location' => 'json',
),
'SNSTopic' => array(
'type' => 'string',
'location' => 'json',
),
'CompletionDate' => array(
'type' => 'string',
'location' => 'json',
),
'SHA256TreeHash' => array(
'type' => 'string',
'location' => 'json',
),
'ArchiveSHA256TreeHash' => array(
'type' => 'string',
'location' => 'json',
),
'RetrievalByteRange' => array(
'type' => 'string',
'location' => 'json',
),
'InventoryRetrievalParameters' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Format' => array(
'type' => 'string',
),
'StartDate' => array(
'type' => 'string',
),
'EndDate' => array(
'type' => 'string',
),
'Limit' => array(
'type' => 'string',
),
'Marker' => array(
'type' => 'string',
),
),
),
),
),
'DescribeVaultOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'VaultARN' => array(
'type' => 'string',
'location' => 'json',
),
'VaultName' => array(
'type' => 'string',
'location' => 'json',
),
'CreationDate' => array(
'type' => 'string',
'location' => 'json',
),
'LastInventoryDate' => array(
'type' => 'string',
'location' => 'json',
),
'NumberOfArchives' => array(
'type' => 'numeric',
'location' => 'json',
),
'SizeInBytes' => array(
'type' => 'numeric',
'location' => 'json',
),
),
),
'GetJobOutputOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'body' => array(
'type' => 'string',
'instanceOf' => 'Guzzle\\Http\\EntityBody',
'location' => 'body',
),
'checksum' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-sha256-tree-hash',
),
'status' => array(
'type' => 'numeric',
'location' => 'statusCode',
),
'contentRange' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Content-Range',
),
'acceptRanges' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Accept-Ranges',
),
'contentType' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Content-Type',
),
'archiveDescription' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-archive-description',
),
),
),
'GetVaultNotificationsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'SNSTopic' => array(
'type' => 'string',
'location' => 'json',
),
'Events' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'string',
'type' => 'string',
),
),
),
),
'InitiateJobOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'location' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Location',
),
'jobId' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-job-id',
),
),
),
'InitiateMultipartUploadOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'location' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Location',
),
'uploadId' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-multipart-upload-id',
),
),
),
'ListJobsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'JobList' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'GlacierJobDescription',
'type' => 'object',
'properties' => array(
'JobId' => array(
'type' => 'string',
),
'JobDescription' => array(
'type' => 'string',
),
'Action' => array(
'type' => 'string',
),
'ArchiveId' => array(
'type' => 'string',
),
'VaultARN' => array(
'type' => 'string',
),
'CreationDate' => array(
'type' => 'string',
),
'Completed' => array(
'type' => 'boolean',
),
'StatusCode' => array(
'type' => 'string',
),
'StatusMessage' => array(
'type' => 'string',
),
'ArchiveSizeInBytes' => array(
'type' => 'numeric',
),
'InventorySizeInBytes' => array(
'type' => 'numeric',
),
'SNSTopic' => array(
'type' => 'string',
),
'CompletionDate' => array(
'type' => 'string',
),
'SHA256TreeHash' => array(
'type' => 'string',
),
'ArchiveSHA256TreeHash' => array(
'type' => 'string',
),
'RetrievalByteRange' => array(
'type' => 'string',
),
'InventoryRetrievalParameters' => array(
'type' => 'object',
'properties' => array(
'Format' => array(
'type' => 'string',
),
'StartDate' => array(
'type' => 'string',
),
'EndDate' => array(
'type' => 'string',
),
'Limit' => array(
'type' => 'string',
),
'Marker' => array(
'type' => 'string',
),
),
),
),
),
),
'Marker' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'ListMultipartUploadsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'UploadsList' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'UploadListElement',
'type' => 'object',
'properties' => array(
'MultipartUploadId' => array(
'type' => 'string',
),
'VaultARN' => array(
'type' => 'string',
),
'ArchiveDescription' => array(
'type' => 'string',
),
'PartSizeInBytes' => array(
'type' => 'numeric',
),
'CreationDate' => array(
'type' => 'string',
),
),
),
),
'Marker' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'ListPartsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'MultipartUploadId' => array(
'type' => 'string',
'location' => 'json',
),
'VaultARN' => array(
'type' => 'string',
'location' => 'json',
),
'ArchiveDescription' => array(
'type' => 'string',
'location' => 'json',
),
'PartSizeInBytes' => array(
'type' => 'numeric',
'location' => 'json',
),
'CreationDate' => array(
'type' => 'string',
'location' => 'json',
),
'Parts' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'PartListElement',
'type' => 'object',
'properties' => array(
'RangeInBytes' => array(
'type' => 'string',
),
'SHA256TreeHash' => array(
'type' => 'string',
),
),
),
),
'Marker' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'ListVaultsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'VaultList' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'DescribeVaultOutput',
'type' => 'object',
'properties' => array(
'VaultARN' => array(
'type' => 'string',
),
'VaultName' => array(
'type' => 'string',
),
'CreationDate' => array(
'type' => 'string',
),
'LastInventoryDate' => array(
'type' => 'string',
),
'NumberOfArchives' => array(
'type' => 'numeric',
),
'SizeInBytes' => array(
'type' => 'numeric',
),
),
),
),
'Marker' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'UploadMultipartPartOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'checksum' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-sha256-tree-hash',
),
),
),
),
'waiters' => array(
'__default__' => array(
'interval' => 3,
'max_attempts' => 15,
),
'__VaultState' => array(
'operation' => 'DescribeVault',
),
'VaultExists' => array(
'extends' => '__VaultState',
'success.type' => 'output',
'ignore_errors' => array(
'ResourceNotFoundException',
),
),
'VaultNotExists' => array(
'extends' => '__VaultState',
'success.type' => 'error',
'success.value' => 'ResourceNotFoundException',
),
),
);
sdk-2.5.2/Aws/Iam/IamClient.php 0000644 115327001610067500000026111 12272324172 013225 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/iam-%s.php'
))
->build();
}
}
sdk-2.5.2/Aws/Iam/Enum/AssignmentStatusType.php 0000644 115327001610067500000001503 12272324172 016440 0 ustar '2010-05-08',
'endpointPrefix' => 'iam',
'serviceFullName' => 'AWS Identity and Access Management',
'serviceAbbreviation' => 'IAM',
'serviceType' => 'query',
'globalEndpoint' => 'iam.amazonaws.com',
'resultWrapped' => true,
'signatureVersion' => 'v4',
'namespace' => 'Iam',
'regions' => array(
'us-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'iam.amazonaws.com',
),
'us-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'iam.amazonaws.com',
),
'us-west-2' => array(
'http' => false,
'https' => true,
'hostname' => 'iam.amazonaws.com',
),
'eu-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'iam.amazonaws.com',
),
'ap-northeast-1' => array(
'http' => false,
'https' => true,
'hostname' => 'iam.amazonaws.com',
),
'ap-southeast-1' => array(
'http' => false,
'https' => true,
'hostname' => 'iam.amazonaws.com',
),
'ap-southeast-2' => array(
'http' => false,
'https' => true,
'hostname' => 'iam.amazonaws.com',
),
'sa-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'iam.amazonaws.com',
),
'cn-north-1' => array(
'http' => false,
'https' => true,
'hostname' => 'iam.cn-north-1.amazonaws.com.cn',
),
'us-gov-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'iam.us-gov.amazonaws.com',
),
),
'operations' => array(
'AddRoleToInstanceProfile' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'AddRoleToInstanceProfile',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'InstanceProfileName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'RoleName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 64,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because it attempted to create a resource that already exists.',
'class' => 'EntityAlreadyExistsException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'AddUserToGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'AddUserToGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'GroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'UserName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'ChangePassword' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ChangePassword',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'OldPassword' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'NewPassword' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because the type of user for the transaction was incorrect.',
'class' => 'InvalidUserTypeException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'The request was rejected because it referenced an entity that is temporarily unmodifiable, such as a user name that was deleted and then recreated. The error indicates that the request is likely to succeed if you try again after waiting several minutes. The error message describes the entity.',
'class' => 'EntityTemporarilyUnmodifiableException',
),
),
),
'CreateAccessKey' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateAccessKeyResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateAccessKey',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'UserName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'CreateAccountAlias' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateAccountAlias',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'AccountAlias' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 3,
'maxLength' => 63,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it attempted to create a resource that already exists.',
'class' => 'EntityAlreadyExistsException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'CreateGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateGroupResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'Path' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 512,
),
'GroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'The request was rejected because it attempted to create a resource that already exists.',
'class' => 'EntityAlreadyExistsException',
),
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
),
),
'CreateInstanceProfile' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateInstanceProfileResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateInstanceProfile',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'InstanceProfileName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'Path' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 512,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it attempted to create a resource that already exists.',
'class' => 'EntityAlreadyExistsException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'CreateLoginProfile' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateLoginProfileResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateLoginProfile',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'UserName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 64,
),
'Password' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it attempted to create a resource that already exists.',
'class' => 'EntityAlreadyExistsException',
),
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because the provided password did not meet the requirements imposed by the account password policy.',
'class' => 'PasswordPolicyViolationException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'CreateRole' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateRoleResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateRole',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'Path' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 512,
),
'RoleName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 64,
),
'AssumeRolePolicyDocument' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 131072,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'The request was rejected because it attempted to create a resource that already exists.',
'class' => 'EntityAlreadyExistsException',
),
array(
'reason' => 'The request was rejected because the policy document was malformed. The error message describes the specific error.',
'class' => 'MalformedPolicyDocumentException',
),
),
),
'CreateSAMLProvider' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateSAMLProviderResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateSAMLProvider',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'SAMLMetadataDocument' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1000,
'maxLength' => 10000000,
),
'Name' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'class' => 'InvalidInputException',
),
array(
'reason' => 'The request was rejected because it attempted to create a resource that already exists.',
'class' => 'EntityAlreadyExistsException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'CreateUser' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateUserResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateUser',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'Path' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 512,
),
'UserName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 64,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'The request was rejected because it attempted to create a resource that already exists.',
'class' => 'EntityAlreadyExistsException',
),
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
),
),
'CreateVirtualMFADevice' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateVirtualMFADeviceResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateVirtualMFADevice',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'Path' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 512,
),
'VirtualMFADeviceName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'The request was rejected because it attempted to create a resource that already exists.',
'class' => 'EntityAlreadyExistsException',
),
),
),
'DeactivateMFADevice' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeactivateMFADevice',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'UserName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'SerialNumber' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 9,
'maxLength' => 256,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that is temporarily unmodifiable, such as a user name that was deleted and then recreated. The error indicates that the request is likely to succeed if you try again after waiting several minutes. The error message describes the entity.',
'class' => 'EntityTemporarilyUnmodifiableException',
),
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'DeleteAccessKey' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteAccessKey',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'UserName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'AccessKeyId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 16,
'maxLength' => 32,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'DeleteAccountAlias' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteAccountAlias',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'AccountAlias' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 3,
'maxLength' => 63,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'DeleteAccountPasswordPolicy' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteAccountPasswordPolicy',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
),
),
'DeleteGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'GroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because it attempted to delete a resource that has attached subordinate entities. The error message describes these entities.',
'class' => 'DeleteConflictException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'DeleteGroupPolicy' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteGroupPolicy',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'GroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'PolicyName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'DeleteInstanceProfile' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteInstanceProfile',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'InstanceProfileName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because it attempted to delete a resource that has attached subordinate entities. The error message describes these entities.',
'class' => 'DeleteConflictException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'DeleteLoginProfile' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteLoginProfile',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'UserName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 64,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that is temporarily unmodifiable, such as a user name that was deleted and then recreated. The error indicates that the request is likely to succeed if you try again after waiting several minutes. The error message describes the entity.',
'class' => 'EntityTemporarilyUnmodifiableException',
),
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'DeleteRole' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteRole',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'RoleName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 64,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because it attempted to delete a resource that has attached subordinate entities. The error message describes these entities.',
'class' => 'DeleteConflictException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'DeleteRolePolicy' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteRolePolicy',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'RoleName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 64,
),
'PolicyName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'DeleteSAMLProvider' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteSAMLProvider',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'SAMLProviderArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 20,
'maxLength' => 2048,
),
),
'errorResponses' => array(
array(
'class' => 'InvalidInputException',
),
),
),
'DeleteServerCertificate' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteServerCertificate',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'ServerCertificateName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because it attempted to delete a resource that has attached subordinate entities. The error message describes these entities.',
'class' => 'DeleteConflictException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'DeleteSigningCertificate' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteSigningCertificate',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'UserName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'CertificateId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 24,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'DeleteUser' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteUser',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'UserName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because it attempted to delete a resource that has attached subordinate entities. The error message describes these entities.',
'class' => 'DeleteConflictException',
),
),
),
'DeleteUserPolicy' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteUserPolicy',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'UserName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'PolicyName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'DeleteVirtualMFADevice' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteVirtualMFADevice',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'SerialNumber' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 9,
'maxLength' => 256,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because it attempted to delete a resource that has attached subordinate entities. The error message describes these entities.',
'class' => 'DeleteConflictException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'EnableMFADevice' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'EnableMFADevice',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'UserName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'SerialNumber' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 9,
'maxLength' => 256,
),
'AuthenticationCode1' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 6,
'maxLength' => 6,
),
'AuthenticationCode2' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 6,
'maxLength' => 6,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it attempted to create a resource that already exists.',
'class' => 'EntityAlreadyExistsException',
),
array(
'reason' => 'The request was rejected because it referenced an entity that is temporarily unmodifiable, such as a user name that was deleted and then recreated. The error indicates that the request is likely to succeed if you try again after waiting several minutes. The error message describes the entity.',
'class' => 'EntityTemporarilyUnmodifiableException',
),
array(
'reason' => 'The request was rejected because the authentication code was not recognized. The error message describes the specific error.',
'class' => 'InvalidAuthenticationCodeException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
),
),
'GetAccountPasswordPolicy' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetAccountPasswordPolicyResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetAccountPasswordPolicy',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
),
),
'GetAccountSummary' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetAccountSummaryResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetAccountSummary',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
),
),
'GetGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetGroupResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'GroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 320,
),
'MaxItems' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
'maximum' => 1000,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
),
),
'GetGroupPolicy' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetGroupPolicyResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetGroupPolicy',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'GroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'PolicyName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
),
),
'GetInstanceProfile' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetInstanceProfileResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetInstanceProfile',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'InstanceProfileName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
),
),
'GetLoginProfile' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetLoginProfileResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetLoginProfile',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'UserName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 64,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
),
),
'GetRole' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetRoleResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetRole',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'RoleName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 64,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
),
),
'GetRolePolicy' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetRolePolicyResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetRolePolicy',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'RoleName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 64,
),
'PolicyName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
),
),
'GetSAMLProvider' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetSAMLProviderResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetSAMLProvider',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'SAMLProviderArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 20,
'maxLength' => 2048,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'class' => 'InvalidInputException',
),
),
),
'GetServerCertificate' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetServerCertificateResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetServerCertificate',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'ServerCertificateName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
),
),
'GetUser' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetUserResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetUser',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'UserName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
),
),
'GetUserPolicy' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetUserPolicyResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetUserPolicy',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'UserName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'PolicyName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
),
),
'ListAccessKeys' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListAccessKeysResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListAccessKeys',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'UserName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 320,
),
'MaxItems' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
'maximum' => 1000,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
),
),
'ListAccountAliases' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListAccountAliasesResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListAccountAliases',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 320,
),
'MaxItems' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
'maximum' => 1000,
),
),
),
'ListGroupPolicies' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListGroupPoliciesResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListGroupPolicies',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'GroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 320,
),
'MaxItems' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
'maximum' => 1000,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
),
),
'ListGroups' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListGroupsResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListGroups',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'PathPrefix' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 512,
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 320,
),
'MaxItems' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
'maximum' => 1000,
),
),
),
'ListGroupsForUser' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListGroupsForUserResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListGroupsForUser',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'UserName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 320,
),
'MaxItems' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
'maximum' => 1000,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
),
),
'ListInstanceProfiles' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListInstanceProfilesResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListInstanceProfiles',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'PathPrefix' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 512,
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 320,
),
'MaxItems' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
'maximum' => 1000,
),
),
),
'ListInstanceProfilesForRole' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListInstanceProfilesForRoleResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListInstanceProfilesForRole',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'RoleName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 64,
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 320,
),
'MaxItems' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
'maximum' => 1000,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
),
),
'ListMFADevices' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListMFADevicesResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListMFADevices',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'UserName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 320,
),
'MaxItems' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
'maximum' => 1000,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
),
),
'ListRolePolicies' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListRolePoliciesResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListRolePolicies',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'RoleName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 64,
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 320,
),
'MaxItems' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
'maximum' => 1000,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
),
),
'ListRoles' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListRolesResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListRoles',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'PathPrefix' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 512,
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 320,
),
'MaxItems' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
'maximum' => 1000,
),
),
),
'ListSAMLProviders' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListSAMLProvidersResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListSAMLProviders',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
),
),
'ListServerCertificates' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListServerCertificatesResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListServerCertificates',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'PathPrefix' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 512,
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 320,
),
'MaxItems' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
'maximum' => 1000,
),
),
),
'ListSigningCertificates' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListSigningCertificatesResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListSigningCertificates',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'UserName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 320,
),
'MaxItems' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
'maximum' => 1000,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
),
),
'ListUserPolicies' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListUserPoliciesResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListUserPolicies',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'UserName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 320,
),
'MaxItems' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
'maximum' => 1000,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
),
),
'ListUsers' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListUsersResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListUsers',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'PathPrefix' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 512,
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 320,
),
'MaxItems' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
'maximum' => 1000,
),
),
),
'ListVirtualMFADevices' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListVirtualMFADevicesResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListVirtualMFADevices',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'AssignmentStatus' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 320,
),
'MaxItems' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 1,
'maximum' => 1000,
),
),
),
'PutGroupPolicy' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'PutGroupPolicy',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'GroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'PolicyName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'PolicyDocument' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 131072,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'The request was rejected because the policy document was malformed. The error message describes the specific error.',
'class' => 'MalformedPolicyDocumentException',
),
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
),
),
'PutRolePolicy' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'PutRolePolicy',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'RoleName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 64,
),
'PolicyName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'PolicyDocument' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 131072,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'The request was rejected because the policy document was malformed. The error message describes the specific error.',
'class' => 'MalformedPolicyDocumentException',
),
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
),
),
'PutUserPolicy' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'PutUserPolicy',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'UserName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'PolicyName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'PolicyDocument' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 131072,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'The request was rejected because the policy document was malformed. The error message describes the specific error.',
'class' => 'MalformedPolicyDocumentException',
),
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
),
),
'RemoveRoleFromInstanceProfile' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RemoveRoleFromInstanceProfile',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'InstanceProfileName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'RoleName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 64,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'RemoveUserFromGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RemoveUserFromGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'GroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'UserName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'ResyncMFADevice' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ResyncMFADevice',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'UserName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'SerialNumber' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 9,
'maxLength' => 256,
),
'AuthenticationCode1' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 6,
'maxLength' => 6,
),
'AuthenticationCode2' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 6,
'maxLength' => 6,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because the authentication code was not recognized. The error message describes the specific error.',
'class' => 'InvalidAuthenticationCodeException',
),
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'UpdateAccessKey' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'UpdateAccessKey',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'UserName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'AccessKeyId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 16,
'maxLength' => 32,
),
'Status' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'UpdateAccountPasswordPolicy' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'UpdateAccountPasswordPolicy',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'MinimumPasswordLength' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 6,
'maximum' => 128,
),
'RequireSymbols' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'RequireNumbers' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'RequireUppercaseCharacters' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'RequireLowercaseCharacters' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'AllowUsersToChangePassword' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because the policy document was malformed. The error message describes the specific error.',
'class' => 'MalformedPolicyDocumentException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'UpdateAssumeRolePolicy' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'UpdateAssumeRolePolicy',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'RoleName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 64,
),
'PolicyDocument' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 131072,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because the policy document was malformed. The error message describes the specific error.',
'class' => 'MalformedPolicyDocumentException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'UpdateGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'UpdateGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'GroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'NewPath' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 512,
),
'NewGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because it attempted to create a resource that already exists.',
'class' => 'EntityAlreadyExistsException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'UpdateLoginProfile' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'UpdateLoginProfile',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'UserName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 64,
),
'Password' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that is temporarily unmodifiable, such as a user name that was deleted and then recreated. The error indicates that the request is likely to succeed if you try again after waiting several minutes. The error message describes the entity.',
'class' => 'EntityTemporarilyUnmodifiableException',
),
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because the provided password did not meet the requirements imposed by the account password policy.',
'class' => 'PasswordPolicyViolationException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'UpdateSAMLProvider' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'UpdateSAMLProviderResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'UpdateSAMLProvider',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'SAMLMetadataDocument' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1000,
'maxLength' => 10000000,
),
'SAMLProviderArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 20,
'maxLength' => 2048,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'class' => 'InvalidInputException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'UpdateServerCertificate' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'UpdateServerCertificate',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'ServerCertificateName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'NewPath' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 512,
),
'NewServerCertificateName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because it attempted to create a resource that already exists.',
'class' => 'EntityAlreadyExistsException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'UpdateSigningCertificate' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'UpdateSigningCertificate',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'UserName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'CertificateId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 24,
'maxLength' => 128,
),
'Status' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
),
),
'UpdateUser' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'UpdateUser',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'UserName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'NewPath' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 512,
),
'NewUserName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 64,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'The request was rejected because it attempted to create a resource that already exists.',
'class' => 'EntityAlreadyExistsException',
),
array(
'reason' => 'The request was rejected because it referenced an entity that is temporarily unmodifiable, such as a user name that was deleted and then recreated. The error indicates that the request is likely to succeed if you try again after waiting several minutes. The error message describes the entity.',
'class' => 'EntityTemporarilyUnmodifiableException',
),
),
),
'UploadServerCertificate' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'UploadServerCertificateResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'UploadServerCertificate',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'Path' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 512,
),
'ServerCertificateName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'CertificateBody' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 16384,
),
'PrivateKey' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 16384,
),
'CertificateChain' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 2097152,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'The request was rejected because it attempted to create a resource that already exists.',
'class' => 'EntityAlreadyExistsException',
),
array(
'reason' => 'The request was rejected because the certificate was malformed or expired. The error message describes the specific error.',
'class' => 'MalformedCertificateException',
),
array(
'reason' => 'The request was rejected because the public key certificate and the private key do not match.',
'class' => 'KeyPairMismatchException',
),
),
),
'UploadSigningCertificate' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'UploadSigningCertificateResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'UploadSigningCertificate',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-05-08',
),
'UserName' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 128,
),
'CertificateBody' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 16384,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'The request was rejected because it attempted to create a resource that already exists.',
'class' => 'EntityAlreadyExistsException',
),
array(
'reason' => 'The request was rejected because the certificate was malformed or expired. The error message describes the specific error.',
'class' => 'MalformedCertificateException',
),
array(
'reason' => 'The request was rejected because the certificate is invalid.',
'class' => 'InvalidCertificateException',
),
array(
'reason' => 'The request was rejected because the same certificate is associated to another user under the account.',
'class' => 'DuplicateCertificateException',
),
array(
'reason' => 'The request was rejected because it referenced an entity that does not exist. The error message describes the entity.',
'class' => 'NoSuchEntityException',
),
),
),
),
'models' => array(
'EmptyOutput' => array(
'type' => 'object',
'additionalProperties' => true,
),
'CreateAccessKeyResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'AccessKey' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'UserName' => array(
'type' => 'string',
),
'AccessKeyId' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'SecretAccessKey' => array(
'type' => 'string',
),
'CreateDate' => array(
'type' => 'string',
),
),
),
),
),
'CreateGroupResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Group' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Path' => array(
'type' => 'string',
),
'GroupName' => array(
'type' => 'string',
),
'GroupId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'CreateDate' => array(
'type' => 'string',
),
),
),
),
),
'CreateInstanceProfileResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'InstanceProfile' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Path' => array(
'type' => 'string',
),
'InstanceProfileName' => array(
'type' => 'string',
),
'InstanceProfileId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'CreateDate' => array(
'type' => 'string',
),
'Roles' => array(
'type' => 'array',
'items' => array(
'name' => 'Role',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Path' => array(
'type' => 'string',
),
'RoleName' => array(
'type' => 'string',
),
'RoleId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'CreateDate' => array(
'type' => 'string',
),
'AssumeRolePolicyDocument' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'CreateLoginProfileResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'LoginProfile' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'UserName' => array(
'type' => 'string',
),
'CreateDate' => array(
'type' => 'string',
),
),
),
),
),
'CreateRoleResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Role' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Path' => array(
'type' => 'string',
),
'RoleName' => array(
'type' => 'string',
),
'RoleId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'CreateDate' => array(
'type' => 'string',
),
'AssumeRolePolicyDocument' => array(
'type' => 'string',
),
),
),
),
),
'CreateSAMLProviderResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'SAMLProviderArn' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'CreateUserResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'User' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Path' => array(
'type' => 'string',
),
'UserName' => array(
'type' => 'string',
),
'UserId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'CreateDate' => array(
'type' => 'string',
),
),
),
),
),
'CreateVirtualMFADeviceResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'VirtualMFADevice' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'SerialNumber' => array(
'type' => 'string',
),
'Base32StringSeed' => array(
'type' => 'string',
),
'QRCodePNG' => array(
'type' => 'string',
),
'User' => array(
'type' => 'object',
'properties' => array(
'Path' => array(
'type' => 'string',
),
'UserName' => array(
'type' => 'string',
),
'UserId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'CreateDate' => array(
'type' => 'string',
),
),
),
'EnableDate' => array(
'type' => 'string',
),
),
),
),
),
'GetAccountPasswordPolicyResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'PasswordPolicy' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'MinimumPasswordLength' => array(
'type' => 'numeric',
),
'RequireSymbols' => array(
'type' => 'boolean',
),
'RequireNumbers' => array(
'type' => 'boolean',
),
'RequireUppercaseCharacters' => array(
'type' => 'boolean',
),
'RequireLowercaseCharacters' => array(
'type' => 'boolean',
),
'AllowUsersToChangePassword' => array(
'type' => 'boolean',
),
'ExpirePasswords' => array(
'type' => 'boolean',
),
'MaxPasswordAge' => array(
'type' => 'numeric',
),
),
),
),
),
'GetAccountSummaryResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'SummaryMap' => array(
'type' => 'array',
'location' => 'xml',
'data' => array(
'xmlMap' => array(
'Users',
'UsersQuota',
'Groups',
'GroupsQuota',
'ServerCertificates',
'ServerCertificatesQuota',
'UserPolicySizeQuota',
'GroupPolicySizeQuota',
'GroupsPerUserQuota',
'SigningCertificatesPerUserQuota',
'AccessKeysPerUserQuota',
'MFADevices',
'MFADevicesInUse',
'AccountMFAEnabled',
),
),
'filters' => array(
array(
'method' => 'Aws\\Common\\Command\\XmlResponseLocationVisitor::xmlMap',
'args' => array(
'@value',
'entry',
'key',
'value',
),
),
),
'items' => array(
'name' => 'entry',
'type' => 'object',
'sentAs' => 'entry',
'additionalProperties' => true,
'properties' => array(
'key' => array(
'type' => 'string',
),
'value' => array(
'type' => 'numeric',
),
),
),
'additionalProperties' => false,
),
),
),
'GetGroupResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Group' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Path' => array(
'type' => 'string',
),
'GroupName' => array(
'type' => 'string',
),
'GroupId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'CreateDate' => array(
'type' => 'string',
),
),
),
'Users' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'User',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Path' => array(
'type' => 'string',
),
'UserName' => array(
'type' => 'string',
),
'UserId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'CreateDate' => array(
'type' => 'string',
),
),
),
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'GetGroupPolicyResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'GroupName' => array(
'type' => 'string',
'location' => 'xml',
),
'PolicyName' => array(
'type' => 'string',
'location' => 'xml',
),
'PolicyDocument' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'GetInstanceProfileResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'InstanceProfile' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Path' => array(
'type' => 'string',
),
'InstanceProfileName' => array(
'type' => 'string',
),
'InstanceProfileId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'CreateDate' => array(
'type' => 'string',
),
'Roles' => array(
'type' => 'array',
'items' => array(
'name' => 'Role',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Path' => array(
'type' => 'string',
),
'RoleName' => array(
'type' => 'string',
),
'RoleId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'CreateDate' => array(
'type' => 'string',
),
'AssumeRolePolicyDocument' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'GetLoginProfileResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'LoginProfile' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'UserName' => array(
'type' => 'string',
),
'CreateDate' => array(
'type' => 'string',
),
),
),
),
),
'GetRoleResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Role' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Path' => array(
'type' => 'string',
),
'RoleName' => array(
'type' => 'string',
),
'RoleId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'CreateDate' => array(
'type' => 'string',
),
'AssumeRolePolicyDocument' => array(
'type' => 'string',
),
),
),
),
),
'GetRolePolicyResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RoleName' => array(
'type' => 'string',
'location' => 'xml',
),
'PolicyName' => array(
'type' => 'string',
'location' => 'xml',
),
'PolicyDocument' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'GetSAMLProviderResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'SAMLMetadataDocument' => array(
'type' => 'string',
'location' => 'xml',
),
'CreateDate' => array(
'type' => 'string',
'location' => 'xml',
),
'ValidUntil' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'GetServerCertificateResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ServerCertificate' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'ServerCertificateMetadata' => array(
'type' => 'object',
'properties' => array(
'Path' => array(
'type' => 'string',
),
'ServerCertificateName' => array(
'type' => 'string',
),
'ServerCertificateId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'UploadDate' => array(
'type' => 'string',
),
),
),
'CertificateBody' => array(
'type' => 'string',
),
'CertificateChain' => array(
'type' => 'string',
),
),
),
),
),
'GetUserResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'User' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Path' => array(
'type' => 'string',
),
'UserName' => array(
'type' => 'string',
),
'UserId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'CreateDate' => array(
'type' => 'string',
),
),
),
),
),
'GetUserPolicyResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'UserName' => array(
'type' => 'string',
'location' => 'xml',
),
'PolicyName' => array(
'type' => 'string',
'location' => 'xml',
),
'PolicyDocument' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ListAccessKeysResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'AccessKeyMetadata' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'AccessKeyMetadata',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'UserName' => array(
'type' => 'string',
),
'AccessKeyId' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'CreateDate' => array(
'type' => 'string',
),
),
),
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ListAccountAliasesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'AccountAliases' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'accountAliasType',
'type' => 'string',
'sentAs' => 'member',
),
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ListGroupPoliciesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'PolicyNames' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'policyNameType',
'type' => 'string',
'sentAs' => 'member',
),
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ListGroupsResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Groups' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Group',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Path' => array(
'type' => 'string',
),
'GroupName' => array(
'type' => 'string',
),
'GroupId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'CreateDate' => array(
'type' => 'string',
),
),
),
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ListGroupsForUserResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Groups' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Group',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Path' => array(
'type' => 'string',
),
'GroupName' => array(
'type' => 'string',
),
'GroupId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'CreateDate' => array(
'type' => 'string',
),
),
),
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ListInstanceProfilesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'InstanceProfiles' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'InstanceProfile',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Path' => array(
'type' => 'string',
),
'InstanceProfileName' => array(
'type' => 'string',
),
'InstanceProfileId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'CreateDate' => array(
'type' => 'string',
),
'Roles' => array(
'type' => 'array',
'items' => array(
'name' => 'Role',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Path' => array(
'type' => 'string',
),
'RoleName' => array(
'type' => 'string',
),
'RoleId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'CreateDate' => array(
'type' => 'string',
),
'AssumeRolePolicyDocument' => array(
'type' => 'string',
),
),
),
),
),
),
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ListInstanceProfilesForRoleResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'InstanceProfiles' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'InstanceProfile',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Path' => array(
'type' => 'string',
),
'InstanceProfileName' => array(
'type' => 'string',
),
'InstanceProfileId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'CreateDate' => array(
'type' => 'string',
),
'Roles' => array(
'type' => 'array',
'items' => array(
'name' => 'Role',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Path' => array(
'type' => 'string',
),
'RoleName' => array(
'type' => 'string',
),
'RoleId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'CreateDate' => array(
'type' => 'string',
),
'AssumeRolePolicyDocument' => array(
'type' => 'string',
),
),
),
),
),
),
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ListMFADevicesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'MFADevices' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'MFADevice',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'UserName' => array(
'type' => 'string',
),
'SerialNumber' => array(
'type' => 'string',
),
'EnableDate' => array(
'type' => 'string',
),
),
),
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ListRolePoliciesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'PolicyNames' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'policyNameType',
'type' => 'string',
'sentAs' => 'member',
),
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ListRolesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Roles' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Role',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Path' => array(
'type' => 'string',
),
'RoleName' => array(
'type' => 'string',
),
'RoleId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'CreateDate' => array(
'type' => 'string',
),
'AssumeRolePolicyDocument' => array(
'type' => 'string',
),
),
),
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ListSAMLProvidersResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'SAMLProviderList' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'SAMLProviderListEntry',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Arn' => array(
'type' => 'string',
),
'ValidUntil' => array(
'type' => 'string',
),
'CreateDate' => array(
'type' => 'string',
),
),
),
),
),
),
'ListServerCertificatesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ServerCertificateMetadataList' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'ServerCertificateMetadata',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Path' => array(
'type' => 'string',
),
'ServerCertificateName' => array(
'type' => 'string',
),
'ServerCertificateId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'UploadDate' => array(
'type' => 'string',
),
),
),
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ListSigningCertificatesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Certificates' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'SigningCertificate',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'UserName' => array(
'type' => 'string',
),
'CertificateId' => array(
'type' => 'string',
),
'CertificateBody' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'UploadDate' => array(
'type' => 'string',
),
),
),
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ListUserPoliciesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'PolicyNames' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'policyNameType',
'type' => 'string',
'sentAs' => 'member',
),
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ListUsersResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Users' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'User',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Path' => array(
'type' => 'string',
),
'UserName' => array(
'type' => 'string',
),
'UserId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'CreateDate' => array(
'type' => 'string',
),
),
),
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ListVirtualMFADevicesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'VirtualMFADevices' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'VirtualMFADevice',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'SerialNumber' => array(
'type' => 'string',
),
'Base32StringSeed' => array(
'type' => 'string',
),
'QRCodePNG' => array(
'type' => 'string',
),
'User' => array(
'type' => 'object',
'properties' => array(
'Path' => array(
'type' => 'string',
),
'UserName' => array(
'type' => 'string',
),
'UserId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'CreateDate' => array(
'type' => 'string',
),
),
),
'EnableDate' => array(
'type' => 'string',
),
),
),
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'UpdateSAMLProviderResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'SAMLProviderArn' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'UploadServerCertificateResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ServerCertificateMetadata' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Path' => array(
'type' => 'string',
),
'ServerCertificateName' => array(
'type' => 'string',
),
'ServerCertificateId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
'UploadDate' => array(
'type' => 'string',
),
),
),
),
),
'UploadSigningCertificateResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Certificate' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'UserName' => array(
'type' => 'string',
),
'CertificateId' => array(
'type' => 'string',
),
'CertificateBody' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'UploadDate' => array(
'type' => 'string',
),
),
),
),
),
),
'iterators' => array(
'operations' => array(
'GetGroup' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'more_key' => 'IsTruncated',
'limit_key' => 'MaxItems',
'result_key' => 'Users',
),
'ListAccessKeys' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'more_key' => 'IsTruncated',
'limit_key' => 'MaxItems',
'result_key' => 'AccessKeyMetadata',
),
'ListAccountAliases' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'more_key' => 'IsTruncated',
'limit_key' => 'MaxItems',
'result_key' => 'AccountAliases',
),
'ListGroupPolicies' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'more_key' => 'IsTruncated',
'limit_key' => 'MaxItems',
'result_key' => 'PolicyNames',
),
'ListGroups' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'more_key' => 'IsTruncated',
'limit_key' => 'MaxItems',
'result_key' => 'Groups',
),
'ListGroupsForUser' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'more_key' => 'IsTruncated',
'limit_key' => 'MaxItems',
'result_key' => 'Groups',
),
'ListInstanceProfiles' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'more_key' => 'IsTruncated',
'limit_key' => 'MaxItems',
'result_key' => 'InstanceProfiles',
),
'ListInstanceProfilesForRole' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'more_key' => 'IsTruncated',
'limit_key' => 'MaxItems',
'result_key' => 'InstanceProfiles',
),
'ListMFADevices' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'more_key' => 'IsTruncated',
'limit_key' => 'MaxItems',
'result_key' => 'MFADevices',
),
'ListRolePolicies' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'more_key' => 'IsTruncated',
'limit_key' => 'MaxItems',
'result_key' => 'PolicyNames',
),
'ListRoles' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'more_key' => 'IsTruncated',
'limit_key' => 'MaxItems',
'result_key' => 'Roles',
),
'ListSAMLProviders' => array(
'result_key' => 'SAMLProviderList',
),
'ListServerCertificates' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'more_key' => 'IsTruncated',
'limit_key' => 'MaxItems',
'result_key' => 'ServerCertificateMetadataList',
),
'ListSigningCertificates' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'more_key' => 'IsTruncated',
'limit_key' => 'MaxItems',
'result_key' => 'Certificates',
),
'ListUserPolicies' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'more_key' => 'IsTruncated',
'limit_key' => 'MaxItems',
'result_key' => 'PolicyNames',
),
'ListUsers' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'more_key' => 'IsTruncated',
'limit_key' => 'MaxItems',
'result_key' => 'Users',
),
'ListVirtualMFADevices' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'more_key' => 'IsTruncated',
'limit_key' => 'MaxItems',
'result_key' => 'VirtualMFADevices',
),
),
),
);
sdk-2.5.2/Aws/ImportExport/ImportExportClient.php 0000644 115327001610067500000005440 12272324172 017143 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/importexport-%s.php'
))
->build();
// If the Symfony YAML component is installed, add a listener that will convert arrays to proper YAML in when
// specifying the "Manifest" parameter of the "CreateJob" operation
if (class_exists('Symfony\Component\Yaml\Yaml')) {
$client->addSubscriber(new JobManifestListener());
}
return $client;
}
}
sdk-2.5.2/Aws/ImportExport/JobManifestListener.php 0000644 115327001610067500000003302 12272324172 017232 0 ustar array('onCommandBeforePrepare'));
}
/**
* An event handler for assisting with formatting the Manifest parameter of CreateJob operation into YAML
*
* @param Event $event The event being handled
*/
public function onCommandBeforePrepare(Event $event)
{
/** @var $command \Guzzle\Service\Command\AbstractCommand */
$command = $event['command'];
if ($command->getName() === 'CreateJob') {
$manifest = $command->get('Manifest');
if (!is_string($manifest) && class_exists('Symfony\Component\Yaml\Yaml')) {
$command->set('Manifest', \Symfony\Component\Yaml\Yaml::dump($manifest));
}
}
}
}
sdk-2.5.2/Aws/ImportExport/Enum/JobType.php 0000644 115327001610067500000001417 12272324172 015610 0 ustar nextToken = null;
if ($result->get($this->get('more_key'))) {
$jobs = $result->get($this->get('result_key')) ?: array();
$numJobs = count($jobs);
$this->nextToken = $numJobs ? $jobs[$numJobs - 1]['JobId'] : null;
}
}
}
sdk-2.5.2/Aws/ImportExport/Resources/importexport-2010-06-01.php 0000644 115327001610067500000054770 12272324172 021111 0 ustar '2010-06-01',
'endpointPrefix' => 'importexport',
'serviceFullName' => 'AWS Import/Export',
'serviceType' => 'query',
'globalEndpoint' => 'importexport.amazonaws.com',
'resultWrapped' => true,
'signatureVersion' => 'v2',
'namespace' => 'ImportExport',
'regions' => array(
'us-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'importexport.amazonaws.com',
),
'us-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'importexport.amazonaws.com',
),
'us-west-2' => array(
'http' => false,
'https' => true,
'hostname' => 'importexport.amazonaws.com',
),
'eu-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'importexport.amazonaws.com',
),
'ap-northeast-1' => array(
'http' => false,
'https' => true,
'hostname' => 'importexport.amazonaws.com',
),
'ap-southeast-1' => array(
'http' => false,
'https' => true,
'hostname' => 'importexport.amazonaws.com',
),
'ap-southeast-2' => array(
'http' => false,
'https' => true,
'hostname' => 'importexport.amazonaws.com',
),
'sa-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'importexport.amazonaws.com',
),
),
'operations' => array(
'CancelJob' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CancelJobOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CancelJob',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-06-01',
),
'JobId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The JOBID was missing, not found, or not associated with the AWS account.',
'class' => 'InvalidJobIdException',
),
array(
'reason' => 'Indicates that the specified job has expired out of the system.',
'class' => 'ExpiredJobIdException',
),
array(
'reason' => 'The specified job ID has been canceled and is no longer valid.',
'class' => 'CanceledJobIdException',
),
array(
'reason' => 'AWS Import/Export cannot cancel the job',
'class' => 'UnableToCancelJobIdException',
),
array(
'reason' => 'The AWS Access Key ID specified in the request did not match the manifest\'s accessKeyId value. The manifest and the request authentication must use the same AWS Access Key ID.',
'class' => 'InvalidAccessKeyIdException',
),
),
),
'CreateJob' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateJobOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateJob',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-06-01',
),
'JobType' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Manifest' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'ManifestAddendum' => array(
'type' => 'string',
'location' => 'aws.query',
),
'ValidateOnly' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'One or more required parameters was missing from the request.',
'class' => 'MissingParameterException',
),
array(
'reason' => 'One or more parameters had an invalid value.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'One or more parameters had an invalid value.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'The AWS Access Key ID specified in the request did not match the manifest\'s accessKeyId value. The manifest and the request authentication must use the same AWS Access Key ID.',
'class' => 'InvalidAccessKeyIdException',
),
array(
'reason' => 'The address specified in the manifest is invalid.',
'class' => 'InvalidAddressException',
),
array(
'reason' => 'One or more manifest fields was invalid. Please correct and resubmit.',
'class' => 'InvalidManifestFieldException',
),
array(
'reason' => 'One or more required fields were missing from the manifest file. Please correct and resubmit.',
'class' => 'MissingManifestFieldException',
),
array(
'reason' => 'The specified bucket does not exist. Create the specified bucket or change the manifest\'s bucket, exportBucket, or logBucket field to a bucket that the account, as specified by the manifest\'s Access Key ID, has write permissions to.',
'class' => 'NoSuchBucketException',
),
array(
'reason' => 'One or more required customs parameters was missing from the manifest.',
'class' => 'MissingCustomsException',
),
array(
'reason' => 'One or more customs parameters was invalid. Please correct and resubmit.',
'class' => 'InvalidCustomsException',
),
array(
'reason' => 'File system specified in export manifest is invalid.',
'class' => 'InvalidFileSystemException',
),
array(
'reason' => 'Your manifest file contained buckets from multiple regions. A job is restricted to buckets from one region. Please correct and resubmit.',
'class' => 'MultipleRegionsException',
),
array(
'reason' => 'The account specified does not have the appropriate bucket permissions.',
'class' => 'BucketPermissionException',
),
array(
'reason' => 'Your manifest is not well-formed.',
'class' => 'MalformedManifestException',
),
),
),
'GetStatus' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetStatusOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetStatus',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-06-01',
),
'JobId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The JOBID was missing, not found, or not associated with the AWS account.',
'class' => 'InvalidJobIdException',
),
array(
'reason' => 'Indicates that the specified job has expired out of the system.',
'class' => 'ExpiredJobIdException',
),
array(
'reason' => 'The specified job ID has been canceled and is no longer valid.',
'class' => 'CanceledJobIdException',
),
array(
'reason' => 'The AWS Access Key ID specified in the request did not match the manifest\'s accessKeyId value. The manifest and the request authentication must use the same AWS Access Key ID.',
'class' => 'InvalidAccessKeyIdException',
),
),
),
'ListJobs' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListJobsOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListJobs',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-06-01',
),
'MaxJobs' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'One or more parameters had an invalid value.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'The AWS Access Key ID specified in the request did not match the manifest\'s accessKeyId value. The manifest and the request authentication must use the same AWS Access Key ID.',
'class' => 'InvalidAccessKeyIdException',
),
),
),
'UpdateJob' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'UpdateJobOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'UpdateJob',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-06-01',
),
'JobId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Manifest' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'JobType' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'ValidateOnly' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'One or more required parameters was missing from the request.',
'class' => 'MissingParameterException',
),
array(
'reason' => 'One or more parameters had an invalid value.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'The AWS Access Key ID specified in the request did not match the manifest\'s accessKeyId value. The manifest and the request authentication must use the same AWS Access Key ID.',
'class' => 'InvalidAccessKeyIdException',
),
array(
'reason' => 'The address specified in the manifest is invalid.',
'class' => 'InvalidAddressException',
),
array(
'reason' => 'One or more manifest fields was invalid. Please correct and resubmit.',
'class' => 'InvalidManifestFieldException',
),
array(
'reason' => 'The JOBID was missing, not found, or not associated with the AWS account.',
'class' => 'InvalidJobIdException',
),
array(
'reason' => 'One or more required fields were missing from the manifest file. Please correct and resubmit.',
'class' => 'MissingManifestFieldException',
),
array(
'reason' => 'The specified bucket does not exist. Create the specified bucket or change the manifest\'s bucket, exportBucket, or logBucket field to a bucket that the account, as specified by the manifest\'s Access Key ID, has write permissions to.',
'class' => 'NoSuchBucketException',
),
array(
'reason' => 'Indicates that the specified job has expired out of the system.',
'class' => 'ExpiredJobIdException',
),
array(
'reason' => 'The specified job ID has been canceled and is no longer valid.',
'class' => 'CanceledJobIdException',
),
array(
'reason' => 'One or more required customs parameters was missing from the manifest.',
'class' => 'MissingCustomsException',
),
array(
'reason' => 'One or more customs parameters was invalid. Please correct and resubmit.',
'class' => 'InvalidCustomsException',
),
array(
'reason' => 'File system specified in export manifest is invalid.',
'class' => 'InvalidFileSystemException',
),
array(
'reason' => 'Your manifest file contained buckets from multiple regions. A job is restricted to buckets from one region. Please correct and resubmit.',
'class' => 'MultipleRegionsException',
),
array(
'reason' => 'The account specified does not have the appropriate bucket permissions.',
'class' => 'BucketPermissionException',
),
array(
'reason' => 'Your manifest is not well-formed.',
'class' => 'MalformedManifestException',
),
),
),
),
'models' => array(
'CancelJobOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Success' => array(
'type' => 'boolean',
'location' => 'xml',
),
),
),
'CreateJobOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'JobId' => array(
'type' => 'string',
'location' => 'xml',
),
'JobType' => array(
'type' => 'string',
'location' => 'xml',
),
'AwsShippingAddress' => array(
'type' => 'string',
'location' => 'xml',
),
'Signature' => array(
'type' => 'string',
'location' => 'xml',
),
'SignatureFileContents' => array(
'type' => 'string',
'location' => 'xml',
),
'WarningMessage' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'GetStatusOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'JobId' => array(
'type' => 'string',
'location' => 'xml',
),
'JobType' => array(
'type' => 'string',
'location' => 'xml',
),
'AwsShippingAddress' => array(
'type' => 'string',
'location' => 'xml',
),
'LocationCode' => array(
'type' => 'string',
'location' => 'xml',
),
'LocationMessage' => array(
'type' => 'string',
'location' => 'xml',
),
'ProgressCode' => array(
'type' => 'string',
'location' => 'xml',
),
'ProgressMessage' => array(
'type' => 'string',
'location' => 'xml',
),
'Carrier' => array(
'type' => 'string',
'location' => 'xml',
),
'TrackingNumber' => array(
'type' => 'string',
'location' => 'xml',
),
'LogBucket' => array(
'type' => 'string',
'location' => 'xml',
),
'LogKey' => array(
'type' => 'string',
'location' => 'xml',
),
'ErrorCount' => array(
'type' => 'numeric',
'location' => 'xml',
),
'Signature' => array(
'type' => 'string',
'location' => 'xml',
),
'SignatureFileContents' => array(
'type' => 'string',
'location' => 'xml',
),
'CurrentManifest' => array(
'type' => 'string',
'location' => 'xml',
),
'CreationDate' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ListJobsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Jobs' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Job',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'JobId' => array(
'type' => 'string',
),
'CreationDate' => array(
'type' => 'string',
),
'IsCanceled' => array(
'type' => 'boolean',
),
'JobType' => array(
'type' => 'string',
),
),
),
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
),
),
'UpdateJobOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Success' => array(
'type' => 'boolean',
'location' => 'xml',
),
'WarningMessage' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
),
'iterators' => array(
'operations' => array(
'ListJobs' => array(
'token_param' => 'Marker',
'more_key' => 'IsTruncated',
'limit_key' => 'MaxJobs',
'result_key' => 'Jobs',
),
),
),
);
sdk-2.5.2/Aws/Kinesis/KinesisClient.php 0000644 115327001610067500000006101 12272324172 015020 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/kinesis-%s.php'
))
->setExceptionParser(new JsonQueryExceptionParser)
->build();
}
public function __call($method, $args)
{
// Overrides the parent behavior to make sure that the GetShardIterator operation works correctly
if ($method === 'getShardIterator') {
$params = isset($args[0]) ? $args[0] : array();
return $this->getCommand($method, $params)->getResult();
} else {
return parent::__call($method, $args);
}
}
}
sdk-2.5.2/Aws/Kinesis/Enum/ShardIteratorType.php 0000644 115327001610067500000001632 12272324172 016601 0 ustar '2013-12-02',
'endpointPrefix' => 'kinesis',
'serviceFullName' => 'Amazon Kinesis',
'serviceAbbreviation' => 'Kinesis',
'serviceType' => 'json',
'jsonVersion' => '1.1',
'targetPrefix' => 'Kinesis_20131202.',
'signatureVersion' => 'v4',
'namespace' => 'Kinesis',
'regions' => array(
'us-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'kinesis.us-east-1.amazonaws.com',
),
),
'operations' => array(
'CreateStream' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'Kinesis_20131202.CreateStream',
),
'StreamName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 128,
),
'ShardCount' => array(
'required' => true,
'type' => 'numeric',
'location' => 'json',
'minimum' => 1,
),
),
'errorResponses' => array(
array(
'class' => 'ResourceInUseException',
),
array(
'class' => 'LimitExceededException',
),
array(
'class' => 'InvalidArgumentException',
),
),
),
'DeleteStream' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'Kinesis_20131202.DeleteStream',
),
'StreamName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'class' => 'ResourceNotFoundException',
),
array(
'class' => 'LimitExceededException',
),
),
),
'DescribeStream' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeStreamOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'Kinesis_20131202.DescribeStream',
),
'StreamName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 128,
),
'Limit' => array(
'type' => 'numeric',
'location' => 'json',
'minimum' => 1,
'maximum' => 10000,
),
'ExclusiveStartShardId' => array(
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'class' => 'ResourceNotFoundException',
),
array(
'class' => 'LimitExceededException',
),
),
),
'GetRecords' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'GetRecordsOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'Kinesis_20131202.GetRecords',
),
'ShardIterator' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 512,
),
'Limit' => array(
'type' => 'numeric',
'location' => 'json',
'minimum' => 1,
'maximum' => 10000,
),
),
'errorResponses' => array(
array(
'class' => 'ResourceNotFoundException',
),
array(
'class' => 'InvalidArgumentException',
),
array(
'class' => 'ProvisionedThroughputExceededException',
),
array(
'class' => 'ExpiredIteratorException',
),
),
),
'GetShardIterator' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'GetShardIteratorOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'Kinesis_20131202.GetShardIterator',
),
'StreamName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 128,
),
'ShardId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 128,
),
'ShardIteratorType' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'StartingSequenceNumber' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'class' => 'ResourceNotFoundException',
),
array(
'class' => 'InvalidArgumentException',
),
array(
'class' => 'ProvisionedThroughputExceededException',
),
),
),
'ListStreams' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ListStreamsOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'Kinesis_20131202.ListStreams',
),
'Limit' => array(
'type' => 'numeric',
'location' => 'json',
'minimum' => 1,
'maximum' => 10000,
),
'ExclusiveStartStreamName' => array(
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'class' => 'LimitExceededException',
),
),
),
'MergeShards' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'Kinesis_20131202.MergeShards',
),
'StreamName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 128,
),
'ShardToMerge' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 128,
),
'AdjacentShardToMerge' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 128,
),
),
'errorResponses' => array(
array(
'class' => 'ResourceNotFoundException',
),
array(
'class' => 'ResourceInUseException',
),
array(
'class' => 'InvalidArgumentException',
),
array(
'class' => 'LimitExceededException',
),
),
),
'PutRecord' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'PutRecordOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'Kinesis_20131202.PutRecord',
),
'StreamName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 128,
),
'Data' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'filters' => array(
'base64_encode',
),
),
'PartitionKey' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'ExplicitHashKey' => array(
'type' => 'string',
'location' => 'json',
),
'SequenceNumberForOrdering' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'class' => 'ResourceNotFoundException',
),
array(
'class' => 'InvalidArgumentException',
),
array(
'class' => 'ProvisionedThroughputExceededException',
),
),
),
'SplitShard' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'Kinesis_20131202.SplitShard',
),
'StreamName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 128,
),
'ShardToSplit' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 128,
),
'NewStartingHashKey' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'class' => 'ResourceNotFoundException',
),
array(
'class' => 'ResourceInUseException',
),
array(
'class' => 'InvalidArgumentException',
),
array(
'class' => 'LimitExceededException',
),
),
),
),
'models' => array(
'EmptyOutput' => array(
'type' => 'object',
'additionalProperties' => true,
),
'DescribeStreamOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'StreamDescription' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'StreamName' => array(
'type' => 'string',
),
'StreamARN' => array(
'type' => 'string',
),
'StreamStatus' => array(
'type' => 'string',
),
'Shards' => array(
'type' => 'array',
'items' => array(
'name' => 'Shard',
'type' => 'object',
'properties' => array(
'ShardId' => array(
'type' => 'string',
),
'ParentShardId' => array(
'type' => 'string',
),
'AdjacentParentShardId' => array(
'type' => 'string',
),
'HashKeyRange' => array(
'type' => 'object',
'properties' => array(
'StartingHashKey' => array(
'type' => 'string',
),
'EndingHashKey' => array(
'type' => 'string',
),
),
),
'SequenceNumberRange' => array(
'type' => 'object',
'properties' => array(
'StartingSequenceNumber' => array(
'type' => 'string',
),
'EndingSequenceNumber' => array(
'type' => 'string',
),
),
),
),
),
),
'HasMoreShards' => array(
'type' => 'boolean',
),
),
),
),
),
'GetRecordsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Records' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'Record',
'type' => 'object',
'properties' => array(
'SequenceNumber' => array(
'type' => 'string',
),
'Data' => array(
'type' => 'string',
'filters' => array(
'base64_decode',
),
),
'PartitionKey' => array(
'type' => 'string',
),
),
),
),
'NextShardIterator' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'GetShardIteratorOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ShardIterator' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'ListStreamsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'StreamNames' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'StreamName',
'type' => 'string',
),
),
'HasMoreStreams' => array(
'type' => 'boolean',
'location' => 'json',
),
),
),
'PutRecordOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ShardId' => array(
'type' => 'string',
'location' => 'json',
),
'SequenceNumber' => array(
'type' => 'string',
'location' => 'json',
),
),
),
),
);
sdk-2.5.2/Aws/OpsWorks/OpsWorksClient.php 0000644 115327001610067500000022604 12272324172 015372 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/opsworks-%s.php'
))
->setExceptionParser(new JsonQueryExceptionParser())
->build();
}
}
sdk-2.5.2/Aws/OpsWorks/Enum/AppType.php 0000644 115327001610067500000001561 12272324172 014731 0 ustar '2013-02-18',
'endpointPrefix' => 'opsworks',
'serviceFullName' => 'AWS OpsWorks',
'serviceType' => 'json',
'jsonVersion' => '1.1',
'targetPrefix' => 'OpsWorks_20130218.',
'signatureVersion' => 'v4',
'namespace' => 'OpsWorks',
'regions' => array(
'us-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'opsworks.us-east-1.amazonaws.com',
),
),
'operations' => array(
'AssignVolume' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.AssignVolume',
),
'VolumeId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'InstanceId' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'AssociateElasticIp' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.AssociateElasticIp',
),
'ElasticIp' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'InstanceId' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'AttachElasticLoadBalancer' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.AttachElasticLoadBalancer',
),
'ElasticLoadBalancerName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'LayerId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'CloneStack' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'CloneStackResult',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.CloneStack',
),
'SourceStackId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'Name' => array(
'type' => 'string',
'location' => 'json',
),
'Region' => array(
'type' => 'string',
'location' => 'json',
),
'VpcId' => array(
'type' => 'string',
'location' => 'json',
),
'Attributes' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'string',
'data' => array(
'shape_name' => 'StackAttributesKeys',
),
),
),
'ServiceRoleArn' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'DefaultInstanceProfileArn' => array(
'type' => 'string',
'location' => 'json',
),
'DefaultOs' => array(
'type' => 'string',
'location' => 'json',
),
'HostnameTheme' => array(
'type' => 'string',
'location' => 'json',
),
'DefaultAvailabilityZone' => array(
'type' => 'string',
'location' => 'json',
),
'DefaultSubnetId' => array(
'type' => 'string',
'location' => 'json',
),
'CustomJson' => array(
'type' => 'string',
'location' => 'json',
),
'ConfigurationManager' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Version' => array(
'type' => 'string',
),
),
),
'UseCustomCookbooks' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'CustomCookbooksSource' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Type' => array(
'type' => 'string',
),
'Url' => array(
'type' => 'string',
),
'Username' => array(
'type' => 'string',
),
'Password' => array(
'type' => 'string',
),
'SshKey' => array(
'type' => 'string',
),
'Revision' => array(
'type' => 'string',
),
),
),
'DefaultSshKeyName' => array(
'type' => 'string',
'location' => 'json',
),
'ClonePermissions' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'CloneAppIds' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'DefaultRootDeviceType' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'CreateApp' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'CreateAppResult',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.CreateApp',
),
'StackId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'Shortname' => array(
'type' => 'string',
'location' => 'json',
),
'Name' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'Description' => array(
'type' => 'string',
'location' => 'json',
),
'Type' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'AppSource' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Type' => array(
'type' => 'string',
),
'Url' => array(
'type' => 'string',
),
'Username' => array(
'type' => 'string',
),
'Password' => array(
'type' => 'string',
),
'SshKey' => array(
'type' => 'string',
),
'Revision' => array(
'type' => 'string',
),
),
),
'Domains' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'EnableSsl' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'SslConfiguration' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Certificate' => array(
'required' => true,
'type' => 'string',
),
'PrivateKey' => array(
'required' => true,
'type' => 'string',
),
'Chain' => array(
'type' => 'string',
),
),
),
'Attributes' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'string',
'data' => array(
'shape_name' => 'AppAttributesKeys',
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'CreateDeployment' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'CreateDeploymentResult',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.CreateDeployment',
),
'StackId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'AppId' => array(
'type' => 'string',
'location' => 'json',
),
'InstanceIds' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'Command' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'properties' => array(
'Name' => array(
'required' => true,
'type' => 'string',
),
'Args' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'array',
'data' => array(
'shape_name' => 'String',
),
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
),
),
'Comment' => array(
'type' => 'string',
'location' => 'json',
),
'CustomJson' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'CreateInstance' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'CreateInstanceResult',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.CreateInstance',
),
'StackId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'LayerIds' => array(
'required' => true,
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'InstanceType' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'AutoScalingType' => array(
'type' => 'string',
'location' => 'json',
),
'Hostname' => array(
'type' => 'string',
'location' => 'json',
),
'Os' => array(
'type' => 'string',
'location' => 'json',
),
'AmiId' => array(
'type' => 'string',
'location' => 'json',
),
'SshKeyName' => array(
'type' => 'string',
'location' => 'json',
),
'AvailabilityZone' => array(
'type' => 'string',
'location' => 'json',
),
'SubnetId' => array(
'type' => 'string',
'location' => 'json',
),
'Architecture' => array(
'type' => 'string',
'location' => 'json',
),
'RootDeviceType' => array(
'type' => 'string',
'location' => 'json',
),
'InstallUpdatesOnBoot' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'CreateLayer' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'CreateLayerResult',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.CreateLayer',
),
'StackId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'Type' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'Name' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'Shortname' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'Attributes' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'string',
'data' => array(
'shape_name' => 'LayerAttributesKeys',
),
),
),
'CustomInstanceProfileArn' => array(
'type' => 'string',
'location' => 'json',
),
'CustomSecurityGroupIds' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'Packages' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'VolumeConfigurations' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'VolumeConfiguration',
'type' => 'object',
'properties' => array(
'MountPoint' => array(
'required' => true,
'type' => 'string',
),
'RaidLevel' => array(
'type' => 'numeric',
),
'NumberOfDisks' => array(
'required' => true,
'type' => 'numeric',
),
'Size' => array(
'required' => true,
'type' => 'numeric',
),
),
),
),
'EnableAutoHealing' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'AutoAssignElasticIps' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'AutoAssignPublicIps' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'CustomRecipes' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Setup' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'Configure' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'Deploy' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'Undeploy' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'Shutdown' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
),
'InstallUpdatesOnBoot' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'CreateStack' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'CreateStackResult',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.CreateStack',
),
'Name' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'Region' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'VpcId' => array(
'type' => 'string',
'location' => 'json',
),
'Attributes' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'string',
'data' => array(
'shape_name' => 'StackAttributesKeys',
),
),
),
'ServiceRoleArn' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'DefaultInstanceProfileArn' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'DefaultOs' => array(
'type' => 'string',
'location' => 'json',
),
'HostnameTheme' => array(
'type' => 'string',
'location' => 'json',
),
'DefaultAvailabilityZone' => array(
'type' => 'string',
'location' => 'json',
),
'DefaultSubnetId' => array(
'type' => 'string',
'location' => 'json',
),
'CustomJson' => array(
'type' => 'string',
'location' => 'json',
),
'ConfigurationManager' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Version' => array(
'type' => 'string',
),
),
),
'UseCustomCookbooks' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'CustomCookbooksSource' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Type' => array(
'type' => 'string',
),
'Url' => array(
'type' => 'string',
),
'Username' => array(
'type' => 'string',
),
'Password' => array(
'type' => 'string',
),
'SshKey' => array(
'type' => 'string',
),
'Revision' => array(
'type' => 'string',
),
),
),
'DefaultSshKeyName' => array(
'type' => 'string',
'location' => 'json',
),
'DefaultRootDeviceType' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
),
),
'CreateUserProfile' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'CreateUserProfileResult',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.CreateUserProfile',
),
'IamUserArn' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'SshUsername' => array(
'type' => 'string',
'location' => 'json',
),
'SshPublicKey' => array(
'type' => 'string',
'location' => 'json',
),
'AllowSelfManagement' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
),
),
'DeleteApp' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.DeleteApp',
),
'AppId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'DeleteInstance' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.DeleteInstance',
),
'InstanceId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'DeleteElasticIp' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'DeleteVolumes' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'DeleteLayer' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.DeleteLayer',
),
'LayerId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'DeleteStack' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.DeleteStack',
),
'StackId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'DeleteUserProfile' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.DeleteUserProfile',
),
'IamUserArn' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'DeregisterElasticIp' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.DeregisterElasticIp',
),
'ElasticIp' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'DeregisterVolume' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.DeregisterVolume',
),
'VolumeId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'DescribeApps' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeAppsResult',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.DescribeApps',
),
'StackId' => array(
'type' => 'string',
'location' => 'json',
),
'AppIds' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'DescribeCommands' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeCommandsResult',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.DescribeCommands',
),
'DeploymentId' => array(
'type' => 'string',
'location' => 'json',
),
'InstanceId' => array(
'type' => 'string',
'location' => 'json',
),
'CommandIds' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'DescribeDeployments' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeDeploymentsResult',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.DescribeDeployments',
),
'StackId' => array(
'type' => 'string',
'location' => 'json',
),
'AppId' => array(
'type' => 'string',
'location' => 'json',
),
'DeploymentIds' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'DescribeElasticIps' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeElasticIpsResult',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.DescribeElasticIps',
),
'InstanceId' => array(
'type' => 'string',
'location' => 'json',
),
'StackId' => array(
'type' => 'string',
'location' => 'json',
),
'Ips' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'DescribeElasticLoadBalancers' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeElasticLoadBalancersResult',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.DescribeElasticLoadBalancers',
),
'StackId' => array(
'type' => 'string',
'location' => 'json',
),
'LayerIds' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'DescribeInstances' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeInstancesResult',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.DescribeInstances',
),
'StackId' => array(
'type' => 'string',
'location' => 'json',
),
'LayerId' => array(
'type' => 'string',
'location' => 'json',
),
'InstanceIds' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'DescribeLayers' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeLayersResult',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.DescribeLayers',
),
'StackId' => array(
'type' => 'string',
'location' => 'json',
),
'LayerIds' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'DescribeLoadBasedAutoScaling' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeLoadBasedAutoScalingResult',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.DescribeLoadBasedAutoScaling',
),
'LayerIds' => array(
'required' => true,
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'DescribeMyUserProfile' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeMyUserProfileResult',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.DescribeMyUserProfile',
),
),
),
'DescribePermissions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribePermissionsResult',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.DescribePermissions',
),
'IamUserArn' => array(
'type' => 'string',
'location' => 'json',
),
'StackId' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'DescribeRaidArrays' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeRaidArraysResult',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.DescribeRaidArrays',
),
'InstanceId' => array(
'type' => 'string',
'location' => 'json',
),
'RaidArrayIds' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'DescribeServiceErrors' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeServiceErrorsResult',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.DescribeServiceErrors',
),
'StackId' => array(
'type' => 'string',
'location' => 'json',
),
'InstanceId' => array(
'type' => 'string',
'location' => 'json',
),
'ServiceErrorIds' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'DescribeStackSummary' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeStackSummaryResult',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.DescribeStackSummary',
),
'StackId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'DescribeStacks' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeStacksResult',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.DescribeStacks',
),
'StackIds' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'DescribeTimeBasedAutoScaling' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeTimeBasedAutoScalingResult',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.DescribeTimeBasedAutoScaling',
),
'InstanceIds' => array(
'required' => true,
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'DescribeUserProfiles' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeUserProfilesResult',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.DescribeUserProfiles',
),
'IamUserArns' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'DescribeVolumes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeVolumesResult',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.DescribeVolumes',
),
'InstanceId' => array(
'type' => 'string',
'location' => 'json',
),
'StackId' => array(
'type' => 'string',
'location' => 'json',
),
'RaidArrayId' => array(
'type' => 'string',
'location' => 'json',
),
'VolumeIds' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'DetachElasticLoadBalancer' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.DetachElasticLoadBalancer',
),
'ElasticLoadBalancerName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'LayerId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'DisassociateElasticIp' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.DisassociateElasticIp',
),
'ElasticIp' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'GetHostnameSuggestion' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'GetHostnameSuggestionResult',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.GetHostnameSuggestion',
),
'LayerId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'RebootInstance' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.RebootInstance',
),
'InstanceId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'RegisterElasticIp' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'RegisterElasticIpResult',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.RegisterElasticIp',
),
'ElasticIp' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'StackId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'RegisterVolume' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'RegisterVolumeResult',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.RegisterVolume',
),
'Ec2VolumeId' => array(
'type' => 'string',
'location' => 'json',
),
'StackId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'SetLoadBasedAutoScaling' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.SetLoadBasedAutoScaling',
),
'LayerId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'Enable' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'UpScaling' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'InstanceCount' => array(
'type' => 'numeric',
),
'ThresholdsWaitTime' => array(
'type' => 'numeric',
'minimum' => 1,
'maximum' => 100,
),
'IgnoreMetricsTime' => array(
'type' => 'numeric',
'minimum' => 1,
'maximum' => 100,
),
'CpuThreshold' => array(
'type' => 'numeric',
),
'MemoryThreshold' => array(
'type' => 'numeric',
),
'LoadThreshold' => array(
'type' => 'numeric',
),
),
),
'DownScaling' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'InstanceCount' => array(
'type' => 'numeric',
),
'ThresholdsWaitTime' => array(
'type' => 'numeric',
'minimum' => 1,
'maximum' => 100,
),
'IgnoreMetricsTime' => array(
'type' => 'numeric',
'minimum' => 1,
'maximum' => 100,
),
'CpuThreshold' => array(
'type' => 'numeric',
),
'MemoryThreshold' => array(
'type' => 'numeric',
),
'LoadThreshold' => array(
'type' => 'numeric',
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'SetPermission' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.SetPermission',
),
'StackId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'IamUserArn' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'AllowSsh' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'AllowSudo' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'Level' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'SetTimeBasedAutoScaling' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.SetTimeBasedAutoScaling',
),
'InstanceId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'AutoScalingSchedule' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Monday' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'string',
'data' => array(
'shape_name' => 'Hour',
),
),
),
'Tuesday' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'string',
'data' => array(
'shape_name' => 'Hour',
),
),
),
'Wednesday' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'string',
'data' => array(
'shape_name' => 'Hour',
),
),
),
'Thursday' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'string',
'data' => array(
'shape_name' => 'Hour',
),
),
),
'Friday' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'string',
'data' => array(
'shape_name' => 'Hour',
),
),
),
'Saturday' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'string',
'data' => array(
'shape_name' => 'Hour',
),
),
),
'Sunday' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'string',
'data' => array(
'shape_name' => 'Hour',
),
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'StartInstance' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.StartInstance',
),
'InstanceId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'StartStack' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.StartStack',
),
'StackId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'StopInstance' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.StopInstance',
),
'InstanceId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'StopStack' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.StopStack',
),
'StackId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'UnassignVolume' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.UnassignVolume',
),
'VolumeId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'UpdateApp' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.UpdateApp',
),
'AppId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'Name' => array(
'type' => 'string',
'location' => 'json',
),
'Description' => array(
'type' => 'string',
'location' => 'json',
),
'Type' => array(
'type' => 'string',
'location' => 'json',
),
'AppSource' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Type' => array(
'type' => 'string',
),
'Url' => array(
'type' => 'string',
),
'Username' => array(
'type' => 'string',
),
'Password' => array(
'type' => 'string',
),
'SshKey' => array(
'type' => 'string',
),
'Revision' => array(
'type' => 'string',
),
),
),
'Domains' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'EnableSsl' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'SslConfiguration' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Certificate' => array(
'required' => true,
'type' => 'string',
),
'PrivateKey' => array(
'required' => true,
'type' => 'string',
),
'Chain' => array(
'type' => 'string',
),
),
),
'Attributes' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'string',
'data' => array(
'shape_name' => 'AppAttributesKeys',
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'UpdateElasticIp' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.UpdateElasticIp',
),
'ElasticIp' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'Name' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'UpdateInstance' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.UpdateInstance',
),
'InstanceId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'LayerIds' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'InstanceType' => array(
'type' => 'string',
'location' => 'json',
),
'AutoScalingType' => array(
'type' => 'string',
'location' => 'json',
),
'Hostname' => array(
'type' => 'string',
'location' => 'json',
),
'Os' => array(
'type' => 'string',
'location' => 'json',
),
'AmiId' => array(
'type' => 'string',
'location' => 'json',
),
'SshKeyName' => array(
'type' => 'string',
'location' => 'json',
),
'Architecture' => array(
'type' => 'string',
'location' => 'json',
),
'InstallUpdatesOnBoot' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'UpdateLayer' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.UpdateLayer',
),
'LayerId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'Name' => array(
'type' => 'string',
'location' => 'json',
),
'Shortname' => array(
'type' => 'string',
'location' => 'json',
),
'Attributes' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'string',
'data' => array(
'shape_name' => 'LayerAttributesKeys',
),
),
),
'CustomInstanceProfileArn' => array(
'type' => 'string',
'location' => 'json',
),
'CustomSecurityGroupIds' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'Packages' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'VolumeConfigurations' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'VolumeConfiguration',
'type' => 'object',
'properties' => array(
'MountPoint' => array(
'required' => true,
'type' => 'string',
),
'RaidLevel' => array(
'type' => 'numeric',
),
'NumberOfDisks' => array(
'required' => true,
'type' => 'numeric',
),
'Size' => array(
'required' => true,
'type' => 'numeric',
),
),
),
),
'EnableAutoHealing' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'AutoAssignElasticIps' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'AutoAssignPublicIps' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'CustomRecipes' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Setup' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'Configure' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'Deploy' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'Undeploy' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'Shutdown' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
),
'InstallUpdatesOnBoot' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'UpdateMyUserProfile' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.UpdateMyUserProfile',
),
'SshPublicKey' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
),
),
'UpdateStack' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.UpdateStack',
),
'StackId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'Name' => array(
'type' => 'string',
'location' => 'json',
),
'Attributes' => array(
'type' => 'object',
'location' => 'json',
'additionalProperties' => array(
'type' => 'string',
'data' => array(
'shape_name' => 'StackAttributesKeys',
),
),
),
'ServiceRoleArn' => array(
'type' => 'string',
'location' => 'json',
),
'DefaultInstanceProfileArn' => array(
'type' => 'string',
'location' => 'json',
),
'DefaultOs' => array(
'type' => 'string',
'location' => 'json',
),
'HostnameTheme' => array(
'type' => 'string',
'location' => 'json',
),
'DefaultAvailabilityZone' => array(
'type' => 'string',
'location' => 'json',
),
'DefaultSubnetId' => array(
'type' => 'string',
'location' => 'json',
),
'CustomJson' => array(
'type' => 'string',
'location' => 'json',
),
'ConfigurationManager' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Version' => array(
'type' => 'string',
),
),
),
'UseCustomCookbooks' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'CustomCookbooksSource' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'Type' => array(
'type' => 'string',
),
'Url' => array(
'type' => 'string',
),
'Username' => array(
'type' => 'string',
),
'Password' => array(
'type' => 'string',
),
'SshKey' => array(
'type' => 'string',
),
'Revision' => array(
'type' => 'string',
),
),
),
'DefaultSshKeyName' => array(
'type' => 'string',
'location' => 'json',
),
'DefaultRootDeviceType' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'UpdateUserProfile' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.UpdateUserProfile',
),
'IamUserArn' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'SshUsername' => array(
'type' => 'string',
'location' => 'json',
),
'SshPublicKey' => array(
'type' => 'string',
'location' => 'json',
),
'AllowSelfManagement' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
'UpdateVolume' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'OpsWorks_20130218.UpdateVolume',
),
'VolumeId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'Name' => array(
'type' => 'string',
'location' => 'json',
),
'MountPoint' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request was invalid.',
'class' => 'ValidationException',
),
array(
'reason' => 'Indicates that a resource was not found.',
'class' => 'ResourceNotFoundException',
),
),
),
),
'models' => array(
'EmptyOutput' => array(
'type' => 'object',
'additionalProperties' => true,
),
'CloneStackResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'StackId' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'CreateAppResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'AppId' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'CreateDeploymentResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'DeploymentId' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'CreateInstanceResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'InstanceId' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'CreateLayerResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'LayerId' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'CreateStackResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'StackId' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'CreateUserProfileResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'IamUserArn' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'DescribeAppsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Apps' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'App',
'type' => 'object',
'properties' => array(
'AppId' => array(
'type' => 'string',
),
'StackId' => array(
'type' => 'string',
),
'Shortname' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'Type' => array(
'type' => 'string',
),
'AppSource' => array(
'type' => 'object',
'properties' => array(
'Type' => array(
'type' => 'string',
),
'Url' => array(
'type' => 'string',
),
'Username' => array(
'type' => 'string',
),
'Password' => array(
'type' => 'string',
),
'SshKey' => array(
'type' => 'string',
),
'Revision' => array(
'type' => 'string',
),
),
),
'Domains' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'EnableSsl' => array(
'type' => 'boolean',
),
'SslConfiguration' => array(
'type' => 'object',
'properties' => array(
'Certificate' => array(
'type' => 'string',
),
'PrivateKey' => array(
'type' => 'string',
),
'Chain' => array(
'type' => 'string',
),
),
),
'Attributes' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'string',
),
),
'CreatedAt' => array(
'type' => 'string',
),
),
),
),
),
),
'DescribeCommandsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Commands' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'Command',
'type' => 'object',
'properties' => array(
'CommandId' => array(
'type' => 'string',
),
'InstanceId' => array(
'type' => 'string',
),
'DeploymentId' => array(
'type' => 'string',
),
'CreatedAt' => array(
'type' => 'string',
),
'AcknowledgedAt' => array(
'type' => 'string',
),
'CompletedAt' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'ExitCode' => array(
'type' => 'numeric',
),
'LogUrl' => array(
'type' => 'string',
),
'Type' => array(
'type' => 'string',
),
),
),
),
),
),
'DescribeDeploymentsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Deployments' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'Deployment',
'type' => 'object',
'properties' => array(
'DeploymentId' => array(
'type' => 'string',
),
'StackId' => array(
'type' => 'string',
),
'AppId' => array(
'type' => 'string',
),
'CreatedAt' => array(
'type' => 'string',
),
'CompletedAt' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'numeric',
),
'IamUserArn' => array(
'type' => 'string',
),
'Comment' => array(
'type' => 'string',
),
'Command' => array(
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Args' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
),
),
'Status' => array(
'type' => 'string',
),
'CustomJson' => array(
'type' => 'string',
),
'InstanceIds' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
),
),
),
),
'DescribeElasticIpsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ElasticIps' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'ElasticIp',
'type' => 'object',
'properties' => array(
'Ip' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'Domain' => array(
'type' => 'string',
),
'Region' => array(
'type' => 'string',
),
'InstanceId' => array(
'type' => 'string',
),
),
),
),
),
),
'DescribeElasticLoadBalancersResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ElasticLoadBalancers' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'ElasticLoadBalancer',
'type' => 'object',
'properties' => array(
'ElasticLoadBalancerName' => array(
'type' => 'string',
),
'Region' => array(
'type' => 'string',
),
'DnsName' => array(
'type' => 'string',
),
'StackId' => array(
'type' => 'string',
),
'LayerId' => array(
'type' => 'string',
),
'VpcId' => array(
'type' => 'string',
),
'AvailabilityZones' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'SubnetIds' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'Ec2InstanceIds' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
),
),
),
),
'DescribeInstancesResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Instances' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'Instance',
'type' => 'object',
'properties' => array(
'InstanceId' => array(
'type' => 'string',
),
'Ec2InstanceId' => array(
'type' => 'string',
),
'Hostname' => array(
'type' => 'string',
),
'StackId' => array(
'type' => 'string',
),
'LayerIds' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'SecurityGroupIds' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'InstanceType' => array(
'type' => 'string',
),
'InstanceProfileArn' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'Os' => array(
'type' => 'string',
),
'AmiId' => array(
'type' => 'string',
),
'AvailabilityZone' => array(
'type' => 'string',
),
'SubnetId' => array(
'type' => 'string',
),
'PublicDns' => array(
'type' => 'string',
),
'PrivateDns' => array(
'type' => 'string',
),
'PublicIp' => array(
'type' => 'string',
),
'PrivateIp' => array(
'type' => 'string',
),
'ElasticIp' => array(
'type' => 'string',
),
'AutoScalingType' => array(
'type' => 'string',
),
'SshKeyName' => array(
'type' => 'string',
),
'SshHostRsaKeyFingerprint' => array(
'type' => 'string',
),
'SshHostDsaKeyFingerprint' => array(
'type' => 'string',
),
'CreatedAt' => array(
'type' => 'string',
),
'LastServiceErrorId' => array(
'type' => 'string',
),
'Architecture' => array(
'type' => 'string',
),
'RootDeviceType' => array(
'type' => 'string',
),
'RootDeviceVolumeId' => array(
'type' => 'string',
),
'InstallUpdatesOnBoot' => array(
'type' => 'boolean',
),
),
),
),
),
),
'DescribeLayersResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Layers' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'Layer',
'type' => 'object',
'properties' => array(
'StackId' => array(
'type' => 'string',
),
'LayerId' => array(
'type' => 'string',
),
'Type' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'Shortname' => array(
'type' => 'string',
),
'Attributes' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'string',
),
),
'CustomInstanceProfileArn' => array(
'type' => 'string',
),
'CustomSecurityGroupIds' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'DefaultSecurityGroupNames' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'Packages' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'VolumeConfigurations' => array(
'type' => 'array',
'items' => array(
'name' => 'VolumeConfiguration',
'type' => 'object',
'properties' => array(
'MountPoint' => array(
'type' => 'string',
),
'RaidLevel' => array(
'type' => 'numeric',
),
'NumberOfDisks' => array(
'type' => 'numeric',
),
'Size' => array(
'type' => 'numeric',
),
),
),
),
'EnableAutoHealing' => array(
'type' => 'boolean',
),
'AutoAssignElasticIps' => array(
'type' => 'boolean',
),
'AutoAssignPublicIps' => array(
'type' => 'boolean',
),
'DefaultRecipes' => array(
'type' => 'object',
'properties' => array(
'Setup' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'Configure' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'Deploy' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'Undeploy' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'Shutdown' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
),
'CustomRecipes' => array(
'type' => 'object',
'properties' => array(
'Setup' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'Configure' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'Deploy' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'Undeploy' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'Shutdown' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
),
'CreatedAt' => array(
'type' => 'string',
),
'InstallUpdatesOnBoot' => array(
'type' => 'boolean',
),
),
),
),
),
),
'DescribeLoadBasedAutoScalingResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'LoadBasedAutoScalingConfigurations' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'LoadBasedAutoScalingConfiguration',
'type' => 'object',
'properties' => array(
'LayerId' => array(
'type' => 'string',
),
'Enable' => array(
'type' => 'boolean',
),
'UpScaling' => array(
'type' => 'object',
'properties' => array(
'InstanceCount' => array(
'type' => 'numeric',
),
'ThresholdsWaitTime' => array(
'type' => 'numeric',
),
'IgnoreMetricsTime' => array(
'type' => 'numeric',
),
'CpuThreshold' => array(
'type' => 'numeric',
),
'MemoryThreshold' => array(
'type' => 'numeric',
),
'LoadThreshold' => array(
'type' => 'numeric',
),
),
),
'DownScaling' => array(
'type' => 'object',
'properties' => array(
'InstanceCount' => array(
'type' => 'numeric',
),
'ThresholdsWaitTime' => array(
'type' => 'numeric',
),
'IgnoreMetricsTime' => array(
'type' => 'numeric',
),
'CpuThreshold' => array(
'type' => 'numeric',
),
'MemoryThreshold' => array(
'type' => 'numeric',
),
'LoadThreshold' => array(
'type' => 'numeric',
),
),
),
),
),
),
),
),
'DescribeMyUserProfileResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'UserProfile' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'IamUserArn' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'SshUsername' => array(
'type' => 'string',
),
'SshPublicKey' => array(
'type' => 'string',
),
),
),
),
),
'DescribePermissionsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Permissions' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'Permission',
'type' => 'object',
'properties' => array(
'StackId' => array(
'type' => 'string',
),
'IamUserArn' => array(
'type' => 'string',
),
'AllowSsh' => array(
'type' => 'boolean',
),
'AllowSudo' => array(
'type' => 'boolean',
),
'Level' => array(
'type' => 'string',
),
),
),
),
),
),
'DescribeRaidArraysResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RaidArrays' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'RaidArray',
'type' => 'object',
'properties' => array(
'RaidArrayId' => array(
'type' => 'string',
),
'InstanceId' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'RaidLevel' => array(
'type' => 'numeric',
),
'NumberOfDisks' => array(
'type' => 'numeric',
),
'Size' => array(
'type' => 'numeric',
),
'Device' => array(
'type' => 'string',
),
'MountPoint' => array(
'type' => 'string',
),
'AvailabilityZone' => array(
'type' => 'string',
),
'CreatedAt' => array(
'type' => 'string',
),
),
),
),
),
),
'DescribeServiceErrorsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ServiceErrors' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'ServiceError',
'type' => 'object',
'properties' => array(
'ServiceErrorId' => array(
'type' => 'string',
),
'StackId' => array(
'type' => 'string',
),
'InstanceId' => array(
'type' => 'string',
),
'Type' => array(
'type' => 'string',
),
'Message' => array(
'type' => 'string',
),
'CreatedAt' => array(
'type' => 'string',
),
),
),
),
),
),
'DescribeStackSummaryResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'StackSummary' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'StackId' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'LayersCount' => array(
'type' => 'numeric',
),
'AppsCount' => array(
'type' => 'numeric',
),
'InstancesCount' => array(
'type' => 'object',
'properties' => array(
'Booting' => array(
'type' => 'numeric',
),
'ConnectionLost' => array(
'type' => 'numeric',
),
'Pending' => array(
'type' => 'numeric',
),
'Rebooting' => array(
'type' => 'numeric',
),
'Requested' => array(
'type' => 'numeric',
),
'RunningSetup' => array(
'type' => 'numeric',
),
'SetupFailed' => array(
'type' => 'numeric',
),
'ShuttingDown' => array(
'type' => 'numeric',
),
'StartFailed' => array(
'type' => 'numeric',
),
'Stopped' => array(
'type' => 'numeric',
),
'Terminated' => array(
'type' => 'numeric',
),
'Terminating' => array(
'type' => 'numeric',
),
),
),
),
),
),
),
'DescribeStacksResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Stacks' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'Stack',
'type' => 'object',
'properties' => array(
'StackId' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'Region' => array(
'type' => 'string',
),
'VpcId' => array(
'type' => 'string',
),
'Attributes' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'string',
),
),
'ServiceRoleArn' => array(
'type' => 'string',
),
'DefaultInstanceProfileArn' => array(
'type' => 'string',
),
'DefaultOs' => array(
'type' => 'string',
),
'HostnameTheme' => array(
'type' => 'string',
),
'DefaultAvailabilityZone' => array(
'type' => 'string',
),
'DefaultSubnetId' => array(
'type' => 'string',
),
'CustomJson' => array(
'type' => 'string',
),
'ConfigurationManager' => array(
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Version' => array(
'type' => 'string',
),
),
),
'UseCustomCookbooks' => array(
'type' => 'boolean',
),
'CustomCookbooksSource' => array(
'type' => 'object',
'properties' => array(
'Type' => array(
'type' => 'string',
),
'Url' => array(
'type' => 'string',
),
'Username' => array(
'type' => 'string',
),
'Password' => array(
'type' => 'string',
),
'SshKey' => array(
'type' => 'string',
),
'Revision' => array(
'type' => 'string',
),
),
),
'DefaultSshKeyName' => array(
'type' => 'string',
),
'CreatedAt' => array(
'type' => 'string',
),
'DefaultRootDeviceType' => array(
'type' => 'string',
),
),
),
),
),
),
'DescribeTimeBasedAutoScalingResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'TimeBasedAutoScalingConfigurations' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'TimeBasedAutoScalingConfiguration',
'type' => 'object',
'properties' => array(
'InstanceId' => array(
'type' => 'string',
),
'AutoScalingSchedule' => array(
'type' => 'object',
'properties' => array(
'Monday' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'string',
),
),
'Tuesday' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'string',
),
),
'Wednesday' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'string',
),
),
'Thursday' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'string',
),
),
'Friday' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'string',
),
),
'Saturday' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'string',
),
),
'Sunday' => array(
'type' => 'object',
'additionalProperties' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'DescribeUserProfilesResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'UserProfiles' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'UserProfile',
'type' => 'object',
'properties' => array(
'IamUserArn' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'SshUsername' => array(
'type' => 'string',
),
'SshPublicKey' => array(
'type' => 'string',
),
'AllowSelfManagement' => array(
'type' => 'boolean',
),
),
),
),
),
),
'DescribeVolumesResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Volumes' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'Volume',
'type' => 'object',
'properties' => array(
'VolumeId' => array(
'type' => 'string',
),
'Ec2VolumeId' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'RaidArrayId' => array(
'type' => 'string',
),
'InstanceId' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'Size' => array(
'type' => 'numeric',
),
'Device' => array(
'type' => 'string',
),
'MountPoint' => array(
'type' => 'string',
),
'Region' => array(
'type' => 'string',
),
'AvailabilityZone' => array(
'type' => 'string',
),
),
),
),
),
),
'GetHostnameSuggestionResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'LayerId' => array(
'type' => 'string',
'location' => 'json',
),
'Hostname' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'RegisterElasticIpResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ElasticIp' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'RegisterVolumeResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'VolumeId' => array(
'type' => 'string',
'location' => 'json',
),
),
),
),
'iterators' => array(
'operations' => array(
'DescribeApps' => array(
'result_key' => 'Apps',
),
'DescribeCommands' => array(
'result_key' => 'Commands',
),
'DescribeDeployments' => array(
'result_key' => 'Deployments',
),
'DescribeElasticIps' => array(
'result_key' => 'ElasticIps',
),
'DescribeElasticLoadBalancers' => array(
'result_key' => 'ElasticLoadBalancers',
),
'DescribeInstances' => array(
'result_key' => 'Instances',
),
'DescribeLayers' => array(
'result_key' => 'Layers',
),
'DescribeLoadBasedAutoScaling' => array(
'result_key' => 'LoadBasedAutoScalingConfigurations',
),
'DescribeRaidArrays' => array(
'result_key' => 'RaidArrays',
),
'DescribeServiceErrors' => array(
'result_key' => 'ServiceErrors',
),
'DescribeStacks' => array(
'result_key' => 'Stacks',
),
'DescribeTimeBasedAutoScaling' => array(
'result_key' => 'TimeBasedAutoScalingConfigurations',
),
'DescribeUserProfiles' => array(
'result_key' => 'UserProfiles',
),
'DescribeVolumes' => array(
'result_key' => 'Volumes',
),
),
),
);
sdk-2.5.2/Aws/Rds/RdsClient.php 0000644 115327001610067500000024775 12272324172 013307 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/rds-%s.php'
))
->build();
}
}
sdk-2.5.2/Aws/Rds/Enum/ApplyMethod.php 0000644 115327001610067500000001444 12272324172 014536 0 ustar '2013-09-09',
'endpointPrefix' => 'rds',
'serviceFullName' => 'Amazon Relational Database Service',
'serviceAbbreviation' => 'Amazon RDS',
'serviceType' => 'query',
'resultWrapped' => true,
'signatureVersion' => 'v4',
'namespace' => 'Rds',
'regions' => array(
'us-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'rds.us-east-1.amazonaws.com',
),
'us-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'rds.us-west-1.amazonaws.com',
),
'us-west-2' => array(
'http' => false,
'https' => true,
'hostname' => 'rds.us-west-2.amazonaws.com',
),
'eu-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'rds.eu-west-1.amazonaws.com',
),
'ap-northeast-1' => array(
'http' => false,
'https' => true,
'hostname' => 'rds.ap-northeast-1.amazonaws.com',
),
'ap-southeast-1' => array(
'http' => false,
'https' => true,
'hostname' => 'rds.ap-southeast-1.amazonaws.com',
),
'ap-southeast-2' => array(
'http' => false,
'https' => true,
'hostname' => 'rds.ap-southeast-2.amazonaws.com',
),
'sa-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'rds.sa-east-1.amazonaws.com',
),
'cn-north-1' => array(
'http' => false,
'https' => true,
'hostname' => 'rds.cn-north-1.amazonaws.com.cn',
),
'us-gov-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'rds.us-gov-west-1.amazonaws.com',
),
),
'operations' => array(
'AddSourceIdentifierToSubscription' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EventSubscriptionWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'AddSourceIdentifierToSubscription',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'SubscriptionName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'SourceIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The subscription name does not exist.',
'class' => 'SubscriptionNotFoundException',
),
array(
'reason' => 'The requested source could not be found.',
'class' => 'SourceNotFoundException',
),
),
),
'AddTagsToResource' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'AddTagsToResource',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'ResourceName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Tags' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Tags.member',
'items' => array(
'name' => 'Tag',
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'DBInstanceIdentifier does not refer to an existing DB instance.',
'class' => 'DBInstanceNotFoundException',
),
array(
'reason' => 'DBSnapshotIdentifier does not refer to an existing DB snapshot.',
'class' => 'DBSnapshotNotFoundException',
),
),
),
'AuthorizeDBSecurityGroupIngress' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DBSecurityGroupWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'AuthorizeDBSecurityGroupIngress',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBSecurityGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'CIDRIP' => array(
'type' => 'string',
'location' => 'aws.query',
),
'EC2SecurityGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'EC2SecurityGroupId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'EC2SecurityGroupOwnerId' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'DBSecurityGroupName does not refer to an existing DB security group.',
'class' => 'DBSecurityGroupNotFoundException',
),
array(
'reason' => 'The state of the DB security group does not allow deletion.',
'class' => 'InvalidDBSecurityGroupStateException',
),
array(
'reason' => 'The specified CIDRIP or EC2 security group is already authorized for the specified DB security group.',
'class' => 'AuthorizationAlreadyExistsException',
),
array(
'reason' => 'DB security group authorization quota has been reached.',
'class' => 'AuthorizationQuotaExceededException',
),
),
),
'CopyDBSnapshot' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DBSnapshotWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CopyDBSnapshot',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'SourceDBSnapshotIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'TargetDBSnapshotIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Tags' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Tags.member',
'items' => array(
'name' => 'Tag',
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'DBSnapshotIdentifier is already used by an existing snapshot.',
'class' => 'DBSnapshotAlreadyExistsException',
),
array(
'reason' => 'DBSnapshotIdentifier does not refer to an existing DB snapshot.',
'class' => 'DBSnapshotNotFoundException',
),
array(
'reason' => 'The state of the DB snapshot does not allow deletion.',
'class' => 'InvalidDBSnapshotStateException',
),
array(
'reason' => 'Request would result in user exceeding the allowed number of DB snapshots.',
'class' => 'SnapshotQuotaExceededException',
),
),
),
'CreateDBInstance' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DBInstanceWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateDBInstance',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'DBInstanceIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'AllocatedStorage' => array(
'required' => true,
'type' => 'numeric',
'location' => 'aws.query',
),
'DBInstanceClass' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Engine' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'MasterUsername' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'MasterUserPassword' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'DBSecurityGroups' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'DBSecurityGroups.member',
'items' => array(
'name' => 'DBSecurityGroupName',
'type' => 'string',
),
),
'VpcSecurityGroupIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'VpcSecurityGroupIds.member',
'items' => array(
'name' => 'VpcSecurityGroupId',
'type' => 'string',
),
),
'AvailabilityZone' => array(
'type' => 'string',
'location' => 'aws.query',
),
'DBSubnetGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'PreferredMaintenanceWindow' => array(
'type' => 'string',
'location' => 'aws.query',
),
'DBParameterGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'BackupRetentionPeriod' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'PreferredBackupWindow' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Port' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'MultiAZ' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'EngineVersion' => array(
'type' => 'string',
'location' => 'aws.query',
),
'AutoMinorVersionUpgrade' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'LicenseModel' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Iops' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'OptionGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'CharacterSetName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'PubliclyAccessible' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'Tags' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Tags.member',
'items' => array(
'name' => 'Tag',
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'User already has a DB instance with the given identifier.',
'class' => 'DBInstanceAlreadyExistsException',
),
array(
'reason' => 'Specified DB instance class is not available in the specified Availability Zone.',
'class' => 'InsufficientDBInstanceCapacityException',
),
array(
'reason' => 'DBParameterGroupName does not refer to an existing DB parameter group.',
'class' => 'DBParameterGroupNotFoundException',
),
array(
'reason' => 'DBSecurityGroupName does not refer to an existing DB security group.',
'class' => 'DBSecurityGroupNotFoundException',
),
array(
'reason' => 'Request would result in user exceeding the allowed number of DB instances.',
'class' => 'InstanceQuotaExceededException',
),
array(
'reason' => 'Request would result in user exceeding the allowed amount of storage available across all DB instances.',
'class' => 'StorageQuotaExceededException',
),
array(
'reason' => 'DBSubnetGroupName does not refer to an existing DB subnet group.',
'class' => 'DBSubnetGroupNotFoundException',
),
array(
'reason' => 'Subnets in the DB subnet group should cover at least 2 Availability Zones unless there is only 1 availablility zone.',
'class' => 'DBSubnetGroupDoesNotCoverEnoughAZsException',
),
array(
'reason' => 'The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.',
'class' => 'InvalidSubnetException',
),
array(
'reason' => 'DB subnet group does not cover all Availability Zones after it is created because users\' change.',
'class' => 'InvalidVPCNetworkStateException',
),
array(
'reason' => 'Provisioned IOPS not available in the specified Availability Zone.',
'class' => 'ProvisionedIopsNotAvailableInAZException',
),
array(
'reason' => 'The specified option group could not be found.',
'class' => 'OptionGroupNotFoundException',
),
),
),
'CreateDBInstanceReadReplica' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DBInstanceWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateDBInstanceReadReplica',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBInstanceIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'SourceDBInstanceIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'DBInstanceClass' => array(
'type' => 'string',
'location' => 'aws.query',
),
'AvailabilityZone' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Port' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'AutoMinorVersionUpgrade' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'Iops' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'OptionGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'PubliclyAccessible' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'Tags' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Tags.member',
'items' => array(
'name' => 'Tag',
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
'DBSubnetGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'User already has a DB instance with the given identifier.',
'class' => 'DBInstanceAlreadyExistsException',
),
array(
'reason' => 'Specified DB instance class is not available in the specified Availability Zone.',
'class' => 'InsufficientDBInstanceCapacityException',
),
array(
'reason' => 'DBParameterGroupName does not refer to an existing DB parameter group.',
'class' => 'DBParameterGroupNotFoundException',
),
array(
'reason' => 'DBSecurityGroupName does not refer to an existing DB security group.',
'class' => 'DBSecurityGroupNotFoundException',
),
array(
'reason' => 'Request would result in user exceeding the allowed number of DB instances.',
'class' => 'InstanceQuotaExceededException',
),
array(
'reason' => 'Request would result in user exceeding the allowed amount of storage available across all DB instances.',
'class' => 'StorageQuotaExceededException',
),
array(
'reason' => 'DBInstanceIdentifier does not refer to an existing DB instance.',
'class' => 'DBInstanceNotFoundException',
),
array(
'reason' => 'The specified DB instance is not in the available state.',
'class' => 'InvalidDBInstanceStateException',
),
array(
'reason' => 'DBSubnetGroupName does not refer to an existing DB subnet group.',
'class' => 'DBSubnetGroupNotFoundException',
),
array(
'reason' => 'Subnets in the DB subnet group should cover at least 2 Availability Zones unless there is only 1 availablility zone.',
'class' => 'DBSubnetGroupDoesNotCoverEnoughAZsException',
),
array(
'reason' => 'The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.',
'class' => 'InvalidSubnetException',
),
array(
'reason' => 'DB subnet group does not cover all Availability Zones after it is created because users\' change.',
'class' => 'InvalidVPCNetworkStateException',
),
array(
'reason' => 'Provisioned IOPS not available in the specified Availability Zone.',
'class' => 'ProvisionedIopsNotAvailableInAZException',
),
array(
'reason' => 'The specified option group could not be found.',
'class' => 'OptionGroupNotFoundException',
),
array(
'reason' => 'Indicates that the DBSubnetGroup should not be specified while creating read replicas that lie in the same region as the source instance.',
'class' => 'DBSubnetGroupNotAllowedException',
),
array(
'reason' => 'Indicates the DBSubnetGroup does not belong to the same VPC as that of an existing cross region read replica of the same source instance.',
'class' => 'InvalidDBSubnetGroupException',
),
),
),
'CreateDBParameterGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DBParameterGroupWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateDBParameterGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBParameterGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'DBParameterGroupFamily' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Description' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Tags' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Tags.member',
'items' => array(
'name' => 'Tag',
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Request would result in user exceeding the allowed number of DB parameter groups.',
'class' => 'DBParameterGroupQuotaExceededException',
),
array(
'reason' => 'A DB parameter group with the same name exists.',
'class' => 'DBParameterGroupAlreadyExistsException',
),
),
),
'CreateDBSecurityGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DBSecurityGroupWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateDBSecurityGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBSecurityGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'DBSecurityGroupDescription' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Tags' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Tags.member',
'items' => array(
'name' => 'Tag',
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'A DB security group with the name specified in DBSecurityGroupName already exists.',
'class' => 'DBSecurityGroupAlreadyExistsException',
),
array(
'reason' => 'Request would result in user exceeding the allowed number of DB security groups.',
'class' => 'DBSecurityGroupQuotaExceededException',
),
array(
'reason' => 'A DB security group is not allowed for this action.',
'class' => 'DBSecurityGroupNotSupportedException',
),
),
),
'CreateDBSnapshot' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DBSnapshotWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateDBSnapshot',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBSnapshotIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'DBInstanceIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Tags' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Tags.member',
'items' => array(
'name' => 'Tag',
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'DBSnapshotIdentifier is already used by an existing snapshot.',
'class' => 'DBSnapshotAlreadyExistsException',
),
array(
'reason' => 'The specified DB instance is not in the available state.',
'class' => 'InvalidDBInstanceStateException',
),
array(
'reason' => 'DBInstanceIdentifier does not refer to an existing DB instance.',
'class' => 'DBInstanceNotFoundException',
),
array(
'reason' => 'Request would result in user exceeding the allowed number of DB snapshots.',
'class' => 'SnapshotQuotaExceededException',
),
),
),
'CreateDBSubnetGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DBSubnetGroupWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateDBSubnetGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBSubnetGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'DBSubnetGroupDescription' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'SubnetIds' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'SubnetIds.member',
'items' => array(
'name' => 'SubnetIdentifier',
'type' => 'string',
),
),
'Tags' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Tags.member',
'items' => array(
'name' => 'Tag',
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'DBSubnetGroupName is already used by an existing DB subnet group.',
'class' => 'DBSubnetGroupAlreadyExistsException',
),
array(
'reason' => 'Request would result in user exceeding the allowed number of DB subnet groups.',
'class' => 'DBSubnetGroupQuotaExceededException',
),
array(
'reason' => 'Request would result in user exceeding the allowed number of subnets in a DB subnet groups.',
'class' => 'DBSubnetQuotaExceededException',
),
array(
'reason' => 'Subnets in the DB subnet group should cover at least 2 Availability Zones unless there is only 1 availablility zone.',
'class' => 'DBSubnetGroupDoesNotCoverEnoughAZsException',
),
array(
'reason' => 'The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.',
'class' => 'InvalidSubnetException',
),
),
),
'CreateEventSubscription' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EventSubscriptionWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateEventSubscription',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'SubscriptionName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'SnsTopicArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'SourceType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'EventCategories' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'EventCategories.member',
'items' => array(
'name' => 'EventCategory',
'type' => 'string',
),
),
'SourceIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'SourceIds.member',
'items' => array(
'name' => 'SourceId',
'type' => 'string',
),
),
'Enabled' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'Tags' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Tags.member',
'items' => array(
'name' => 'Tag',
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'You have reached the maximum number of event subscriptions.',
'class' => 'EventSubscriptionQuotaExceededException',
),
array(
'reason' => 'The supplied subscription name already exists.',
'class' => 'SubscriptionAlreadyExistException',
),
array(
'reason' => 'SNS has responded that there is a problem with the SND topic specified.',
'class' => 'SNSInvalidTopicException',
),
array(
'reason' => 'You do not have permission to publish to the SNS topic ARN.',
'class' => 'SNSNoAuthorizationException',
),
array(
'reason' => 'The SNS topic ARN does not exist.',
'class' => 'SNSTopicArnNotFoundException',
),
array(
'reason' => 'The supplied category does not exist.',
'class' => 'SubscriptionCategoryNotFoundException',
),
array(
'reason' => 'The requested source could not be found.',
'class' => 'SourceNotFoundException',
),
),
),
'CreateOptionGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'OptionGroupWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateOptionGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'OptionGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'EngineName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'MajorEngineVersion' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'OptionGroupDescription' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Tags' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Tags.member',
'items' => array(
'name' => 'Tag',
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'The option group you are trying to create already exists.',
'class' => 'OptionGroupAlreadyExistsException',
),
array(
'reason' => 'The quota of 20 option groups was exceeded for this AWS account.',
'class' => 'OptionGroupQuotaExceededException',
),
),
),
'DeleteDBInstance' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DBInstanceWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteDBInstance',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBInstanceIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'SkipFinalSnapshot' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'FinalDBSnapshotIdentifier' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'DBInstanceIdentifier does not refer to an existing DB instance.',
'class' => 'DBInstanceNotFoundException',
),
array(
'reason' => 'The specified DB instance is not in the available state.',
'class' => 'InvalidDBInstanceStateException',
),
array(
'reason' => 'DBSnapshotIdentifier is already used by an existing snapshot.',
'class' => 'DBSnapshotAlreadyExistsException',
),
array(
'reason' => 'Request would result in user exceeding the allowed number of DB snapshots.',
'class' => 'SnapshotQuotaExceededException',
),
),
),
'DeleteDBParameterGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteDBParameterGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBParameterGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The DB parameter group cannot be deleted because it is in use.',
'class' => 'InvalidDBParameterGroupStateException',
),
array(
'reason' => 'DBParameterGroupName does not refer to an existing DB parameter group.',
'class' => 'DBParameterGroupNotFoundException',
),
),
),
'DeleteDBSecurityGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteDBSecurityGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBSecurityGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The state of the DB security group does not allow deletion.',
'class' => 'InvalidDBSecurityGroupStateException',
),
array(
'reason' => 'DBSecurityGroupName does not refer to an existing DB security group.',
'class' => 'DBSecurityGroupNotFoundException',
),
),
),
'DeleteDBSnapshot' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DBSnapshotWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteDBSnapshot',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBSnapshotIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The state of the DB snapshot does not allow deletion.',
'class' => 'InvalidDBSnapshotStateException',
),
array(
'reason' => 'DBSnapshotIdentifier does not refer to an existing DB snapshot.',
'class' => 'DBSnapshotNotFoundException',
),
),
),
'DeleteDBSubnetGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteDBSubnetGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBSubnetGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The DB subnet group cannot be deleted because it is in use.',
'class' => 'InvalidDBSubnetGroupStateException',
),
array(
'reason' => 'The DB subnet is not in the available state.',
'class' => 'InvalidDBSubnetStateException',
),
array(
'reason' => 'DBSubnetGroupName does not refer to an existing DB subnet group.',
'class' => 'DBSubnetGroupNotFoundException',
),
),
),
'DeleteEventSubscription' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EventSubscriptionWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteEventSubscription',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'SubscriptionName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The subscription name does not exist.',
'class' => 'SubscriptionNotFoundException',
),
array(
'reason' => 'This error can occur if someone else is modifying a subscription. You should retry the action.',
'class' => 'InvalidEventSubscriptionStateException',
),
),
),
'DeleteOptionGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteOptionGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'OptionGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified option group could not be found.',
'class' => 'OptionGroupNotFoundException',
),
array(
'reason' => 'The option group is not in the available state.',
'class' => 'InvalidOptionGroupStateException',
),
),
),
'DescribeDBEngineVersions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DBEngineVersionMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeDBEngineVersions',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'Engine' => array(
'type' => 'string',
'location' => 'aws.query',
),
'EngineVersion' => array(
'type' => 'string',
'location' => 'aws.query',
),
'DBParameterGroupFamily' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
'DefaultOnly' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'ListSupportedCharacterSets' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
),
'DescribeDBInstances' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DBInstanceMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeDBInstances',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBInstanceIdentifier' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filters.member',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'FilterName' => array(
'required' => true,
'type' => 'string',
),
'FilterValue' => array(
'required' => true,
'type' => 'array',
'sentAs' => 'FilterValue.member',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'DBInstanceIdentifier does not refer to an existing DB instance.',
'class' => 'DBInstanceNotFoundException',
),
),
),
'DescribeDBLogFiles' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DescribeDBLogFilesResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeDBLogFiles',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBInstanceIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'FilenameContains' => array(
'type' => 'string',
'location' => 'aws.query',
),
'FileLastWritten' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'FileSize' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'DBInstanceIdentifier does not refer to an existing DB instance.',
'class' => 'DBInstanceNotFoundException',
),
),
),
'DescribeDBParameterGroups' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DBParameterGroupsMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeDBParameterGroups',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBParameterGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filters.member',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'FilterName' => array(
'required' => true,
'type' => 'string',
),
'FilterValue' => array(
'required' => true,
'type' => 'array',
'sentAs' => 'FilterValue.member',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'DBParameterGroupName does not refer to an existing DB parameter group.',
'class' => 'DBParameterGroupNotFoundException',
),
),
),
'DescribeDBParameters' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DBParameterGroupDetails',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeDBParameters',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBParameterGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Source' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'DBParameterGroupName does not refer to an existing DB parameter group.',
'class' => 'DBParameterGroupNotFoundException',
),
),
),
'DescribeDBSecurityGroups' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DBSecurityGroupMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeDBSecurityGroups',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBSecurityGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filters.member',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'FilterName' => array(
'required' => true,
'type' => 'string',
),
'FilterValue' => array(
'required' => true,
'type' => 'array',
'sentAs' => 'FilterValue.member',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'DBSecurityGroupName does not refer to an existing DB security group.',
'class' => 'DBSecurityGroupNotFoundException',
),
),
),
'DescribeDBSnapshots' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DBSnapshotMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeDBSnapshots',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBInstanceIdentifier' => array(
'type' => 'string',
'location' => 'aws.query',
),
'DBSnapshotIdentifier' => array(
'type' => 'string',
'location' => 'aws.query',
),
'SnapshotType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filters.member',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'FilterName' => array(
'required' => true,
'type' => 'string',
),
'FilterValue' => array(
'required' => true,
'type' => 'array',
'sentAs' => 'FilterValue.member',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'DBSnapshotIdentifier does not refer to an existing DB snapshot.',
'class' => 'DBSnapshotNotFoundException',
),
),
),
'DescribeDBSubnetGroups' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DBSubnetGroupMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeDBSubnetGroups',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBSubnetGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filters.member',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'FilterName' => array(
'required' => true,
'type' => 'string',
),
'FilterValue' => array(
'required' => true,
'type' => 'array',
'sentAs' => 'FilterValue.member',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'DBSubnetGroupName does not refer to an existing DB subnet group.',
'class' => 'DBSubnetGroupNotFoundException',
),
),
),
'DescribeEngineDefaultParameters' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EngineDefaultsWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeEngineDefaultParameters',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBParameterGroupFamily' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DescribeEventCategories' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EventCategoriesMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeEventCategories',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'SourceType' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DescribeEventSubscriptions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EventSubscriptionsMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeEventSubscriptions',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'SubscriptionName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filters.member',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'FilterName' => array(
'required' => true,
'type' => 'string',
),
'FilterValue' => array(
'required' => true,
'type' => 'array',
'sentAs' => 'FilterValue.member',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The subscription name does not exist.',
'class' => 'SubscriptionNotFoundException',
),
),
),
'DescribeEvents' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EventsMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeEvents',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'SourceIdentifier' => array(
'type' => 'string',
'location' => 'aws.query',
),
'SourceType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'StartTime' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
'location' => 'aws.query',
),
'EndTime' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
'location' => 'aws.query',
),
'Duration' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'EventCategories' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'EventCategories.member',
'items' => array(
'name' => 'EventCategory',
'type' => 'string',
),
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DescribeOptionGroupOptions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'OptionGroupOptionsMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeOptionGroupOptions',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'EngineName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'MajorEngineVersion' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DescribeOptionGroups' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'OptionGroups',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeOptionGroups',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'OptionGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filters.member',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'FilterName' => array(
'required' => true,
'type' => 'string',
),
'FilterValue' => array(
'required' => true,
'type' => 'array',
'sentAs' => 'FilterValue.member',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'EngineName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MajorEngineVersion' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified option group could not be found.',
'class' => 'OptionGroupNotFoundException',
),
),
),
'DescribeOrderableDBInstanceOptions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'OrderableDBInstanceOptionsMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeOrderableDBInstanceOptions',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'Engine' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'EngineVersion' => array(
'type' => 'string',
'location' => 'aws.query',
),
'DBInstanceClass' => array(
'type' => 'string',
'location' => 'aws.query',
),
'LicenseModel' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Vpc' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DescribeReservedDBInstances' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ReservedDBInstanceMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeReservedDBInstances',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'ReservedDBInstanceId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'ReservedDBInstancesOfferingId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'DBInstanceClass' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Duration' => array(
'type' => 'string',
'location' => 'aws.query',
),
'ProductDescription' => array(
'type' => 'string',
'location' => 'aws.query',
),
'OfferingType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MultiAZ' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'Filters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Filters.member',
'items' => array(
'name' => 'Filter',
'type' => 'object',
'properties' => array(
'FilterName' => array(
'required' => true,
'type' => 'string',
),
'FilterValue' => array(
'required' => true,
'type' => 'array',
'sentAs' => 'FilterValue.member',
'items' => array(
'name' => 'Value',
'type' => 'string',
),
),
),
),
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified reserved DB Instance not found.',
'class' => 'ReservedDBInstanceNotFoundException',
),
),
),
'DescribeReservedDBInstancesOfferings' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ReservedDBInstancesOfferingMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeReservedDBInstancesOfferings',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'ReservedDBInstancesOfferingId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'DBInstanceClass' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Duration' => array(
'type' => 'string',
'location' => 'aws.query',
),
'ProductDescription' => array(
'type' => 'string',
'location' => 'aws.query',
),
'OfferingType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MultiAZ' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Specified offering does not exist.',
'class' => 'ReservedDBInstancesOfferingNotFoundException',
),
),
),
'DownloadDBLogFilePortion' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DownloadDBLogFilePortionDetails',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DownloadDBLogFilePortion',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBInstanceIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'LogFileName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
'NumberOfLines' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'DBInstanceIdentifier does not refer to an existing DB instance.',
'class' => 'DBInstanceNotFoundException',
),
),
),
'ListTagsForResource' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'TagListMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListTagsForResource',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'ResourceName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'DBInstanceIdentifier does not refer to an existing DB instance.',
'class' => 'DBInstanceNotFoundException',
),
array(
'reason' => 'DBSnapshotIdentifier does not refer to an existing DB snapshot.',
'class' => 'DBSnapshotNotFoundException',
),
),
),
'ModifyDBInstance' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DBInstanceWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ModifyDBInstance',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBInstanceIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'AllocatedStorage' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'DBInstanceClass' => array(
'type' => 'string',
'location' => 'aws.query',
),
'DBSecurityGroups' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'DBSecurityGroups.member',
'items' => array(
'name' => 'DBSecurityGroupName',
'type' => 'string',
),
),
'VpcSecurityGroupIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'VpcSecurityGroupIds.member',
'items' => array(
'name' => 'VpcSecurityGroupId',
'type' => 'string',
),
),
'ApplyImmediately' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'MasterUserPassword' => array(
'type' => 'string',
'location' => 'aws.query',
),
'DBParameterGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'BackupRetentionPeriod' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'PreferredBackupWindow' => array(
'type' => 'string',
'location' => 'aws.query',
),
'PreferredMaintenanceWindow' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MultiAZ' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'EngineVersion' => array(
'type' => 'string',
'location' => 'aws.query',
),
'AllowMajorVersionUpgrade' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'AutoMinorVersionUpgrade' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'Iops' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'OptionGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'NewDBInstanceIdentifier' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified DB instance is not in the available state.',
'class' => 'InvalidDBInstanceStateException',
),
array(
'reason' => 'The state of the DB security group does not allow deletion.',
'class' => 'InvalidDBSecurityGroupStateException',
),
array(
'reason' => 'User already has a DB instance with the given identifier.',
'class' => 'DBInstanceAlreadyExistsException',
),
array(
'reason' => 'DBInstanceIdentifier does not refer to an existing DB instance.',
'class' => 'DBInstanceNotFoundException',
),
array(
'reason' => 'DBSecurityGroupName does not refer to an existing DB security group.',
'class' => 'DBSecurityGroupNotFoundException',
),
array(
'reason' => 'DBParameterGroupName does not refer to an existing DB parameter group.',
'class' => 'DBParameterGroupNotFoundException',
),
array(
'reason' => 'Specified DB instance class is not available in the specified Availability Zone.',
'class' => 'InsufficientDBInstanceCapacityException',
),
array(
'reason' => 'Request would result in user exceeding the allowed amount of storage available across all DB instances.',
'class' => 'StorageQuotaExceededException',
),
array(
'reason' => 'DB subnet group does not cover all Availability Zones after it is created because users\' change.',
'class' => 'InvalidVPCNetworkStateException',
),
array(
'reason' => 'Provisioned IOPS not available in the specified Availability Zone.',
'class' => 'ProvisionedIopsNotAvailableInAZException',
),
array(
'reason' => 'The specified option group could not be found.',
'class' => 'OptionGroupNotFoundException',
),
array(
'reason' => 'The DB upgrade failed because a resource the DB depends on could not be modified.',
'class' => 'DBUpgradeDependencyFailureException',
),
),
),
'ModifyDBParameterGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DBParameterGroupNameMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ModifyDBParameterGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBParameterGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Parameters' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Parameters.member',
'items' => array(
'name' => 'Parameter',
'type' => 'object',
'properties' => array(
'ParameterName' => array(
'type' => 'string',
),
'ParameterValue' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'Source' => array(
'type' => 'string',
),
'ApplyType' => array(
'type' => 'string',
),
'DataType' => array(
'type' => 'string',
),
'AllowedValues' => array(
'type' => 'string',
),
'IsModifiable' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
'MinimumEngineVersion' => array(
'type' => 'string',
),
'ApplyMethod' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'DBParameterGroupName does not refer to an existing DB parameter group.',
'class' => 'DBParameterGroupNotFoundException',
),
array(
'reason' => 'The DB parameter group cannot be deleted because it is in use.',
'class' => 'InvalidDBParameterGroupStateException',
),
),
),
'ModifyDBSubnetGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DBSubnetGroupWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ModifyDBSubnetGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBSubnetGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'DBSubnetGroupDescription' => array(
'type' => 'string',
'location' => 'aws.query',
),
'SubnetIds' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'SubnetIds.member',
'items' => array(
'name' => 'SubnetIdentifier',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'DBSubnetGroupName does not refer to an existing DB subnet group.',
'class' => 'DBSubnetGroupNotFoundException',
),
array(
'reason' => 'Request would result in user exceeding the allowed number of subnets in a DB subnet groups.',
'class' => 'DBSubnetQuotaExceededException',
),
array(
'reason' => 'The DB subnet is already in use in the Availability Zone.',
'class' => 'SubnetAlreadyInUseException',
),
array(
'reason' => 'Subnets in the DB subnet group should cover at least 2 Availability Zones unless there is only 1 availablility zone.',
'class' => 'DBSubnetGroupDoesNotCoverEnoughAZsException',
),
array(
'reason' => 'The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.',
'class' => 'InvalidSubnetException',
),
),
),
'ModifyEventSubscription' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EventSubscriptionWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ModifyEventSubscription',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'SubscriptionName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'SnsTopicArn' => array(
'type' => 'string',
'location' => 'aws.query',
),
'SourceType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'EventCategories' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'EventCategories.member',
'items' => array(
'name' => 'EventCategory',
'type' => 'string',
),
),
'Enabled' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'You have reached the maximum number of event subscriptions.',
'class' => 'EventSubscriptionQuotaExceededException',
),
array(
'reason' => 'The subscription name does not exist.',
'class' => 'SubscriptionNotFoundException',
),
array(
'reason' => 'SNS has responded that there is a problem with the SND topic specified.',
'class' => 'SNSInvalidTopicException',
),
array(
'reason' => 'You do not have permission to publish to the SNS topic ARN.',
'class' => 'SNSNoAuthorizationException',
),
array(
'reason' => 'The SNS topic ARN does not exist.',
'class' => 'SNSTopicArnNotFoundException',
),
array(
'reason' => 'The supplied category does not exist.',
'class' => 'SubscriptionCategoryNotFoundException',
),
),
),
'ModifyOptionGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'OptionGroupWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ModifyOptionGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'OptionGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'OptionsToInclude' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'OptionsToInclude.member',
'items' => array(
'name' => 'OptionConfiguration',
'type' => 'object',
'properties' => array(
'OptionName' => array(
'required' => true,
'type' => 'string',
),
'Port' => array(
'type' => 'numeric',
),
'DBSecurityGroupMemberships' => array(
'type' => 'array',
'sentAs' => 'DBSecurityGroupMemberships.member',
'items' => array(
'name' => 'DBSecurityGroupName',
'type' => 'string',
),
),
'VpcSecurityGroupMemberships' => array(
'type' => 'array',
'sentAs' => 'VpcSecurityGroupMemberships.member',
'items' => array(
'name' => 'VpcSecurityGroupId',
'type' => 'string',
),
),
'OptionSettings' => array(
'type' => 'array',
'sentAs' => 'OptionSettings.member',
'items' => array(
'name' => 'OptionSetting',
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
'DefaultValue' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'ApplyType' => array(
'type' => 'string',
),
'DataType' => array(
'type' => 'string',
),
'AllowedValues' => array(
'type' => 'string',
),
'IsModifiable' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
'IsCollection' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
),
),
),
'OptionsToRemove' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'OptionsToRemove.member',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
'ApplyImmediately' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The option group is not in the available state.',
'class' => 'InvalidOptionGroupStateException',
),
array(
'reason' => 'The specified option group could not be found.',
'class' => 'OptionGroupNotFoundException',
),
),
),
'PromoteReadReplica' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DBInstanceWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'PromoteReadReplica',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBInstanceIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'BackupRetentionPeriod' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'PreferredBackupWindow' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified DB instance is not in the available state.',
'class' => 'InvalidDBInstanceStateException',
),
array(
'reason' => 'DBInstanceIdentifier does not refer to an existing DB instance.',
'class' => 'DBInstanceNotFoundException',
),
),
),
'PurchaseReservedDBInstancesOffering' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ReservedDBInstanceWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'PurchaseReservedDBInstancesOffering',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'ReservedDBInstancesOfferingId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'ReservedDBInstanceId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'DBInstanceCount' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Tags' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Tags.member',
'items' => array(
'name' => 'Tag',
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Specified offering does not exist.',
'class' => 'ReservedDBInstancesOfferingNotFoundException',
),
array(
'reason' => 'User already has a reservation with the given identifier.',
'class' => 'ReservedDBInstanceAlreadyExistsException',
),
array(
'reason' => 'Request would exceed the user\'s DB Instance quota.',
'class' => 'ReservedDBInstanceQuotaExceededException',
),
),
),
'RebootDBInstance' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DBInstanceWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RebootDBInstance',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBInstanceIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'ForceFailover' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified DB instance is not in the available state.',
'class' => 'InvalidDBInstanceStateException',
),
array(
'reason' => 'DBInstanceIdentifier does not refer to an existing DB instance.',
'class' => 'DBInstanceNotFoundException',
),
),
),
'RemoveSourceIdentifierFromSubscription' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EventSubscriptionWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RemoveSourceIdentifierFromSubscription',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'SubscriptionName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'SourceIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The subscription name does not exist.',
'class' => 'SubscriptionNotFoundException',
),
array(
'reason' => 'The requested source could not be found.',
'class' => 'SourceNotFoundException',
),
),
),
'RemoveTagsFromResource' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RemoveTagsFromResource',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'ResourceName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'TagKeys' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'TagKeys.member',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'DBInstanceIdentifier does not refer to an existing DB instance.',
'class' => 'DBInstanceNotFoundException',
),
array(
'reason' => 'DBSnapshotIdentifier does not refer to an existing DB snapshot.',
'class' => 'DBSnapshotNotFoundException',
),
),
),
'ResetDBParameterGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DBParameterGroupNameMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ResetDBParameterGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBParameterGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'ResetAllParameters' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'Parameters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Parameters.member',
'items' => array(
'name' => 'Parameter',
'type' => 'object',
'properties' => array(
'ParameterName' => array(
'type' => 'string',
),
'ParameterValue' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'Source' => array(
'type' => 'string',
),
'ApplyType' => array(
'type' => 'string',
),
'DataType' => array(
'type' => 'string',
),
'AllowedValues' => array(
'type' => 'string',
),
'IsModifiable' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
'MinimumEngineVersion' => array(
'type' => 'string',
),
'ApplyMethod' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'The DB parameter group cannot be deleted because it is in use.',
'class' => 'InvalidDBParameterGroupStateException',
),
array(
'reason' => 'DBParameterGroupName does not refer to an existing DB parameter group.',
'class' => 'DBParameterGroupNotFoundException',
),
),
),
'RestoreDBInstanceFromDBSnapshot' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DBInstanceWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RestoreDBInstanceFromDBSnapshot',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBInstanceIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'DBSnapshotIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'DBInstanceClass' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Port' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'AvailabilityZone' => array(
'type' => 'string',
'location' => 'aws.query',
),
'DBSubnetGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MultiAZ' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'PubliclyAccessible' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'AutoMinorVersionUpgrade' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'LicenseModel' => array(
'type' => 'string',
'location' => 'aws.query',
),
'DBName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Engine' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Iops' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'OptionGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Tags' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Tags.member',
'items' => array(
'name' => 'Tag',
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'User already has a DB instance with the given identifier.',
'class' => 'DBInstanceAlreadyExistsException',
),
array(
'reason' => 'DBSnapshotIdentifier does not refer to an existing DB snapshot.',
'class' => 'DBSnapshotNotFoundException',
),
array(
'reason' => 'Request would result in user exceeding the allowed number of DB instances.',
'class' => 'InstanceQuotaExceededException',
),
array(
'reason' => 'Specified DB instance class is not available in the specified Availability Zone.',
'class' => 'InsufficientDBInstanceCapacityException',
),
array(
'reason' => 'The state of the DB snapshot does not allow deletion.',
'class' => 'InvalidDBSnapshotStateException',
),
array(
'reason' => 'Request would result in user exceeding the allowed amount of storage available across all DB instances.',
'class' => 'StorageQuotaExceededException',
),
array(
'reason' => 'DB subnet group does not cover all Availability Zones after it is created because users\' change.',
'class' => 'InvalidVPCNetworkStateException',
),
array(
'reason' => 'Cannot restore from vpc backup to non-vpc DB instance.',
'class' => 'InvalidRestoreException',
),
array(
'reason' => 'DBSubnetGroupName does not refer to an existing DB subnet group.',
'class' => 'DBSubnetGroupNotFoundException',
),
array(
'reason' => 'Subnets in the DB subnet group should cover at least 2 Availability Zones unless there is only 1 availablility zone.',
'class' => 'DBSubnetGroupDoesNotCoverEnoughAZsException',
),
array(
'reason' => 'The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.',
'class' => 'InvalidSubnetException',
),
array(
'reason' => 'Provisioned IOPS not available in the specified Availability Zone.',
'class' => 'ProvisionedIopsNotAvailableInAZException',
),
array(
'reason' => 'The specified option group could not be found.',
'class' => 'OptionGroupNotFoundException',
),
),
),
'RestoreDBInstanceToPointInTime' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DBInstanceWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RestoreDBInstanceToPointInTime',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'SourceDBInstanceIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'TargetDBInstanceIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'RestoreTime' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
'location' => 'aws.query',
),
'UseLatestRestorableTime' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'DBInstanceClass' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Port' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'AvailabilityZone' => array(
'type' => 'string',
'location' => 'aws.query',
),
'DBSubnetGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MultiAZ' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'PubliclyAccessible' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'AutoMinorVersionUpgrade' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'LicenseModel' => array(
'type' => 'string',
'location' => 'aws.query',
),
'DBName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Engine' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Iops' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'OptionGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Tags' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Tags.member',
'items' => array(
'name' => 'Tag',
'type' => 'object',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'User already has a DB instance with the given identifier.',
'class' => 'DBInstanceAlreadyExistsException',
),
array(
'reason' => 'DBInstanceIdentifier does not refer to an existing DB instance.',
'class' => 'DBInstanceNotFoundException',
),
array(
'reason' => 'Request would result in user exceeding the allowed number of DB instances.',
'class' => 'InstanceQuotaExceededException',
),
array(
'reason' => 'Specified DB instance class is not available in the specified Availability Zone.',
'class' => 'InsufficientDBInstanceCapacityException',
),
array(
'reason' => 'The specified DB instance is not in the available state.',
'class' => 'InvalidDBInstanceStateException',
),
array(
'reason' => 'SourceDBInstanceIdentifier refers to a DB instance with BackupRetentionPeriod equal to 0.',
'class' => 'PointInTimeRestoreNotEnabledException',
),
array(
'reason' => 'Request would result in user exceeding the allowed amount of storage available across all DB instances.',
'class' => 'StorageQuotaExceededException',
),
array(
'reason' => 'DB subnet group does not cover all Availability Zones after it is created because users\' change.',
'class' => 'InvalidVPCNetworkStateException',
),
array(
'reason' => 'Cannot restore from vpc backup to non-vpc DB instance.',
'class' => 'InvalidRestoreException',
),
array(
'reason' => 'DBSubnetGroupName does not refer to an existing DB subnet group.',
'class' => 'DBSubnetGroupNotFoundException',
),
array(
'reason' => 'Subnets in the DB subnet group should cover at least 2 Availability Zones unless there is only 1 availablility zone.',
'class' => 'DBSubnetGroupDoesNotCoverEnoughAZsException',
),
array(
'reason' => 'The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.',
'class' => 'InvalidSubnetException',
),
array(
'reason' => 'Provisioned IOPS not available in the specified Availability Zone.',
'class' => 'ProvisionedIopsNotAvailableInAZException',
),
array(
'reason' => 'The specified option group could not be found.',
'class' => 'OptionGroupNotFoundException',
),
),
),
'RevokeDBSecurityGroupIngress' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DBSecurityGroupWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RevokeDBSecurityGroupIngress',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2013-09-09',
),
'DBSecurityGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'CIDRIP' => array(
'type' => 'string',
'location' => 'aws.query',
),
'EC2SecurityGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'EC2SecurityGroupId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'EC2SecurityGroupOwnerId' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'DBSecurityGroupName does not refer to an existing DB security group.',
'class' => 'DBSecurityGroupNotFoundException',
),
array(
'reason' => 'Specified CIDRIP or EC2 security group is not authorized for the specified DB security group.',
'class' => 'AuthorizationNotFoundException',
),
array(
'reason' => 'The state of the DB security group does not allow deletion.',
'class' => 'InvalidDBSecurityGroupStateException',
),
),
),
),
'models' => array(
'EventSubscriptionWrapper' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'EventSubscription' => array(
'type' => 'object',
'location' => 'xml',
'data' => array(
'wrapper' => true,
),
'properties' => array(
'CustomerAwsId' => array(
'type' => 'string',
),
'CustSubscriptionId' => array(
'type' => 'string',
),
'SnsTopicArn' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'SubscriptionCreationTime' => array(
'type' => 'string',
),
'SourceType' => array(
'type' => 'string',
),
'SourceIdsList' => array(
'type' => 'array',
'items' => array(
'name' => 'SourceId',
'type' => 'string',
'sentAs' => 'SourceId',
),
),
'EventCategoriesList' => array(
'type' => 'array',
'items' => array(
'name' => 'EventCategory',
'type' => 'string',
'sentAs' => 'EventCategory',
),
),
'Enabled' => array(
'type' => 'boolean',
),
),
),
),
),
'EmptyOutput' => array(
'type' => 'object',
'additionalProperties' => true,
),
'DBSecurityGroupWrapper' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'DBSecurityGroup' => array(
'type' => 'object',
'location' => 'xml',
'data' => array(
'wrapper' => true,
),
'properties' => array(
'OwnerId' => array(
'type' => 'string',
),
'DBSecurityGroupName' => array(
'type' => 'string',
),
'DBSecurityGroupDescription' => array(
'type' => 'string',
),
'VpcId' => array(
'type' => 'string',
),
'EC2SecurityGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'EC2SecurityGroup',
'type' => 'object',
'sentAs' => 'EC2SecurityGroup',
'properties' => array(
'Status' => array(
'type' => 'string',
),
'EC2SecurityGroupName' => array(
'type' => 'string',
),
'EC2SecurityGroupId' => array(
'type' => 'string',
),
'EC2SecurityGroupOwnerId' => array(
'type' => 'string',
),
),
),
),
'IPRanges' => array(
'type' => 'array',
'items' => array(
'name' => 'IPRange',
'type' => 'object',
'sentAs' => 'IPRange',
'properties' => array(
'Status' => array(
'type' => 'string',
),
'CIDRIP' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'DBSnapshotWrapper' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'DBSnapshot' => array(
'type' => 'object',
'location' => 'xml',
'data' => array(
'wrapper' => true,
),
'properties' => array(
'DBSnapshotIdentifier' => array(
'type' => 'string',
),
'DBInstanceIdentifier' => array(
'type' => 'string',
),
'SnapshotCreateTime' => array(
'type' => 'string',
),
'Engine' => array(
'type' => 'string',
),
'AllocatedStorage' => array(
'type' => 'numeric',
),
'Status' => array(
'type' => 'string',
),
'Port' => array(
'type' => 'numeric',
),
'AvailabilityZone' => array(
'type' => 'string',
),
'VpcId' => array(
'type' => 'string',
),
'InstanceCreateTime' => array(
'type' => 'string',
),
'MasterUsername' => array(
'type' => 'string',
),
'EngineVersion' => array(
'type' => 'string',
),
'LicenseModel' => array(
'type' => 'string',
),
'SnapshotType' => array(
'type' => 'string',
),
'Iops' => array(
'type' => 'numeric',
),
'OptionGroupName' => array(
'type' => 'string',
),
'PercentProgress' => array(
'type' => 'numeric',
),
'SourceRegion' => array(
'type' => 'string',
),
),
),
),
),
'DBInstanceWrapper' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'DBInstance' => array(
'type' => 'object',
'location' => 'xml',
'data' => array(
'wrapper' => true,
),
'properties' => array(
'DBInstanceIdentifier' => array(
'type' => 'string',
),
'DBInstanceClass' => array(
'type' => 'string',
),
'Engine' => array(
'type' => 'string',
),
'DBInstanceStatus' => array(
'type' => 'string',
),
'MasterUsername' => array(
'type' => 'string',
),
'DBName' => array(
'type' => 'string',
),
'Endpoint' => array(
'type' => 'object',
'properties' => array(
'Address' => array(
'type' => 'string',
),
'Port' => array(
'type' => 'numeric',
),
),
),
'AllocatedStorage' => array(
'type' => 'numeric',
),
'InstanceCreateTime' => array(
'type' => 'string',
),
'PreferredBackupWindow' => array(
'type' => 'string',
),
'BackupRetentionPeriod' => array(
'type' => 'numeric',
),
'DBSecurityGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'DBSecurityGroup',
'type' => 'object',
'sentAs' => 'DBSecurityGroup',
'properties' => array(
'DBSecurityGroupName' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
),
),
),
'VpcSecurityGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'VpcSecurityGroupMembership',
'type' => 'object',
'sentAs' => 'VpcSecurityGroupMembership',
'properties' => array(
'VpcSecurityGroupId' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
),
),
),
'DBParameterGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'DBParameterGroup',
'type' => 'object',
'sentAs' => 'DBParameterGroup',
'properties' => array(
'DBParameterGroupName' => array(
'type' => 'string',
),
'ParameterApplyStatus' => array(
'type' => 'string',
),
),
),
),
'AvailabilityZone' => array(
'type' => 'string',
),
'DBSubnetGroup' => array(
'type' => 'object',
'properties' => array(
'DBSubnetGroupName' => array(
'type' => 'string',
),
'DBSubnetGroupDescription' => array(
'type' => 'string',
),
'VpcId' => array(
'type' => 'string',
),
'SubnetGroupStatus' => array(
'type' => 'string',
),
'Subnets' => array(
'type' => 'array',
'items' => array(
'name' => 'Subnet',
'type' => 'object',
'sentAs' => 'Subnet',
'properties' => array(
'SubnetIdentifier' => array(
'type' => 'string',
),
'SubnetAvailabilityZone' => array(
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'ProvisionedIopsCapable' => array(
'type' => 'boolean',
),
),
),
'SubnetStatus' => array(
'type' => 'string',
),
),
),
),
),
),
'PreferredMaintenanceWindow' => array(
'type' => 'string',
),
'PendingModifiedValues' => array(
'type' => 'object',
'properties' => array(
'DBInstanceClass' => array(
'type' => 'string',
),
'AllocatedStorage' => array(
'type' => 'numeric',
),
'MasterUserPassword' => array(
'type' => 'string',
),
'Port' => array(
'type' => 'numeric',
),
'BackupRetentionPeriod' => array(
'type' => 'numeric',
),
'MultiAZ' => array(
'type' => 'boolean',
),
'EngineVersion' => array(
'type' => 'string',
),
'Iops' => array(
'type' => 'numeric',
),
'DBInstanceIdentifier' => array(
'type' => 'string',
),
),
),
'LatestRestorableTime' => array(
'type' => 'string',
),
'MultiAZ' => array(
'type' => 'boolean',
),
'EngineVersion' => array(
'type' => 'string',
),
'AutoMinorVersionUpgrade' => array(
'type' => 'boolean',
),
'ReadReplicaSourceDBInstanceIdentifier' => array(
'type' => 'string',
),
'ReadReplicaDBInstanceIdentifiers' => array(
'type' => 'array',
'items' => array(
'name' => 'ReadReplicaDBInstanceIdentifier',
'type' => 'string',
'sentAs' => 'ReadReplicaDBInstanceIdentifier',
),
),
'LicenseModel' => array(
'type' => 'string',
),
'Iops' => array(
'type' => 'numeric',
),
'OptionGroupMemberships' => array(
'type' => 'array',
'items' => array(
'name' => 'OptionGroupMembership',
'type' => 'object',
'sentAs' => 'OptionGroupMembership',
'properties' => array(
'OptionGroupName' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
),
),
),
'CharacterSetName' => array(
'type' => 'string',
),
'SecondaryAvailabilityZone' => array(
'type' => 'string',
),
'PubliclyAccessible' => array(
'type' => 'boolean',
),
'StatusInfos' => array(
'type' => 'array',
'items' => array(
'name' => 'DBInstanceStatusInfo',
'type' => 'object',
'sentAs' => 'DBInstanceStatusInfo',
'properties' => array(
'StatusType' => array(
'type' => 'string',
),
'Normal' => array(
'type' => 'boolean',
),
'Status' => array(
'type' => 'string',
),
'Message' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'DBParameterGroupWrapper' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'DBParameterGroup' => array(
'type' => 'object',
'location' => 'xml',
'data' => array(
'wrapper' => true,
),
'properties' => array(
'DBParameterGroupName' => array(
'type' => 'string',
),
'DBParameterGroupFamily' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
),
),
),
),
'DBSubnetGroupWrapper' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'DBSubnetGroup' => array(
'type' => 'object',
'location' => 'xml',
'data' => array(
'wrapper' => true,
),
'properties' => array(
'DBSubnetGroupName' => array(
'type' => 'string',
),
'DBSubnetGroupDescription' => array(
'type' => 'string',
),
'VpcId' => array(
'type' => 'string',
),
'SubnetGroupStatus' => array(
'type' => 'string',
),
'Subnets' => array(
'type' => 'array',
'items' => array(
'name' => 'Subnet',
'type' => 'object',
'sentAs' => 'Subnet',
'properties' => array(
'SubnetIdentifier' => array(
'type' => 'string',
),
'SubnetAvailabilityZone' => array(
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'ProvisionedIopsCapable' => array(
'type' => 'boolean',
),
),
),
'SubnetStatus' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'OptionGroupWrapper' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'OptionGroup' => array(
'type' => 'object',
'location' => 'xml',
'data' => array(
'wrapper' => true,
),
'properties' => array(
'OptionGroupName' => array(
'type' => 'string',
),
'OptionGroupDescription' => array(
'type' => 'string',
),
'EngineName' => array(
'type' => 'string',
),
'MajorEngineVersion' => array(
'type' => 'string',
),
'Options' => array(
'type' => 'array',
'items' => array(
'name' => 'Option',
'type' => 'object',
'sentAs' => 'Option',
'properties' => array(
'OptionName' => array(
'type' => 'string',
),
'OptionDescription' => array(
'type' => 'string',
),
'Persistent' => array(
'type' => 'boolean',
),
'Permanent' => array(
'type' => 'boolean',
),
'Port' => array(
'type' => 'numeric',
),
'OptionSettings' => array(
'type' => 'array',
'items' => array(
'name' => 'OptionSetting',
'type' => 'object',
'sentAs' => 'OptionSetting',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
'DefaultValue' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'ApplyType' => array(
'type' => 'string',
),
'DataType' => array(
'type' => 'string',
),
'AllowedValues' => array(
'type' => 'string',
),
'IsModifiable' => array(
'type' => 'boolean',
),
'IsCollection' => array(
'type' => 'boolean',
),
),
),
),
'DBSecurityGroupMemberships' => array(
'type' => 'array',
'items' => array(
'name' => 'DBSecurityGroup',
'type' => 'object',
'sentAs' => 'DBSecurityGroup',
'properties' => array(
'DBSecurityGroupName' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
),
),
),
'VpcSecurityGroupMemberships' => array(
'type' => 'array',
'items' => array(
'name' => 'VpcSecurityGroupMembership',
'type' => 'object',
'sentAs' => 'VpcSecurityGroupMembership',
'properties' => array(
'VpcSecurityGroupId' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
),
),
),
),
),
),
'AllowsVpcAndNonVpcInstanceMemberships' => array(
'type' => 'boolean',
),
'VpcId' => array(
'type' => 'string',
),
),
),
),
),
'DBEngineVersionMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'DBEngineVersions' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'DBEngineVersion',
'type' => 'object',
'sentAs' => 'DBEngineVersion',
'properties' => array(
'Engine' => array(
'type' => 'string',
),
'EngineVersion' => array(
'type' => 'string',
),
'DBParameterGroupFamily' => array(
'type' => 'string',
),
'DBEngineDescription' => array(
'type' => 'string',
),
'DBEngineVersionDescription' => array(
'type' => 'string',
),
'DefaultCharacterSet' => array(
'type' => 'object',
'properties' => array(
'CharacterSetName' => array(
'type' => 'string',
),
'CharacterSetDescription' => array(
'type' => 'string',
),
),
),
'SupportedCharacterSets' => array(
'type' => 'array',
'items' => array(
'name' => 'CharacterSet',
'type' => 'object',
'sentAs' => 'CharacterSet',
'properties' => array(
'CharacterSetName' => array(
'type' => 'string',
),
'CharacterSetDescription' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'DBInstanceMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'DBInstances' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'DBInstance',
'type' => 'object',
'sentAs' => 'DBInstance',
'properties' => array(
'DBInstanceIdentifier' => array(
'type' => 'string',
),
'DBInstanceClass' => array(
'type' => 'string',
),
'Engine' => array(
'type' => 'string',
),
'DBInstanceStatus' => array(
'type' => 'string',
),
'MasterUsername' => array(
'type' => 'string',
),
'DBName' => array(
'type' => 'string',
),
'Endpoint' => array(
'type' => 'object',
'properties' => array(
'Address' => array(
'type' => 'string',
),
'Port' => array(
'type' => 'numeric',
),
),
),
'AllocatedStorage' => array(
'type' => 'numeric',
),
'InstanceCreateTime' => array(
'type' => 'string',
),
'PreferredBackupWindow' => array(
'type' => 'string',
),
'BackupRetentionPeriod' => array(
'type' => 'numeric',
),
'DBSecurityGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'DBSecurityGroup',
'type' => 'object',
'sentAs' => 'DBSecurityGroup',
'properties' => array(
'DBSecurityGroupName' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
),
),
),
'VpcSecurityGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'VpcSecurityGroupMembership',
'type' => 'object',
'sentAs' => 'VpcSecurityGroupMembership',
'properties' => array(
'VpcSecurityGroupId' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
),
),
),
'DBParameterGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'DBParameterGroup',
'type' => 'object',
'sentAs' => 'DBParameterGroup',
'properties' => array(
'DBParameterGroupName' => array(
'type' => 'string',
),
'ParameterApplyStatus' => array(
'type' => 'string',
),
),
),
),
'AvailabilityZone' => array(
'type' => 'string',
),
'DBSubnetGroup' => array(
'type' => 'object',
'properties' => array(
'DBSubnetGroupName' => array(
'type' => 'string',
),
'DBSubnetGroupDescription' => array(
'type' => 'string',
),
'VpcId' => array(
'type' => 'string',
),
'SubnetGroupStatus' => array(
'type' => 'string',
),
'Subnets' => array(
'type' => 'array',
'items' => array(
'name' => 'Subnet',
'type' => 'object',
'sentAs' => 'Subnet',
'properties' => array(
'SubnetIdentifier' => array(
'type' => 'string',
),
'SubnetAvailabilityZone' => array(
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'ProvisionedIopsCapable' => array(
'type' => 'boolean',
),
),
),
'SubnetStatus' => array(
'type' => 'string',
),
),
),
),
),
),
'PreferredMaintenanceWindow' => array(
'type' => 'string',
),
'PendingModifiedValues' => array(
'type' => 'object',
'properties' => array(
'DBInstanceClass' => array(
'type' => 'string',
),
'AllocatedStorage' => array(
'type' => 'numeric',
),
'MasterUserPassword' => array(
'type' => 'string',
),
'Port' => array(
'type' => 'numeric',
),
'BackupRetentionPeriod' => array(
'type' => 'numeric',
),
'MultiAZ' => array(
'type' => 'boolean',
),
'EngineVersion' => array(
'type' => 'string',
),
'Iops' => array(
'type' => 'numeric',
),
'DBInstanceIdentifier' => array(
'type' => 'string',
),
),
),
'LatestRestorableTime' => array(
'type' => 'string',
),
'MultiAZ' => array(
'type' => 'boolean',
),
'EngineVersion' => array(
'type' => 'string',
),
'AutoMinorVersionUpgrade' => array(
'type' => 'boolean',
),
'ReadReplicaSourceDBInstanceIdentifier' => array(
'type' => 'string',
),
'ReadReplicaDBInstanceIdentifiers' => array(
'type' => 'array',
'items' => array(
'name' => 'ReadReplicaDBInstanceIdentifier',
'type' => 'string',
'sentAs' => 'ReadReplicaDBInstanceIdentifier',
),
),
'LicenseModel' => array(
'type' => 'string',
),
'Iops' => array(
'type' => 'numeric',
),
'OptionGroupMemberships' => array(
'type' => 'array',
'items' => array(
'name' => 'OptionGroupMembership',
'type' => 'object',
'sentAs' => 'OptionGroupMembership',
'properties' => array(
'OptionGroupName' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
),
),
),
'CharacterSetName' => array(
'type' => 'string',
),
'SecondaryAvailabilityZone' => array(
'type' => 'string',
),
'PubliclyAccessible' => array(
'type' => 'boolean',
),
'StatusInfos' => array(
'type' => 'array',
'items' => array(
'name' => 'DBInstanceStatusInfo',
'type' => 'object',
'sentAs' => 'DBInstanceStatusInfo',
'properties' => array(
'StatusType' => array(
'type' => 'string',
),
'Normal' => array(
'type' => 'boolean',
),
'Status' => array(
'type' => 'string',
),
'Message' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'DescribeDBLogFilesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'DescribeDBLogFiles' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'DescribeDBLogFilesDetails',
'type' => 'object',
'sentAs' => 'DescribeDBLogFilesDetails',
'properties' => array(
'LogFileName' => array(
'type' => 'string',
),
'LastWritten' => array(
'type' => 'numeric',
),
'Size' => array(
'type' => 'numeric',
),
),
),
),
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'DBParameterGroupsMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'DBParameterGroups' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'DBParameterGroup',
'type' => 'object',
'sentAs' => 'DBParameterGroup',
'properties' => array(
'DBParameterGroupName' => array(
'type' => 'string',
),
'DBParameterGroupFamily' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
),
),
),
),
),
'DBParameterGroupDetails' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Parameters' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Parameter',
'type' => 'object',
'sentAs' => 'Parameter',
'properties' => array(
'ParameterName' => array(
'type' => 'string',
),
'ParameterValue' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'Source' => array(
'type' => 'string',
),
'ApplyType' => array(
'type' => 'string',
),
'DataType' => array(
'type' => 'string',
),
'AllowedValues' => array(
'type' => 'string',
),
'IsModifiable' => array(
'type' => 'boolean',
),
'MinimumEngineVersion' => array(
'type' => 'string',
),
'ApplyMethod' => array(
'type' => 'string',
),
),
),
),
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'DBSecurityGroupMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'DBSecurityGroups' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'DBSecurityGroup',
'type' => 'object',
'sentAs' => 'DBSecurityGroup',
'properties' => array(
'OwnerId' => array(
'type' => 'string',
),
'DBSecurityGroupName' => array(
'type' => 'string',
),
'DBSecurityGroupDescription' => array(
'type' => 'string',
),
'VpcId' => array(
'type' => 'string',
),
'EC2SecurityGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'EC2SecurityGroup',
'type' => 'object',
'sentAs' => 'EC2SecurityGroup',
'properties' => array(
'Status' => array(
'type' => 'string',
),
'EC2SecurityGroupName' => array(
'type' => 'string',
),
'EC2SecurityGroupId' => array(
'type' => 'string',
),
'EC2SecurityGroupOwnerId' => array(
'type' => 'string',
),
),
),
),
'IPRanges' => array(
'type' => 'array',
'items' => array(
'name' => 'IPRange',
'type' => 'object',
'sentAs' => 'IPRange',
'properties' => array(
'Status' => array(
'type' => 'string',
),
'CIDRIP' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'DBSnapshotMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'DBSnapshots' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'DBSnapshot',
'type' => 'object',
'sentAs' => 'DBSnapshot',
'properties' => array(
'DBSnapshotIdentifier' => array(
'type' => 'string',
),
'DBInstanceIdentifier' => array(
'type' => 'string',
),
'SnapshotCreateTime' => array(
'type' => 'string',
),
'Engine' => array(
'type' => 'string',
),
'AllocatedStorage' => array(
'type' => 'numeric',
),
'Status' => array(
'type' => 'string',
),
'Port' => array(
'type' => 'numeric',
),
'AvailabilityZone' => array(
'type' => 'string',
),
'VpcId' => array(
'type' => 'string',
),
'InstanceCreateTime' => array(
'type' => 'string',
),
'MasterUsername' => array(
'type' => 'string',
),
'EngineVersion' => array(
'type' => 'string',
),
'LicenseModel' => array(
'type' => 'string',
),
'SnapshotType' => array(
'type' => 'string',
),
'Iops' => array(
'type' => 'numeric',
),
'OptionGroupName' => array(
'type' => 'string',
),
'PercentProgress' => array(
'type' => 'numeric',
),
'SourceRegion' => array(
'type' => 'string',
),
),
),
),
),
),
'DBSubnetGroupMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'DBSubnetGroups' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'DBSubnetGroup',
'type' => 'object',
'sentAs' => 'DBSubnetGroup',
'properties' => array(
'DBSubnetGroupName' => array(
'type' => 'string',
),
'DBSubnetGroupDescription' => array(
'type' => 'string',
),
'VpcId' => array(
'type' => 'string',
),
'SubnetGroupStatus' => array(
'type' => 'string',
),
'Subnets' => array(
'type' => 'array',
'items' => array(
'name' => 'Subnet',
'type' => 'object',
'sentAs' => 'Subnet',
'properties' => array(
'SubnetIdentifier' => array(
'type' => 'string',
),
'SubnetAvailabilityZone' => array(
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'ProvisionedIopsCapable' => array(
'type' => 'boolean',
),
),
),
'SubnetStatus' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'EngineDefaultsWrapper' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'EngineDefaults' => array(
'type' => 'object',
'location' => 'xml',
'data' => array(
'wrapper' => true,
),
'properties' => array(
'DBParameterGroupFamily' => array(
'type' => 'string',
),
'Marker' => array(
'type' => 'string',
),
'Parameters' => array(
'type' => 'array',
'items' => array(
'name' => 'Parameter',
'type' => 'object',
'sentAs' => 'Parameter',
'properties' => array(
'ParameterName' => array(
'type' => 'string',
),
'ParameterValue' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'Source' => array(
'type' => 'string',
),
'ApplyType' => array(
'type' => 'string',
),
'DataType' => array(
'type' => 'string',
),
'AllowedValues' => array(
'type' => 'string',
),
'IsModifiable' => array(
'type' => 'boolean',
),
'MinimumEngineVersion' => array(
'type' => 'string',
),
'ApplyMethod' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'EventCategoriesMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'EventCategoriesMapList' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'EventCategoriesMap',
'type' => 'object',
'sentAs' => 'EventCategoriesMap',
'properties' => array(
'SourceType' => array(
'type' => 'string',
),
'EventCategories' => array(
'type' => 'array',
'items' => array(
'name' => 'EventCategory',
'type' => 'string',
'sentAs' => 'EventCategory',
),
),
),
),
),
),
),
'EventSubscriptionsMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'EventSubscriptionsList' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'EventSubscription',
'type' => 'object',
'sentAs' => 'EventSubscription',
'properties' => array(
'CustomerAwsId' => array(
'type' => 'string',
),
'CustSubscriptionId' => array(
'type' => 'string',
),
'SnsTopicArn' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'SubscriptionCreationTime' => array(
'type' => 'string',
),
'SourceType' => array(
'type' => 'string',
),
'SourceIdsList' => array(
'type' => 'array',
'items' => array(
'name' => 'SourceId',
'type' => 'string',
'sentAs' => 'SourceId',
),
),
'EventCategoriesList' => array(
'type' => 'array',
'items' => array(
'name' => 'EventCategory',
'type' => 'string',
'sentAs' => 'EventCategory',
),
),
'Enabled' => array(
'type' => 'boolean',
),
),
),
),
),
),
'EventsMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'Events' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Event',
'type' => 'object',
'sentAs' => 'Event',
'properties' => array(
'SourceIdentifier' => array(
'type' => 'string',
),
'SourceType' => array(
'type' => 'string',
),
'Message' => array(
'type' => 'string',
),
'EventCategories' => array(
'type' => 'array',
'items' => array(
'name' => 'EventCategory',
'type' => 'string',
'sentAs' => 'EventCategory',
),
),
'Date' => array(
'type' => 'string',
),
),
),
),
),
),
'OptionGroupOptionsMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'OptionGroupOptions' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'OptionGroupOption',
'type' => 'object',
'sentAs' => 'OptionGroupOption',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'EngineName' => array(
'type' => 'string',
),
'MajorEngineVersion' => array(
'type' => 'string',
),
'MinimumRequiredMinorEngineVersion' => array(
'type' => 'string',
),
'PortRequired' => array(
'type' => 'boolean',
),
'DefaultPort' => array(
'type' => 'numeric',
),
'OptionsDependedOn' => array(
'type' => 'array',
'items' => array(
'name' => 'OptionName',
'type' => 'string',
'sentAs' => 'OptionName',
),
),
'Persistent' => array(
'type' => 'boolean',
),
'Permanent' => array(
'type' => 'boolean',
),
'OptionGroupOptionSettings' => array(
'type' => 'array',
'items' => array(
'name' => 'OptionGroupOptionSetting',
'type' => 'object',
'sentAs' => 'OptionGroupOptionSetting',
'properties' => array(
'SettingName' => array(
'type' => 'string',
),
'SettingDescription' => array(
'type' => 'string',
),
'DefaultValue' => array(
'type' => 'string',
),
'ApplyType' => array(
'type' => 'string',
),
'AllowedValues' => array(
'type' => 'string',
),
'IsModifiable' => array(
'type' => 'boolean',
),
),
),
),
),
),
),
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'OptionGroups' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'OptionGroupsList' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'OptionGroup',
'type' => 'object',
'sentAs' => 'OptionGroup',
'properties' => array(
'OptionGroupName' => array(
'type' => 'string',
),
'OptionGroupDescription' => array(
'type' => 'string',
),
'EngineName' => array(
'type' => 'string',
),
'MajorEngineVersion' => array(
'type' => 'string',
),
'Options' => array(
'type' => 'array',
'items' => array(
'name' => 'Option',
'type' => 'object',
'sentAs' => 'Option',
'properties' => array(
'OptionName' => array(
'type' => 'string',
),
'OptionDescription' => array(
'type' => 'string',
),
'Persistent' => array(
'type' => 'boolean',
),
'Permanent' => array(
'type' => 'boolean',
),
'Port' => array(
'type' => 'numeric',
),
'OptionSettings' => array(
'type' => 'array',
'items' => array(
'name' => 'OptionSetting',
'type' => 'object',
'sentAs' => 'OptionSetting',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
'DefaultValue' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'ApplyType' => array(
'type' => 'string',
),
'DataType' => array(
'type' => 'string',
),
'AllowedValues' => array(
'type' => 'string',
),
'IsModifiable' => array(
'type' => 'boolean',
),
'IsCollection' => array(
'type' => 'boolean',
),
),
),
),
'DBSecurityGroupMemberships' => array(
'type' => 'array',
'items' => array(
'name' => 'DBSecurityGroup',
'type' => 'object',
'sentAs' => 'DBSecurityGroup',
'properties' => array(
'DBSecurityGroupName' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
),
),
),
'VpcSecurityGroupMemberships' => array(
'type' => 'array',
'items' => array(
'name' => 'VpcSecurityGroupMembership',
'type' => 'object',
'sentAs' => 'VpcSecurityGroupMembership',
'properties' => array(
'VpcSecurityGroupId' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
),
),
),
),
),
),
'AllowsVpcAndNonVpcInstanceMemberships' => array(
'type' => 'boolean',
),
'VpcId' => array(
'type' => 'string',
),
),
),
),
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'OrderableDBInstanceOptionsMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'OrderableDBInstanceOptions' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'OrderableDBInstanceOption',
'type' => 'object',
'sentAs' => 'OrderableDBInstanceOption',
'properties' => array(
'Engine' => array(
'type' => 'string',
),
'EngineVersion' => array(
'type' => 'string',
),
'DBInstanceClass' => array(
'type' => 'string',
),
'LicenseModel' => array(
'type' => 'string',
),
'AvailabilityZones' => array(
'type' => 'array',
'items' => array(
'name' => 'AvailabilityZone',
'type' => 'object',
'sentAs' => 'AvailabilityZone',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'ProvisionedIopsCapable' => array(
'type' => 'boolean',
),
),
),
),
'MultiAZCapable' => array(
'type' => 'boolean',
),
'ReadReplicaCapable' => array(
'type' => 'boolean',
),
'Vpc' => array(
'type' => 'boolean',
),
),
),
),
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ReservedDBInstanceMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'ReservedDBInstances' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'ReservedDBInstance',
'type' => 'object',
'sentAs' => 'ReservedDBInstance',
'properties' => array(
'ReservedDBInstanceId' => array(
'type' => 'string',
),
'ReservedDBInstancesOfferingId' => array(
'type' => 'string',
),
'DBInstanceClass' => array(
'type' => 'string',
),
'StartTime' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'numeric',
),
'FixedPrice' => array(
'type' => 'numeric',
),
'UsagePrice' => array(
'type' => 'numeric',
),
'CurrencyCode' => array(
'type' => 'string',
),
'DBInstanceCount' => array(
'type' => 'numeric',
),
'ProductDescription' => array(
'type' => 'string',
),
'OfferingType' => array(
'type' => 'string',
),
'MultiAZ' => array(
'type' => 'boolean',
),
'State' => array(
'type' => 'string',
),
'RecurringCharges' => array(
'type' => 'array',
'items' => array(
'name' => 'RecurringCharge',
'type' => 'object',
'sentAs' => 'RecurringCharge',
'properties' => array(
'RecurringChargeAmount' => array(
'type' => 'numeric',
),
'RecurringChargeFrequency' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'ReservedDBInstancesOfferingMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'ReservedDBInstancesOfferings' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'ReservedDBInstancesOffering',
'type' => 'object',
'sentAs' => 'ReservedDBInstancesOffering',
'properties' => array(
'ReservedDBInstancesOfferingId' => array(
'type' => 'string',
),
'DBInstanceClass' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'numeric',
),
'FixedPrice' => array(
'type' => 'numeric',
),
'UsagePrice' => array(
'type' => 'numeric',
),
'CurrencyCode' => array(
'type' => 'string',
),
'ProductDescription' => array(
'type' => 'string',
),
'OfferingType' => array(
'type' => 'string',
),
'MultiAZ' => array(
'type' => 'boolean',
),
'RecurringCharges' => array(
'type' => 'array',
'items' => array(
'name' => 'RecurringCharge',
'type' => 'object',
'sentAs' => 'RecurringCharge',
'properties' => array(
'RecurringChargeAmount' => array(
'type' => 'numeric',
),
'RecurringChargeFrequency' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'DownloadDBLogFilePortionDetails' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'LogFileData' => array(
'type' => 'string',
'location' => 'xml',
),
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'AdditionalDataPending' => array(
'type' => 'boolean',
'location' => 'xml',
),
),
),
'TagListMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'TagList' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Tag',
'type' => 'object',
'sentAs' => 'Tag',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
),
),
'DBParameterGroupNameMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'DBParameterGroupName' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ReservedDBInstanceWrapper' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ReservedDBInstance' => array(
'type' => 'object',
'location' => 'xml',
'data' => array(
'wrapper' => true,
),
'properties' => array(
'ReservedDBInstanceId' => array(
'type' => 'string',
),
'ReservedDBInstancesOfferingId' => array(
'type' => 'string',
),
'DBInstanceClass' => array(
'type' => 'string',
),
'StartTime' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'numeric',
),
'FixedPrice' => array(
'type' => 'numeric',
),
'UsagePrice' => array(
'type' => 'numeric',
),
'CurrencyCode' => array(
'type' => 'string',
),
'DBInstanceCount' => array(
'type' => 'numeric',
),
'ProductDescription' => array(
'type' => 'string',
),
'OfferingType' => array(
'type' => 'string',
),
'MultiAZ' => array(
'type' => 'boolean',
),
'State' => array(
'type' => 'string',
),
'RecurringCharges' => array(
'type' => 'array',
'items' => array(
'name' => 'RecurringCharge',
'type' => 'object',
'sentAs' => 'RecurringCharge',
'properties' => array(
'RecurringChargeAmount' => array(
'type' => 'numeric',
),
'RecurringChargeFrequency' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'iterators' => array(
'operations' => array(
'DescribeDBEngineVersions' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'DBEngineVersions',
),
'DescribeDBInstances' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'DBInstances',
),
'DescribeDBLogFiles' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'DescribeDBLogFiles',
),
'DescribeDBParameterGroups' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'DBParameterGroups',
),
'DescribeDBParameters' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'Parameters',
),
'DescribeDBSecurityGroups' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'DBSecurityGroups',
),
'DescribeDBSnapshots' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'DBSnapshots',
),
'DescribeDBSubnetGroups' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'DBSubnetGroups',
),
'DescribeEngineDefaultParameters' => array(
'token_param' => 'Marker',
'limit_key' => 'MaxRecords',
),
'DescribeEventSubscriptions' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'EventSubscriptionsList',
),
'DescribeEvents' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'Events',
),
'DescribeOptionGroupOptions' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'OptionGroupOptions',
),
'DescribeOptionGroups' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'OptionGroupsList',
),
'DescribeOrderableDBInstanceOptions' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'OrderableDBInstanceOptions',
),
'DescribeReservedDBInstances' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'ReservedDBInstances',
),
'DescribeReservedDBInstancesOfferings' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'ReservedDBInstancesOfferings',
),
'DownloadDBLogFilePortion' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
),
'ListTagsForResource' => array(
'result_key' => 'TagList',
),
),
),
'waiters' => array(
'__default__' => array(
'interval' => 30,
'max_attempts' => 60,
),
'__DBInstanceState' => array(
'operation' => 'DescribeDBInstances',
'acceptor.path' => 'DBInstances/*/DBInstanceStatus',
'acceptor.type' => 'output',
),
'DBInstanceAvailable' => array(
'extends' => '__DBInstanceState',
'success.value' => 'available',
'failure.value' => array(
'deleted',
'deleting',
'failed',
'incompatible-restore',
'incompatible-parameters',
'incompatible-parameters',
'incompatible-restore',
),
),
'DBInstanceDeleted' => array(
'extends' => '__DBInstanceState',
'success.value' => 'deleted',
'failure.value' => array(
'creating',
'modifying',
'rebooting',
'resetting-master-credentials',
),
),
),
);
sdk-2.5.2/Aws/Redshift/RedshiftClient.php 0000644 115327001610067500000025177 12272324173 015345 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/redshift-%s.php'
))
->build();
}
}
sdk-2.5.2/Aws/Redshift/Enum/SourceType.php 0000644 115327001610067500000001643 12272324173 015434 0 ustar '2012-12-01',
'endpointPrefix' => 'redshift',
'serviceFullName' => 'Amazon Redshift',
'serviceType' => 'query',
'resultWrapped' => true,
'signatureVersion' => 'v4',
'namespace' => 'Redshift',
'regions' => array(
'us-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'redshift.us-east-1.amazonaws.com',
),
'us-west-2' => array(
'http' => false,
'https' => true,
'hostname' => 'redshift.us-west-2.amazonaws.com',
),
'eu-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'redshift.eu-west-1.amazonaws.com',
),
'ap-southeast-1' => array(
'http' => false,
'https' => true,
'hostname' => 'redshift.ap-southeast-1.amazonaws.com',
),
'ap-southeast-2' => array(
'http' => false,
'https' => true,
'hostname' => 'redshift.ap-southeast-2.amazonaws.com',
),
'ap-northeast-1' => array(
'http' => false,
'https' => true,
'hostname' => 'redshift.ap-northeast-1.amazonaws.com',
),
),
'operations' => array(
'AuthorizeClusterSecurityGroupIngress' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ClusterSecurityGroupWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'AuthorizeClusterSecurityGroupIngress',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ClusterSecurityGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'CIDRIP' => array(
'type' => 'string',
'location' => 'aws.query',
),
'EC2SecurityGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'EC2SecurityGroupOwnerId' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The cluster security group name does not refer to an existing cluster security group.',
'class' => 'ClusterSecurityGroupNotFoundException',
),
array(
'reason' => 'The state of the cluster security group is not "available".',
'class' => 'InvalidClusterSecurityGroupStateException',
),
array(
'reason' => 'The specified CIDR block or EC2 security group is already authorized for the specified cluster security group.',
'class' => 'AuthorizationAlreadyExistsException',
),
array(
'reason' => 'The authorization quota for the cluster security group has been reached. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Management Guide.',
'class' => 'AuthorizationQuotaExceededException',
),
),
),
'AuthorizeSnapshotAccess' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'SnapshotWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'AuthorizeSnapshotAccess',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'SnapshotIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'SnapshotClusterIdentifier' => array(
'type' => 'string',
'location' => 'aws.query',
),
'AccountWithRestoreAccess' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The snapshot identifier does not refer to an existing cluster snapshot.',
'class' => 'ClusterSnapshotNotFoundException',
),
array(
'reason' => 'The specified CIDR block or EC2 security group is already authorized for the specified cluster security group.',
'class' => 'AuthorizationAlreadyExistsException',
),
array(
'reason' => 'The authorization quota for the cluster security group has been reached. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Management Guide.',
'class' => 'AuthorizationQuotaExceededException',
),
),
),
'CopyClusterSnapshot' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'SnapshotWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CopyClusterSnapshot',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'SourceSnapshotIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'SourceSnapshotClusterIdentifier' => array(
'type' => 'string',
'location' => 'aws.query',
),
'TargetSnapshotIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The value specified as a snapshot identifier is already used by an existing snapshot.',
'class' => 'ClusterSnapshotAlreadyExistsException',
),
array(
'reason' => 'The snapshot identifier does not refer to an existing cluster snapshot.',
'class' => 'ClusterSnapshotNotFoundException',
),
array(
'reason' => 'The state of the cluster snapshot is not "available", or other accounts are authorized to access the snapshot.',
'class' => 'InvalidClusterSnapshotStateException',
),
array(
'reason' => 'The request would result in the user exceeding the allowed number of cluster snapshots.',
'class' => 'ClusterSnapshotQuotaExceededException',
),
),
),
'CreateCluster' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ClusterWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateCluster',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'DBName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'ClusterIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'ClusterType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'NodeType' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'MasterUsername' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'MasterUserPassword' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'ClusterSecurityGroups' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ClusterSecurityGroups.member',
'items' => array(
'name' => 'ClusterSecurityGroupName',
'type' => 'string',
),
),
'VpcSecurityGroupIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'VpcSecurityGroupIds.member',
'items' => array(
'name' => 'VpcSecurityGroupId',
'type' => 'string',
),
),
'ClusterSubnetGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'AvailabilityZone' => array(
'type' => 'string',
'location' => 'aws.query',
),
'PreferredMaintenanceWindow' => array(
'type' => 'string',
'location' => 'aws.query',
),
'ClusterParameterGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'AutomatedSnapshotRetentionPeriod' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Port' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'ClusterVersion' => array(
'type' => 'string',
'location' => 'aws.query',
),
'AllowVersionUpgrade' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'NumberOfNodes' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'PubliclyAccessible' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'Encrypted' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'HsmClientCertificateIdentifier' => array(
'type' => 'string',
'location' => 'aws.query',
),
'HsmConfigurationIdentifier' => array(
'type' => 'string',
'location' => 'aws.query',
),
'ElasticIp' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The account already has a cluster with the given identifier.',
'class' => 'ClusterAlreadyExistsException',
),
array(
'reason' => 'The number of nodes specified exceeds the allotted capacity of the cluster.',
'class' => 'InsufficientClusterCapacityException',
),
array(
'reason' => 'The parameter group name does not refer to an existing parameter group.',
'class' => 'ClusterParameterGroupNotFoundException',
),
array(
'reason' => 'The cluster security group name does not refer to an existing cluster security group.',
'class' => 'ClusterSecurityGroupNotFoundException',
),
array(
'reason' => 'The request would exceed the allowed number of cluster instances for this account. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Management Guide.',
'class' => 'ClusterQuotaExceededException',
),
array(
'reason' => 'The operation would exceed the number of nodes allotted to the account. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Management Guide.',
'class' => 'NumberOfNodesQuotaExceededException',
),
array(
'reason' => 'The operation would exceed the number of nodes allowed for a cluster.',
'class' => 'NumberOfNodesPerClusterLimitExceededException',
),
array(
'reason' => 'The cluster subnet group name does not refer to an existing cluster subnet group.',
'class' => 'ClusterSubnetGroupNotFoundException',
),
array(
'reason' => 'The cluster subnet group does not cover all Availability Zones.',
'class' => 'InvalidVPCNetworkStateException',
),
array(
'reason' => 'The cluster subnet group cannot be deleted because it is in use.',
'class' => 'InvalidClusterSubnetGroupStateException',
),
array(
'reason' => 'The requested subnet is not valid, or not all of the subnets are in the same VPC.',
'class' => 'InvalidSubnetException',
),
array(
'reason' => 'Your account is not authorized to perform the requested operation.',
'class' => 'UnauthorizedOperationException',
),
array(
'reason' => 'There is no Amazon Redshift HSM client certificate with the specified identifier.',
'class' => 'HsmClientCertificateNotFoundException',
),
array(
'reason' => 'There is no Amazon Redshift HSM configuration with the specified identifier.',
'class' => 'HsmConfigurationNotFoundException',
),
array(
'reason' => 'The Elastic IP (EIP) is invalid or cannot be found.',
'class' => 'InvalidElasticIpException',
),
),
),
'CreateClusterParameterGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ClusterParameterGroupWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateClusterParameterGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ParameterGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'ParameterGroupFamily' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Description' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The request would result in the user exceeding the allowed number of cluster parameter groups. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Management Guide.',
'class' => 'ClusterParameterGroupQuotaExceededException',
),
array(
'reason' => 'A cluster parameter group with the same name already exists.',
'class' => 'ClusterParameterGroupAlreadyExistsException',
),
),
),
'CreateClusterSecurityGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ClusterSecurityGroupWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateClusterSecurityGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ClusterSecurityGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Description' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'A cluster security group with the same name already exists.',
'class' => 'ClusterSecurityGroupAlreadyExistsException',
),
array(
'reason' => 'The request would result in the user exceeding the allowed number of cluster security groups. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Management Guide.',
'class' => 'ClusterSecurityGroupQuotaExceededException',
),
),
),
'CreateClusterSnapshot' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'SnapshotWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateClusterSnapshot',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'SnapshotIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'ClusterIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The value specified as a snapshot identifier is already used by an existing snapshot.',
'class' => 'ClusterSnapshotAlreadyExistsException',
),
array(
'reason' => 'The specified cluster is not in the available state.',
'class' => 'InvalidClusterStateException',
),
array(
'reason' => 'The ClusterIdentifier parameter does not refer to an existing cluster.',
'class' => 'ClusterNotFoundException',
),
array(
'reason' => 'The request would result in the user exceeding the allowed number of cluster snapshots.',
'class' => 'ClusterSnapshotQuotaExceededException',
),
),
),
'CreateClusterSubnetGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ClusterSubnetGroupWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateClusterSubnetGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ClusterSubnetGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Description' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'SubnetIds' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'SubnetIds.member',
'items' => array(
'name' => 'SubnetIdentifier',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'A ClusterSubnetGroupName is already used by an existing cluster subnet group.',
'class' => 'ClusterSubnetGroupAlreadyExistsException',
),
array(
'reason' => 'The request would result in user exceeding the allowed number of cluster subnet groups. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Management Guide.',
'class' => 'ClusterSubnetGroupQuotaExceededException',
),
array(
'reason' => 'The request would result in user exceeding the allowed number of subnets in a cluster subnet groups. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Management Guide.',
'class' => 'ClusterSubnetQuotaExceededException',
),
array(
'reason' => 'The requested subnet is not valid, or not all of the subnets are in the same VPC.',
'class' => 'InvalidSubnetException',
),
array(
'reason' => 'Your account is not authorized to perform the requested operation.',
'class' => 'UnauthorizedOperationException',
),
),
),
'CreateEventSubscription' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EventSubscriptionWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateEventSubscription',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'SubscriptionName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'SnsTopicArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'SourceType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'SourceIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'SourceIds.member',
'items' => array(
'name' => 'SourceId',
'type' => 'string',
),
),
'EventCategories' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'EventCategories.member',
'items' => array(
'name' => 'EventCategory',
'type' => 'string',
),
),
'Severity' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Enabled' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The request would exceed the allowed number of event subscriptions for this account. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Management Guide.',
'class' => 'EventSubscriptionQuotaExceededException',
),
array(
'reason' => 'There is already an existing event notification subscription with the specified name.',
'class' => 'SubscriptionAlreadyExistException',
),
array(
'reason' => 'Amazon SNS has responded that there is a problem with the specified Amazon SNS topic.',
'class' => 'SNSInvalidTopicException',
),
array(
'reason' => 'You do not have permission to publish to the specified Amazon SNS topic.',
'class' => 'SNSNoAuthorizationException',
),
array(
'reason' => 'An Amazon SNS topic with the specified Amazon Resource Name (ARN) does not exist.',
'class' => 'SNSTopicArnNotFoundException',
),
array(
'reason' => 'An Amazon Redshift event with the specified event ID does not exist.',
'class' => 'SubscriptionEventIdNotFoundException',
),
array(
'reason' => 'The value specified for the event category was not one of the allowed values, or it specified a category that does not apply to the specified source type. The allowed values are Configuration, Management, Monitoring, and Security.',
'class' => 'SubscriptionCategoryNotFoundException',
),
array(
'reason' => 'The value specified for the event severity was not one of the allowed values, or it specified a severity that does not apply to the specified source type. The allowed values are ERROR and INFO.',
'class' => 'SubscriptionSeverityNotFoundException',
),
array(
'reason' => 'The specified Amazon Redshift event source could not be found.',
'class' => 'SourceNotFoundException',
),
),
),
'CreateHsmClientCertificate' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'HsmClientCertificateWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateHsmClientCertificate',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'HsmClientCertificateIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'There is already an existing Amazon Redshift HSM client certificate with the specified identifier.',
'class' => 'HsmClientCertificateAlreadyExistsException',
),
array(
'reason' => 'The quota for HSM client certificates has been reached. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Management Guide.',
'class' => 'HsmClientCertificateQuotaExceededException',
),
),
),
'CreateHsmConfiguration' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'HsmConfigurationWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateHsmConfiguration',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'HsmConfigurationIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Description' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'HsmIpAddress' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'HsmPartitionName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'HsmPartitionPassword' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'HsmServerPublicCertificate' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'There is already an existing Amazon Redshift HSM configuration with the specified identifier.',
'class' => 'HsmConfigurationAlreadyExistsException',
),
array(
'reason' => 'The quota for HSM configurations has been reached. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Management Guide.',
'class' => 'HsmConfigurationQuotaExceededException',
),
),
),
'DeleteCluster' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ClusterWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteCluster',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ClusterIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'SkipFinalClusterSnapshot' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'FinalClusterSnapshotIdentifier' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The ClusterIdentifier parameter does not refer to an existing cluster.',
'class' => 'ClusterNotFoundException',
),
array(
'reason' => 'The specified cluster is not in the available state.',
'class' => 'InvalidClusterStateException',
),
array(
'reason' => 'The value specified as a snapshot identifier is already used by an existing snapshot.',
'class' => 'ClusterSnapshotAlreadyExistsException',
),
array(
'reason' => 'The request would result in the user exceeding the allowed number of cluster snapshots.',
'class' => 'ClusterSnapshotQuotaExceededException',
),
),
),
'DeleteClusterParameterGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteClusterParameterGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ParameterGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The cluster parameter group action can not be completed because another task is in progress that involves the parameter group. Wait a few moments and try the operation again.',
'class' => 'InvalidClusterParameterGroupStateException',
),
array(
'reason' => 'The parameter group name does not refer to an existing parameter group.',
'class' => 'ClusterParameterGroupNotFoundException',
),
),
),
'DeleteClusterSecurityGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteClusterSecurityGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ClusterSecurityGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The state of the cluster security group is not "available".',
'class' => 'InvalidClusterSecurityGroupStateException',
),
array(
'reason' => 'The cluster security group name does not refer to an existing cluster security group.',
'class' => 'ClusterSecurityGroupNotFoundException',
),
),
),
'DeleteClusterSnapshot' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'SnapshotWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteClusterSnapshot',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'SnapshotIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'SnapshotClusterIdentifier' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The state of the cluster snapshot is not "available", or other accounts are authorized to access the snapshot.',
'class' => 'InvalidClusterSnapshotStateException',
),
array(
'reason' => 'The snapshot identifier does not refer to an existing cluster snapshot.',
'class' => 'ClusterSnapshotNotFoundException',
),
),
),
'DeleteClusterSubnetGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteClusterSubnetGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ClusterSubnetGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The cluster subnet group cannot be deleted because it is in use.',
'class' => 'InvalidClusterSubnetGroupStateException',
),
array(
'reason' => 'The state of the subnet is invalid.',
'class' => 'InvalidClusterSubnetStateException',
),
array(
'reason' => 'The cluster subnet group name does not refer to an existing cluster subnet group.',
'class' => 'ClusterSubnetGroupNotFoundException',
),
),
),
'DeleteEventSubscription' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteEventSubscription',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'SubscriptionName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'An Amazon Redshift event notification subscription with the specified name does not exist.',
'class' => 'SubscriptionNotFoundException',
),
),
),
'DeleteHsmClientCertificate' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteHsmClientCertificate',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'HsmClientCertificateIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified HSM client certificate is not in the available state, or it is still in use by one or more Amazon Redshift clusters.',
'class' => 'InvalidHsmClientCertificateStateException',
),
array(
'reason' => 'There is no Amazon Redshift HSM client certificate with the specified identifier.',
'class' => 'HsmClientCertificateNotFoundException',
),
),
),
'DeleteHsmConfiguration' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteHsmConfiguration',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'HsmConfigurationIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified HSM configuration is not in the available state, or it is still in use by one or more Amazon Redshift clusters.',
'class' => 'InvalidHsmConfigurationStateException',
),
array(
'reason' => 'There is no Amazon Redshift HSM configuration with the specified identifier.',
'class' => 'HsmConfigurationNotFoundException',
),
),
),
'DescribeClusterParameterGroups' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ClusterParameterGroupsMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeClusterParameterGroups',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ParameterGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The parameter group name does not refer to an existing parameter group.',
'class' => 'ClusterParameterGroupNotFoundException',
),
),
),
'DescribeClusterParameters' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ClusterParameterGroupDetails',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeClusterParameters',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ParameterGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Source' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The parameter group name does not refer to an existing parameter group.',
'class' => 'ClusterParameterGroupNotFoundException',
),
),
),
'DescribeClusterSecurityGroups' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ClusterSecurityGroupMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeClusterSecurityGroups',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ClusterSecurityGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The cluster security group name does not refer to an existing cluster security group.',
'class' => 'ClusterSecurityGroupNotFoundException',
),
),
),
'DescribeClusterSnapshots' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'SnapshotMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeClusterSnapshots',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ClusterIdentifier' => array(
'type' => 'string',
'location' => 'aws.query',
),
'SnapshotIdentifier' => array(
'type' => 'string',
'location' => 'aws.query',
),
'SnapshotType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'StartTime' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
'location' => 'aws.query',
),
'EndTime' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
'OwnerAccount' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The snapshot identifier does not refer to an existing cluster snapshot.',
'class' => 'ClusterSnapshotNotFoundException',
),
),
),
'DescribeClusterSubnetGroups' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ClusterSubnetGroupMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeClusterSubnetGroups',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ClusterSubnetGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The cluster subnet group name does not refer to an existing cluster subnet group.',
'class' => 'ClusterSubnetGroupNotFoundException',
),
),
),
'DescribeClusterVersions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ClusterVersionsMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeClusterVersions',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ClusterVersion' => array(
'type' => 'string',
'location' => 'aws.query',
),
'ClusterParameterGroupFamily' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DescribeClusters' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ClustersMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeClusters',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ClusterIdentifier' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The ClusterIdentifier parameter does not refer to an existing cluster.',
'class' => 'ClusterNotFoundException',
),
),
),
'DescribeDefaultClusterParameters' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DefaultClusterParametersWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeDefaultClusterParameters',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ParameterGroupFamily' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DescribeEventCategories' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EventCategoriesMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeEventCategories',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'SourceType' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DescribeEventSubscriptions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EventSubscriptionsMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeEventSubscriptions',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'SubscriptionName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'An Amazon Redshift event notification subscription with the specified name does not exist.',
'class' => 'SubscriptionNotFoundException',
),
),
),
'DescribeEvents' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EventsMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeEvents',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'SourceIdentifier' => array(
'type' => 'string',
'location' => 'aws.query',
),
'SourceType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'StartTime' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
'location' => 'aws.query',
),
'EndTime' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
'location' => 'aws.query',
),
'Duration' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DescribeHsmClientCertificates' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'HsmClientCertificateMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeHsmClientCertificates',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'HsmClientCertificateIdentifier' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'There is no Amazon Redshift HSM client certificate with the specified identifier.',
'class' => 'HsmClientCertificateNotFoundException',
),
),
),
'DescribeHsmConfigurations' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'HsmConfigurationMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeHsmConfigurations',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'HsmConfigurationIdentifier' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'There is no Amazon Redshift HSM configuration with the specified identifier.',
'class' => 'HsmConfigurationNotFoundException',
),
),
),
'DescribeLoggingStatus' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'LoggingStatus',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeLoggingStatus',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ClusterIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The ClusterIdentifier parameter does not refer to an existing cluster.',
'class' => 'ClusterNotFoundException',
),
),
),
'DescribeOrderableClusterOptions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'OrderableClusterOptionsMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeOrderableClusterOptions',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ClusterVersion' => array(
'type' => 'string',
'location' => 'aws.query',
),
'NodeType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DescribeReservedNodeOfferings' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ReservedNodeOfferingsMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeReservedNodeOfferings',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ReservedNodeOfferingId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Specified offering does not exist.',
'class' => 'ReservedNodeOfferingNotFoundException',
),
),
),
'DescribeReservedNodes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ReservedNodesMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeReservedNodes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ReservedNodeId' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxRecords' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'Marker' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified reserved compute node not found.',
'class' => 'ReservedNodeNotFoundException',
),
),
),
'DescribeResize' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ResizeProgressMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DescribeResize',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ClusterIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The ClusterIdentifier parameter does not refer to an existing cluster.',
'class' => 'ClusterNotFoundException',
),
array(
'reason' => 'A resize operation for the specified cluster is not found.',
'class' => 'ResizeNotFoundException',
),
),
),
'DisableLogging' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'LoggingStatus',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DisableLogging',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ClusterIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The ClusterIdentifier parameter does not refer to an existing cluster.',
'class' => 'ClusterNotFoundException',
),
),
),
'DisableSnapshotCopy' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ClusterWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DisableSnapshotCopy',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ClusterIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The ClusterIdentifier parameter does not refer to an existing cluster.',
'class' => 'ClusterNotFoundException',
),
array(
'reason' => 'The cluster already has cross-region snapshot copy disabled.',
'class' => 'SnapshotCopyAlreadyDisabledException',
),
array(
'reason' => 'Your account is not authorized to perform the requested operation.',
'class' => 'UnauthorizedOperationException',
),
),
),
'EnableLogging' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'LoggingStatus',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'EnableLogging',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ClusterIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'BucketName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'S3KeyPrefix' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The ClusterIdentifier parameter does not refer to an existing cluster.',
'class' => 'ClusterNotFoundException',
),
array(
'reason' => 'Could not find the specified S3 bucket.',
'class' => 'BucketNotFoundException',
),
array(
'reason' => 'The cluster does not have read bucket or put object permissions on the S3 bucket specified when enabling logging.',
'class' => 'InsufficientS3BucketPolicyFaultException',
),
array(
'reason' => 'The string specified for the logging S3 key prefix does not comply with the documented constraints.',
'class' => 'InvalidS3KeyPrefixFaultException',
),
array(
'reason' => 'The S3 bucket name is invalid. For more information about naming rules, go to Bucket Restrictions and Limitations in the Amazon Simple Storage Service (S3) Developer Guide.',
'class' => 'InvalidS3BucketNameFaultException',
),
),
),
'EnableSnapshotCopy' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ClusterWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'EnableSnapshotCopy',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ClusterIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'DestinationRegion' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'RetentionPeriod' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified options are incompatible.',
'class' => 'IncompatibleOrderableOptionsException',
),
array(
'reason' => 'The specified cluster is not in the available state.',
'class' => 'InvalidClusterStateException',
),
array(
'reason' => 'The ClusterIdentifier parameter does not refer to an existing cluster.',
'class' => 'ClusterNotFoundException',
),
array(
'reason' => 'Cross-region snapshot copy was temporarily disabled. Try your request again.',
'class' => 'CopyToRegionDisabledException',
),
array(
'reason' => 'The cluster already has cross-region snapshot copy enabled.',
'class' => 'SnapshotCopyAlreadyEnabledException',
),
array(
'reason' => 'The specified region is incorrect or does not exist.',
'class' => 'UnknownSnapshotCopyRegionException',
),
array(
'reason' => 'Your account is not authorized to perform the requested operation.',
'class' => 'UnauthorizedOperationException',
),
),
),
'ModifyCluster' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ClusterWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ModifyCluster',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ClusterIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'ClusterType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'NodeType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'NumberOfNodes' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'ClusterSecurityGroups' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ClusterSecurityGroups.member',
'items' => array(
'name' => 'ClusterSecurityGroupName',
'type' => 'string',
),
),
'VpcSecurityGroupIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'VpcSecurityGroupIds.member',
'items' => array(
'name' => 'VpcSecurityGroupId',
'type' => 'string',
),
),
'MasterUserPassword' => array(
'type' => 'string',
'location' => 'aws.query',
),
'ClusterParameterGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'AutomatedSnapshotRetentionPeriod' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'PreferredMaintenanceWindow' => array(
'type' => 'string',
'location' => 'aws.query',
),
'ClusterVersion' => array(
'type' => 'string',
'location' => 'aws.query',
),
'AllowVersionUpgrade' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'HsmClientCertificateIdentifier' => array(
'type' => 'string',
'location' => 'aws.query',
),
'HsmConfigurationIdentifier' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified cluster is not in the available state.',
'class' => 'InvalidClusterStateException',
),
array(
'reason' => 'The state of the cluster security group is not "available".',
'class' => 'InvalidClusterSecurityGroupStateException',
),
array(
'reason' => 'The ClusterIdentifier parameter does not refer to an existing cluster.',
'class' => 'ClusterNotFoundException',
),
array(
'reason' => 'The operation would exceed the number of nodes allotted to the account. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Management Guide.',
'class' => 'NumberOfNodesQuotaExceededException',
),
array(
'reason' => 'The cluster security group name does not refer to an existing cluster security group.',
'class' => 'ClusterSecurityGroupNotFoundException',
),
array(
'reason' => 'The parameter group name does not refer to an existing parameter group.',
'class' => 'ClusterParameterGroupNotFoundException',
),
array(
'reason' => 'The number of nodes specified exceeds the allotted capacity of the cluster.',
'class' => 'InsufficientClusterCapacityException',
),
array(
'reason' => 'An request option was specified that is not supported.',
'class' => 'UnsupportedOptionException',
),
array(
'reason' => 'Your account is not authorized to perform the requested operation.',
'class' => 'UnauthorizedOperationException',
),
array(
'reason' => 'There is no Amazon Redshift HSM client certificate with the specified identifier.',
'class' => 'HsmClientCertificateNotFoundException',
),
array(
'reason' => 'There is no Amazon Redshift HSM configuration with the specified identifier.',
'class' => 'HsmConfigurationNotFoundException',
),
),
),
'ModifyClusterParameterGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ClusterParameterGroupNameMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ModifyClusterParameterGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ParameterGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Parameters' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Parameters.member',
'items' => array(
'name' => 'Parameter',
'type' => 'object',
'properties' => array(
'ParameterName' => array(
'type' => 'string',
),
'ParameterValue' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'Source' => array(
'type' => 'string',
),
'DataType' => array(
'type' => 'string',
),
'AllowedValues' => array(
'type' => 'string',
),
'IsModifiable' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
'MinimumEngineVersion' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'The parameter group name does not refer to an existing parameter group.',
'class' => 'ClusterParameterGroupNotFoundException',
),
array(
'reason' => 'The cluster parameter group action can not be completed because another task is in progress that involves the parameter group. Wait a few moments and try the operation again.',
'class' => 'InvalidClusterParameterGroupStateException',
),
),
),
'ModifyClusterSubnetGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ClusterSubnetGroupWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ModifyClusterSubnetGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ClusterSubnetGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Description' => array(
'type' => 'string',
'location' => 'aws.query',
),
'SubnetIds' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'SubnetIds.member',
'items' => array(
'name' => 'SubnetIdentifier',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'The cluster subnet group name does not refer to an existing cluster subnet group.',
'class' => 'ClusterSubnetGroupNotFoundException',
),
array(
'reason' => 'The request would result in user exceeding the allowed number of subnets in a cluster subnet groups. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Management Guide.',
'class' => 'ClusterSubnetQuotaExceededException',
),
array(
'reason' => 'A specified subnet is already in use by another cluster.',
'class' => 'SubnetAlreadyInUseException',
),
array(
'reason' => 'The requested subnet is not valid, or not all of the subnets are in the same VPC.',
'class' => 'InvalidSubnetException',
),
array(
'reason' => 'Your account is not authorized to perform the requested operation.',
'class' => 'UnauthorizedOperationException',
),
),
),
'ModifyEventSubscription' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EventSubscriptionWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ModifyEventSubscription',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'SubscriptionName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'SnsTopicArn' => array(
'type' => 'string',
'location' => 'aws.query',
),
'SourceType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'SourceIds' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'SourceIds.member',
'items' => array(
'name' => 'SourceId',
'type' => 'string',
),
),
'EventCategories' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'EventCategories.member',
'items' => array(
'name' => 'EventCategory',
'type' => 'string',
),
),
'Severity' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Enabled' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'An Amazon Redshift event notification subscription with the specified name does not exist.',
'class' => 'SubscriptionNotFoundException',
),
array(
'reason' => 'Amazon SNS has responded that there is a problem with the specified Amazon SNS topic.',
'class' => 'SNSInvalidTopicException',
),
array(
'reason' => 'You do not have permission to publish to the specified Amazon SNS topic.',
'class' => 'SNSNoAuthorizationException',
),
array(
'reason' => 'An Amazon SNS topic with the specified Amazon Resource Name (ARN) does not exist.',
'class' => 'SNSTopicArnNotFoundException',
),
array(
'reason' => 'An Amazon Redshift event with the specified event ID does not exist.',
'class' => 'SubscriptionEventIdNotFoundException',
),
array(
'reason' => 'The value specified for the event category was not one of the allowed values, or it specified a category that does not apply to the specified source type. The allowed values are Configuration, Management, Monitoring, and Security.',
'class' => 'SubscriptionCategoryNotFoundException',
),
array(
'reason' => 'The value specified for the event severity was not one of the allowed values, or it specified a severity that does not apply to the specified source type. The allowed values are ERROR and INFO.',
'class' => 'SubscriptionSeverityNotFoundException',
),
array(
'reason' => 'The specified Amazon Redshift event source could not be found.',
'class' => 'SourceNotFoundException',
),
),
),
'ModifySnapshotCopyRetentionPeriod' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ClusterWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ModifySnapshotCopyRetentionPeriod',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ClusterIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'RetentionPeriod' => array(
'required' => true,
'type' => 'numeric',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The ClusterIdentifier parameter does not refer to an existing cluster.',
'class' => 'ClusterNotFoundException',
),
array(
'reason' => 'Cross-region snapshot copy was temporarily disabled. Try your request again.',
'class' => 'SnapshotCopyDisabledException',
),
array(
'reason' => 'Your account is not authorized to perform the requested operation.',
'class' => 'UnauthorizedOperationException',
),
),
),
'PurchaseReservedNodeOffering' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ReservedNodeWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'PurchaseReservedNodeOffering',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ReservedNodeOfferingId' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'NodeCount' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Specified offering does not exist.',
'class' => 'ReservedNodeOfferingNotFoundException',
),
array(
'reason' => 'User already has a reservation with the given identifier.',
'class' => 'ReservedNodeAlreadyExistsException',
),
array(
'reason' => 'Request would exceed the user\'s compute node quota. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Management Guide.',
'class' => 'ReservedNodeQuotaExceededException',
),
),
),
'RebootCluster' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ClusterWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RebootCluster',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ClusterIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified cluster is not in the available state.',
'class' => 'InvalidClusterStateException',
),
array(
'reason' => 'The ClusterIdentifier parameter does not refer to an existing cluster.',
'class' => 'ClusterNotFoundException',
),
),
),
'ResetClusterParameterGroup' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ClusterParameterGroupNameMessage',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ResetClusterParameterGroup',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ParameterGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'ResetAllParameters' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'Parameters' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Parameters.member',
'items' => array(
'name' => 'Parameter',
'type' => 'object',
'properties' => array(
'ParameterName' => array(
'type' => 'string',
),
'ParameterValue' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'Source' => array(
'type' => 'string',
),
'DataType' => array(
'type' => 'string',
),
'AllowedValues' => array(
'type' => 'string',
),
'IsModifiable' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
'MinimumEngineVersion' => array(
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'The cluster parameter group action can not be completed because another task is in progress that involves the parameter group. Wait a few moments and try the operation again.',
'class' => 'InvalidClusterParameterGroupStateException',
),
array(
'reason' => 'The parameter group name does not refer to an existing parameter group.',
'class' => 'ClusterParameterGroupNotFoundException',
),
),
),
'RestoreFromClusterSnapshot' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ClusterWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RestoreFromClusterSnapshot',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ClusterIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'SnapshotIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'SnapshotClusterIdentifier' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Port' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'AvailabilityZone' => array(
'type' => 'string',
'location' => 'aws.query',
),
'AllowVersionUpgrade' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'ClusterSubnetGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'PubliclyAccessible' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
'OwnerAccount' => array(
'type' => 'string',
'location' => 'aws.query',
),
'HsmClientCertificateIdentifier' => array(
'type' => 'string',
'location' => 'aws.query',
),
'HsmConfigurationIdentifier' => array(
'type' => 'string',
'location' => 'aws.query',
),
'ElasticIp' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The owner of the specified snapshot has not authorized your account to access the snapshot.',
'class' => 'AccessToSnapshotDeniedException',
),
array(
'reason' => 'The account already has a cluster with the given identifier.',
'class' => 'ClusterAlreadyExistsException',
),
array(
'reason' => 'The snapshot identifier does not refer to an existing cluster snapshot.',
'class' => 'ClusterSnapshotNotFoundException',
),
array(
'reason' => 'The request would exceed the allowed number of cluster instances for this account. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Management Guide.',
'class' => 'ClusterQuotaExceededException',
),
array(
'reason' => 'The number of nodes specified exceeds the allotted capacity of the cluster.',
'class' => 'InsufficientClusterCapacityException',
),
array(
'reason' => 'The state of the cluster snapshot is not "available", or other accounts are authorized to access the snapshot.',
'class' => 'InvalidClusterSnapshotStateException',
),
array(
'reason' => 'The restore is invalid.',
'class' => 'InvalidRestoreException',
),
array(
'reason' => 'The operation would exceed the number of nodes allotted to the account. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Management Guide.',
'class' => 'NumberOfNodesQuotaExceededException',
),
array(
'reason' => 'The operation would exceed the number of nodes allowed for a cluster.',
'class' => 'NumberOfNodesPerClusterLimitExceededException',
),
array(
'reason' => 'The cluster subnet group does not cover all Availability Zones.',
'class' => 'InvalidVPCNetworkStateException',
),
array(
'reason' => 'The cluster subnet group cannot be deleted because it is in use.',
'class' => 'InvalidClusterSubnetGroupStateException',
),
array(
'reason' => 'The requested subnet is not valid, or not all of the subnets are in the same VPC.',
'class' => 'InvalidSubnetException',
),
array(
'reason' => 'The cluster subnet group name does not refer to an existing cluster subnet group.',
'class' => 'ClusterSubnetGroupNotFoundException',
),
array(
'reason' => 'Your account is not authorized to perform the requested operation.',
'class' => 'UnauthorizedOperationException',
),
array(
'reason' => 'There is no Amazon Redshift HSM client certificate with the specified identifier.',
'class' => 'HsmClientCertificateNotFoundException',
),
array(
'reason' => 'There is no Amazon Redshift HSM configuration with the specified identifier.',
'class' => 'HsmConfigurationNotFoundException',
),
array(
'reason' => 'The Elastic IP (EIP) is invalid or cannot be found.',
'class' => 'InvalidElasticIpException',
),
),
),
'RevokeClusterSecurityGroupIngress' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ClusterSecurityGroupWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RevokeClusterSecurityGroupIngress',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ClusterSecurityGroupName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'CIDRIP' => array(
'type' => 'string',
'location' => 'aws.query',
),
'EC2SecurityGroupName' => array(
'type' => 'string',
'location' => 'aws.query',
),
'EC2SecurityGroupOwnerId' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The cluster security group name does not refer to an existing cluster security group.',
'class' => 'ClusterSecurityGroupNotFoundException',
),
array(
'reason' => 'The specified CIDR IP range or EC2 security group is not authorized for the specified cluster security group.',
'class' => 'AuthorizationNotFoundException',
),
array(
'reason' => 'The state of the cluster security group is not "available".',
'class' => 'InvalidClusterSecurityGroupStateException',
),
),
),
'RevokeSnapshotAccess' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'SnapshotWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RevokeSnapshotAccess',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'SnapshotIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'SnapshotClusterIdentifier' => array(
'type' => 'string',
'location' => 'aws.query',
),
'AccountWithRestoreAccess' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The owner of the specified snapshot has not authorized your account to access the snapshot.',
'class' => 'AccessToSnapshotDeniedException',
),
array(
'reason' => 'The specified CIDR IP range or EC2 security group is not authorized for the specified cluster security group.',
'class' => 'AuthorizationNotFoundException',
),
array(
'reason' => 'The snapshot identifier does not refer to an existing cluster snapshot.',
'class' => 'ClusterSnapshotNotFoundException',
),
),
),
'RotateEncryptionKey' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ClusterWrapper',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RotateEncryptionKey',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-12-01',
),
'ClusterIdentifier' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The ClusterIdentifier parameter does not refer to an existing cluster.',
'class' => 'ClusterNotFoundException',
),
array(
'reason' => 'The specified cluster is not in the available state.',
'class' => 'InvalidClusterStateException',
),
),
),
),
'models' => array(
'ClusterSecurityGroupWrapper' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ClusterSecurityGroup' => array(
'type' => 'object',
'location' => 'xml',
'data' => array(
'wrapper' => true,
),
'properties' => array(
'ClusterSecurityGroupName' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'EC2SecurityGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'EC2SecurityGroup',
'type' => 'object',
'sentAs' => 'EC2SecurityGroup',
'properties' => array(
'Status' => array(
'type' => 'string',
),
'EC2SecurityGroupName' => array(
'type' => 'string',
),
'EC2SecurityGroupOwnerId' => array(
'type' => 'string',
),
),
),
),
'IPRanges' => array(
'type' => 'array',
'items' => array(
'name' => 'IPRange',
'type' => 'object',
'sentAs' => 'IPRange',
'properties' => array(
'Status' => array(
'type' => 'string',
),
'CIDRIP' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'SnapshotWrapper' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Snapshot' => array(
'type' => 'object',
'location' => 'xml',
'data' => array(
'wrapper' => true,
),
'properties' => array(
'SnapshotIdentifier' => array(
'type' => 'string',
),
'ClusterIdentifier' => array(
'type' => 'string',
),
'SnapshotCreateTime' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'Port' => array(
'type' => 'numeric',
),
'AvailabilityZone' => array(
'type' => 'string',
),
'ClusterCreateTime' => array(
'type' => 'string',
),
'MasterUsername' => array(
'type' => 'string',
),
'ClusterVersion' => array(
'type' => 'string',
),
'SnapshotType' => array(
'type' => 'string',
),
'NodeType' => array(
'type' => 'string',
),
'NumberOfNodes' => array(
'type' => 'numeric',
),
'DBName' => array(
'type' => 'string',
),
'VpcId' => array(
'type' => 'string',
),
'Encrypted' => array(
'type' => 'boolean',
),
'EncryptedWithHSM' => array(
'type' => 'boolean',
),
'AccountsWithRestoreAccess' => array(
'type' => 'array',
'items' => array(
'name' => 'AccountWithRestoreAccess',
'type' => 'object',
'sentAs' => 'AccountWithRestoreAccess',
'properties' => array(
'AccountId' => array(
'type' => 'string',
),
),
),
),
'OwnerAccount' => array(
'type' => 'string',
),
'TotalBackupSizeInMegaBytes' => array(
'type' => 'numeric',
),
'ActualIncrementalBackupSizeInMegaBytes' => array(
'type' => 'numeric',
),
'BackupProgressInMegaBytes' => array(
'type' => 'numeric',
),
'CurrentBackupRateInMegaBytesPerSecond' => array(
'type' => 'numeric',
),
'EstimatedSecondsToCompletion' => array(
'type' => 'numeric',
),
'ElapsedTimeInSeconds' => array(
'type' => 'numeric',
),
'SourceRegion' => array(
'type' => 'string',
),
),
),
),
),
'ClusterWrapper' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Cluster' => array(
'type' => 'object',
'location' => 'xml',
'data' => array(
'wrapper' => true,
),
'properties' => array(
'ClusterIdentifier' => array(
'type' => 'string',
),
'NodeType' => array(
'type' => 'string',
),
'ClusterStatus' => array(
'type' => 'string',
),
'ModifyStatus' => array(
'type' => 'string',
),
'MasterUsername' => array(
'type' => 'string',
),
'DBName' => array(
'type' => 'string',
),
'Endpoint' => array(
'type' => 'object',
'properties' => array(
'Address' => array(
'type' => 'string',
),
'Port' => array(
'type' => 'numeric',
),
),
),
'ClusterCreateTime' => array(
'type' => 'string',
),
'AutomatedSnapshotRetentionPeriod' => array(
'type' => 'numeric',
),
'ClusterSecurityGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'ClusterSecurityGroup',
'type' => 'object',
'sentAs' => 'ClusterSecurityGroup',
'properties' => array(
'ClusterSecurityGroupName' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
),
),
),
'VpcSecurityGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'VpcSecurityGroup',
'type' => 'object',
'sentAs' => 'VpcSecurityGroup',
'properties' => array(
'VpcSecurityGroupId' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
),
),
),
'ClusterParameterGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'ClusterParameterGroup',
'type' => 'object',
'sentAs' => 'ClusterParameterGroup',
'properties' => array(
'ParameterGroupName' => array(
'type' => 'string',
),
'ParameterApplyStatus' => array(
'type' => 'string',
),
),
),
),
'ClusterSubnetGroupName' => array(
'type' => 'string',
),
'VpcId' => array(
'type' => 'string',
),
'AvailabilityZone' => array(
'type' => 'string',
),
'PreferredMaintenanceWindow' => array(
'type' => 'string',
),
'PendingModifiedValues' => array(
'type' => 'object',
'properties' => array(
'MasterUserPassword' => array(
'type' => 'string',
),
'NodeType' => array(
'type' => 'string',
),
'NumberOfNodes' => array(
'type' => 'numeric',
),
'ClusterType' => array(
'type' => 'string',
),
'ClusterVersion' => array(
'type' => 'string',
),
'AutomatedSnapshotRetentionPeriod' => array(
'type' => 'numeric',
),
),
),
'ClusterVersion' => array(
'type' => 'string',
),
'AllowVersionUpgrade' => array(
'type' => 'boolean',
),
'NumberOfNodes' => array(
'type' => 'numeric',
),
'PubliclyAccessible' => array(
'type' => 'boolean',
),
'Encrypted' => array(
'type' => 'boolean',
),
'RestoreStatus' => array(
'type' => 'object',
'properties' => array(
'Status' => array(
'type' => 'string',
),
'CurrentRestoreRateInMegaBytesPerSecond' => array(
'type' => 'numeric',
),
'SnapshotSizeInMegaBytes' => array(
'type' => 'numeric',
),
'ProgressInMegaBytes' => array(
'type' => 'numeric',
),
'ElapsedTimeInSeconds' => array(
'type' => 'numeric',
),
'EstimatedTimeToCompletionInSeconds' => array(
'type' => 'numeric',
),
),
),
'HsmStatus' => array(
'type' => 'object',
'properties' => array(
'HsmClientCertificateIdentifier' => array(
'type' => 'string',
),
'HsmConfigurationIdentifier' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
),
),
'ClusterSnapshotCopyStatus' => array(
'type' => 'object',
'properties' => array(
'DestinationRegion' => array(
'type' => 'string',
),
'RetentionPeriod' => array(
'type' => 'numeric',
),
),
),
'ClusterPublicKey' => array(
'type' => 'string',
),
'ClusterNodes' => array(
'type' => 'array',
'items' => array(
'name' => 'ClusterNode',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'NodeRole' => array(
'type' => 'string',
),
'PrivateIPAddress' => array(
'type' => 'string',
),
'PublicIPAddress' => array(
'type' => 'string',
),
),
),
),
'ElasticIpStatus' => array(
'type' => 'object',
'properties' => array(
'ElasticIp' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
),
),
),
),
),
),
'ClusterParameterGroupWrapper' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ClusterParameterGroup' => array(
'type' => 'object',
'location' => 'xml',
'data' => array(
'wrapper' => true,
),
'properties' => array(
'ParameterGroupName' => array(
'type' => 'string',
),
'ParameterGroupFamily' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
),
),
),
),
'ClusterSubnetGroupWrapper' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ClusterSubnetGroup' => array(
'type' => 'object',
'location' => 'xml',
'data' => array(
'wrapper' => true,
),
'properties' => array(
'ClusterSubnetGroupName' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'VpcId' => array(
'type' => 'string',
),
'SubnetGroupStatus' => array(
'type' => 'string',
),
'Subnets' => array(
'type' => 'array',
'items' => array(
'name' => 'Subnet',
'type' => 'object',
'sentAs' => 'Subnet',
'properties' => array(
'SubnetIdentifier' => array(
'type' => 'string',
),
'SubnetAvailabilityZone' => array(
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
),
),
'SubnetStatus' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'EventSubscriptionWrapper' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'EventSubscription' => array(
'type' => 'object',
'location' => 'xml',
'data' => array(
'wrapper' => true,
),
'properties' => array(
'CustomerAwsId' => array(
'type' => 'string',
),
'CustSubscriptionId' => array(
'type' => 'string',
),
'SnsTopicArn' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'SubscriptionCreationTime' => array(
'type' => 'string',
),
'SourceType' => array(
'type' => 'string',
),
'SourceIdsList' => array(
'type' => 'array',
'items' => array(
'name' => 'SourceId',
'type' => 'string',
'sentAs' => 'SourceId',
),
),
'EventCategoriesList' => array(
'type' => 'array',
'items' => array(
'name' => 'EventCategory',
'type' => 'string',
'sentAs' => 'EventCategory',
),
),
'Severity' => array(
'type' => 'string',
),
'Enabled' => array(
'type' => 'boolean',
),
),
),
),
),
'HsmClientCertificateWrapper' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'HsmClientCertificate' => array(
'type' => 'object',
'location' => 'xml',
'data' => array(
'wrapper' => true,
),
'properties' => array(
'HsmClientCertificateIdentifier' => array(
'type' => 'string',
),
'HsmClientCertificatePublicKey' => array(
'type' => 'string',
),
),
),
),
),
'HsmConfigurationWrapper' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'HsmConfiguration' => array(
'type' => 'object',
'location' => 'xml',
'data' => array(
'wrapper' => true,
),
'properties' => array(
'HsmConfigurationIdentifier' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'HsmIpAddress' => array(
'type' => 'string',
),
'HsmPartitionName' => array(
'type' => 'string',
),
),
),
),
),
'EmptyOutput' => array(
'type' => 'object',
'additionalProperties' => true,
),
'ClusterParameterGroupsMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'ParameterGroups' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'ClusterParameterGroup',
'type' => 'object',
'sentAs' => 'ClusterParameterGroup',
'properties' => array(
'ParameterGroupName' => array(
'type' => 'string',
),
'ParameterGroupFamily' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
),
),
),
),
),
'ClusterParameterGroupDetails' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Parameters' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Parameter',
'type' => 'object',
'sentAs' => 'Parameter',
'properties' => array(
'ParameterName' => array(
'type' => 'string',
),
'ParameterValue' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'Source' => array(
'type' => 'string',
),
'DataType' => array(
'type' => 'string',
),
'AllowedValues' => array(
'type' => 'string',
),
'IsModifiable' => array(
'type' => 'boolean',
),
'MinimumEngineVersion' => array(
'type' => 'string',
),
),
),
),
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ClusterSecurityGroupMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'ClusterSecurityGroups' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'ClusterSecurityGroup',
'type' => 'object',
'sentAs' => 'ClusterSecurityGroup',
'properties' => array(
'ClusterSecurityGroupName' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'EC2SecurityGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'EC2SecurityGroup',
'type' => 'object',
'sentAs' => 'EC2SecurityGroup',
'properties' => array(
'Status' => array(
'type' => 'string',
),
'EC2SecurityGroupName' => array(
'type' => 'string',
),
'EC2SecurityGroupOwnerId' => array(
'type' => 'string',
),
),
),
),
'IPRanges' => array(
'type' => 'array',
'items' => array(
'name' => 'IPRange',
'type' => 'object',
'sentAs' => 'IPRange',
'properties' => array(
'Status' => array(
'type' => 'string',
),
'CIDRIP' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'SnapshotMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'Snapshots' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Snapshot',
'type' => 'object',
'sentAs' => 'Snapshot',
'properties' => array(
'SnapshotIdentifier' => array(
'type' => 'string',
),
'ClusterIdentifier' => array(
'type' => 'string',
),
'SnapshotCreateTime' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'Port' => array(
'type' => 'numeric',
),
'AvailabilityZone' => array(
'type' => 'string',
),
'ClusterCreateTime' => array(
'type' => 'string',
),
'MasterUsername' => array(
'type' => 'string',
),
'ClusterVersion' => array(
'type' => 'string',
),
'SnapshotType' => array(
'type' => 'string',
),
'NodeType' => array(
'type' => 'string',
),
'NumberOfNodes' => array(
'type' => 'numeric',
),
'DBName' => array(
'type' => 'string',
),
'VpcId' => array(
'type' => 'string',
),
'Encrypted' => array(
'type' => 'boolean',
),
'EncryptedWithHSM' => array(
'type' => 'boolean',
),
'AccountsWithRestoreAccess' => array(
'type' => 'array',
'items' => array(
'name' => 'AccountWithRestoreAccess',
'type' => 'object',
'sentAs' => 'AccountWithRestoreAccess',
'properties' => array(
'AccountId' => array(
'type' => 'string',
),
),
),
),
'OwnerAccount' => array(
'type' => 'string',
),
'TotalBackupSizeInMegaBytes' => array(
'type' => 'numeric',
),
'ActualIncrementalBackupSizeInMegaBytes' => array(
'type' => 'numeric',
),
'BackupProgressInMegaBytes' => array(
'type' => 'numeric',
),
'CurrentBackupRateInMegaBytesPerSecond' => array(
'type' => 'numeric',
),
'EstimatedSecondsToCompletion' => array(
'type' => 'numeric',
),
'ElapsedTimeInSeconds' => array(
'type' => 'numeric',
),
'SourceRegion' => array(
'type' => 'string',
),
),
),
),
),
),
'ClusterSubnetGroupMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'ClusterSubnetGroups' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'ClusterSubnetGroup',
'type' => 'object',
'sentAs' => 'ClusterSubnetGroup',
'properties' => array(
'ClusterSubnetGroupName' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'VpcId' => array(
'type' => 'string',
),
'SubnetGroupStatus' => array(
'type' => 'string',
),
'Subnets' => array(
'type' => 'array',
'items' => array(
'name' => 'Subnet',
'type' => 'object',
'sentAs' => 'Subnet',
'properties' => array(
'SubnetIdentifier' => array(
'type' => 'string',
),
'SubnetAvailabilityZone' => array(
'type' => 'object',
'properties' => array(
'Name' => array(
'type' => 'string',
),
),
),
'SubnetStatus' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'ClusterVersionsMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'ClusterVersions' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'ClusterVersion',
'type' => 'object',
'sentAs' => 'ClusterVersion',
'properties' => array(
'ClusterVersion' => array(
'type' => 'string',
),
'ClusterParameterGroupFamily' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
),
),
),
),
),
'ClustersMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'Clusters' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Cluster',
'type' => 'object',
'sentAs' => 'Cluster',
'properties' => array(
'ClusterIdentifier' => array(
'type' => 'string',
),
'NodeType' => array(
'type' => 'string',
),
'ClusterStatus' => array(
'type' => 'string',
),
'ModifyStatus' => array(
'type' => 'string',
),
'MasterUsername' => array(
'type' => 'string',
),
'DBName' => array(
'type' => 'string',
),
'Endpoint' => array(
'type' => 'object',
'properties' => array(
'Address' => array(
'type' => 'string',
),
'Port' => array(
'type' => 'numeric',
),
),
),
'ClusterCreateTime' => array(
'type' => 'string',
),
'AutomatedSnapshotRetentionPeriod' => array(
'type' => 'numeric',
),
'ClusterSecurityGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'ClusterSecurityGroup',
'type' => 'object',
'sentAs' => 'ClusterSecurityGroup',
'properties' => array(
'ClusterSecurityGroupName' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
),
),
),
'VpcSecurityGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'VpcSecurityGroup',
'type' => 'object',
'sentAs' => 'VpcSecurityGroup',
'properties' => array(
'VpcSecurityGroupId' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
),
),
),
'ClusterParameterGroups' => array(
'type' => 'array',
'items' => array(
'name' => 'ClusterParameterGroup',
'type' => 'object',
'sentAs' => 'ClusterParameterGroup',
'properties' => array(
'ParameterGroupName' => array(
'type' => 'string',
),
'ParameterApplyStatus' => array(
'type' => 'string',
),
),
),
),
'ClusterSubnetGroupName' => array(
'type' => 'string',
),
'VpcId' => array(
'type' => 'string',
),
'AvailabilityZone' => array(
'type' => 'string',
),
'PreferredMaintenanceWindow' => array(
'type' => 'string',
),
'PendingModifiedValues' => array(
'type' => 'object',
'properties' => array(
'MasterUserPassword' => array(
'type' => 'string',
),
'NodeType' => array(
'type' => 'string',
),
'NumberOfNodes' => array(
'type' => 'numeric',
),
'ClusterType' => array(
'type' => 'string',
),
'ClusterVersion' => array(
'type' => 'string',
),
'AutomatedSnapshotRetentionPeriod' => array(
'type' => 'numeric',
),
),
),
'ClusterVersion' => array(
'type' => 'string',
),
'AllowVersionUpgrade' => array(
'type' => 'boolean',
),
'NumberOfNodes' => array(
'type' => 'numeric',
),
'PubliclyAccessible' => array(
'type' => 'boolean',
),
'Encrypted' => array(
'type' => 'boolean',
),
'RestoreStatus' => array(
'type' => 'object',
'properties' => array(
'Status' => array(
'type' => 'string',
),
'CurrentRestoreRateInMegaBytesPerSecond' => array(
'type' => 'numeric',
),
'SnapshotSizeInMegaBytes' => array(
'type' => 'numeric',
),
'ProgressInMegaBytes' => array(
'type' => 'numeric',
),
'ElapsedTimeInSeconds' => array(
'type' => 'numeric',
),
'EstimatedTimeToCompletionInSeconds' => array(
'type' => 'numeric',
),
),
),
'HsmStatus' => array(
'type' => 'object',
'properties' => array(
'HsmClientCertificateIdentifier' => array(
'type' => 'string',
),
'HsmConfigurationIdentifier' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
),
),
'ClusterSnapshotCopyStatus' => array(
'type' => 'object',
'properties' => array(
'DestinationRegion' => array(
'type' => 'string',
),
'RetentionPeriod' => array(
'type' => 'numeric',
),
),
),
'ClusterPublicKey' => array(
'type' => 'string',
),
'ClusterNodes' => array(
'type' => 'array',
'items' => array(
'name' => 'ClusterNode',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'NodeRole' => array(
'type' => 'string',
),
'PrivateIPAddress' => array(
'type' => 'string',
),
'PublicIPAddress' => array(
'type' => 'string',
),
),
),
),
'ElasticIpStatus' => array(
'type' => 'object',
'properties' => array(
'ElasticIp' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'DefaultClusterParametersWrapper' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'DefaultClusterParameters' => array(
'type' => 'object',
'location' => 'xml',
'data' => array(
'wrapper' => true,
),
'properties' => array(
'ParameterGroupFamily' => array(
'type' => 'string',
),
'Marker' => array(
'type' => 'string',
),
'Parameters' => array(
'type' => 'array',
'items' => array(
'name' => 'Parameter',
'type' => 'object',
'sentAs' => 'Parameter',
'properties' => array(
'ParameterName' => array(
'type' => 'string',
),
'ParameterValue' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'Source' => array(
'type' => 'string',
),
'DataType' => array(
'type' => 'string',
),
'AllowedValues' => array(
'type' => 'string',
),
'IsModifiable' => array(
'type' => 'boolean',
),
'MinimumEngineVersion' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'EventCategoriesMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'EventCategoriesMapList' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'EventCategoriesMap',
'type' => 'object',
'sentAs' => 'EventCategoriesMap',
'properties' => array(
'SourceType' => array(
'type' => 'string',
),
'Events' => array(
'type' => 'array',
'items' => array(
'name' => 'EventInfoMap',
'type' => 'object',
'sentAs' => 'EventInfoMap',
'properties' => array(
'EventId' => array(
'type' => 'string',
),
'EventCategories' => array(
'type' => 'array',
'items' => array(
'name' => 'EventCategory',
'type' => 'string',
'sentAs' => 'EventCategory',
),
),
'EventDescription' => array(
'type' => 'string',
),
'Severity' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'EventSubscriptionsMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'EventSubscriptionsList' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'EventSubscription',
'type' => 'object',
'sentAs' => 'EventSubscription',
'properties' => array(
'CustomerAwsId' => array(
'type' => 'string',
),
'CustSubscriptionId' => array(
'type' => 'string',
),
'SnsTopicArn' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'SubscriptionCreationTime' => array(
'type' => 'string',
),
'SourceType' => array(
'type' => 'string',
),
'SourceIdsList' => array(
'type' => 'array',
'items' => array(
'name' => 'SourceId',
'type' => 'string',
'sentAs' => 'SourceId',
),
),
'EventCategoriesList' => array(
'type' => 'array',
'items' => array(
'name' => 'EventCategory',
'type' => 'string',
'sentAs' => 'EventCategory',
),
),
'Severity' => array(
'type' => 'string',
),
'Enabled' => array(
'type' => 'boolean',
),
),
),
),
),
),
'EventsMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'Events' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Event',
'type' => 'object',
'sentAs' => 'Event',
'properties' => array(
'SourceIdentifier' => array(
'type' => 'string',
),
'SourceType' => array(
'type' => 'string',
),
'Message' => array(
'type' => 'string',
),
'EventCategories' => array(
'type' => 'array',
'items' => array(
'name' => 'EventCategory',
'type' => 'string',
'sentAs' => 'EventCategory',
),
),
'Severity' => array(
'type' => 'string',
),
'Date' => array(
'type' => 'string',
),
'EventId' => array(
'type' => 'string',
),
),
),
),
),
),
'HsmClientCertificateMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'HsmClientCertificates' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'HsmClientCertificate',
'type' => 'object',
'sentAs' => 'HsmClientCertificate',
'properties' => array(
'HsmClientCertificateIdentifier' => array(
'type' => 'string',
),
'HsmClientCertificatePublicKey' => array(
'type' => 'string',
),
),
),
),
),
),
'HsmConfigurationMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'HsmConfigurations' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'HsmConfiguration',
'type' => 'object',
'sentAs' => 'HsmConfiguration',
'properties' => array(
'HsmConfigurationIdentifier' => array(
'type' => 'string',
),
'Description' => array(
'type' => 'string',
),
'HsmIpAddress' => array(
'type' => 'string',
),
'HsmPartitionName' => array(
'type' => 'string',
),
),
),
),
),
),
'LoggingStatus' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'LoggingEnabled' => array(
'type' => 'boolean',
'location' => 'xml',
),
'BucketName' => array(
'type' => 'string',
'location' => 'xml',
),
'S3KeyPrefix' => array(
'type' => 'string',
'location' => 'xml',
),
'LastSuccessfulDeliveryTime' => array(
'type' => 'string',
'location' => 'xml',
),
'LastFailureTime' => array(
'type' => 'string',
'location' => 'xml',
),
'LastFailureMessage' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'OrderableClusterOptionsMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'OrderableClusterOptions' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'OrderableClusterOption',
'type' => 'object',
'sentAs' => 'OrderableClusterOption',
'properties' => array(
'ClusterVersion' => array(
'type' => 'string',
),
'ClusterType' => array(
'type' => 'string',
),
'NodeType' => array(
'type' => 'string',
),
'AvailabilityZones' => array(
'type' => 'array',
'items' => array(
'name' => 'AvailabilityZone',
'type' => 'object',
'sentAs' => 'AvailabilityZone',
'properties' => array(
'Name' => array(
'type' => 'string',
),
),
),
),
),
),
),
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ReservedNodeOfferingsMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'ReservedNodeOfferings' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'ReservedNodeOffering',
'type' => 'object',
'sentAs' => 'ReservedNodeOffering',
'properties' => array(
'ReservedNodeOfferingId' => array(
'type' => 'string',
),
'NodeType' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'numeric',
),
'FixedPrice' => array(
'type' => 'numeric',
),
'UsagePrice' => array(
'type' => 'numeric',
),
'CurrencyCode' => array(
'type' => 'string',
),
'OfferingType' => array(
'type' => 'string',
),
'RecurringCharges' => array(
'type' => 'array',
'items' => array(
'name' => 'RecurringCharge',
'type' => 'object',
'sentAs' => 'RecurringCharge',
'properties' => array(
'RecurringChargeAmount' => array(
'type' => 'numeric',
),
'RecurringChargeFrequency' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'ReservedNodesMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'ReservedNodes' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'ReservedNode',
'type' => 'object',
'sentAs' => 'ReservedNode',
'properties' => array(
'ReservedNodeId' => array(
'type' => 'string',
),
'ReservedNodeOfferingId' => array(
'type' => 'string',
),
'NodeType' => array(
'type' => 'string',
),
'StartTime' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'numeric',
),
'FixedPrice' => array(
'type' => 'numeric',
),
'UsagePrice' => array(
'type' => 'numeric',
),
'CurrencyCode' => array(
'type' => 'string',
),
'NodeCount' => array(
'type' => 'numeric',
),
'State' => array(
'type' => 'string',
),
'OfferingType' => array(
'type' => 'string',
),
'RecurringCharges' => array(
'type' => 'array',
'items' => array(
'name' => 'RecurringCharge',
'type' => 'object',
'sentAs' => 'RecurringCharge',
'properties' => array(
'RecurringChargeAmount' => array(
'type' => 'numeric',
),
'RecurringChargeFrequency' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'ResizeProgressMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'TargetNodeType' => array(
'type' => 'string',
'location' => 'xml',
),
'TargetNumberOfNodes' => array(
'type' => 'numeric',
'location' => 'xml',
),
'TargetClusterType' => array(
'type' => 'string',
'location' => 'xml',
),
'Status' => array(
'type' => 'string',
'location' => 'xml',
),
'ImportTablesCompleted' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'String',
'type' => 'string',
'sentAs' => 'member',
),
),
'ImportTablesInProgress' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'String',
'type' => 'string',
'sentAs' => 'member',
),
),
'ImportTablesNotStarted' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'String',
'type' => 'string',
'sentAs' => 'member',
),
),
),
),
'ClusterParameterGroupNameMessage' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ParameterGroupName' => array(
'type' => 'string',
'location' => 'xml',
),
'ParameterGroupStatus' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ReservedNodeWrapper' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ReservedNode' => array(
'type' => 'object',
'location' => 'xml',
'data' => array(
'wrapper' => true,
),
'properties' => array(
'ReservedNodeId' => array(
'type' => 'string',
),
'ReservedNodeOfferingId' => array(
'type' => 'string',
),
'NodeType' => array(
'type' => 'string',
),
'StartTime' => array(
'type' => 'string',
),
'Duration' => array(
'type' => 'numeric',
),
'FixedPrice' => array(
'type' => 'numeric',
),
'UsagePrice' => array(
'type' => 'numeric',
),
'CurrencyCode' => array(
'type' => 'string',
),
'NodeCount' => array(
'type' => 'numeric',
),
'State' => array(
'type' => 'string',
),
'OfferingType' => array(
'type' => 'string',
),
'RecurringCharges' => array(
'type' => 'array',
'items' => array(
'name' => 'RecurringCharge',
'type' => 'object',
'sentAs' => 'RecurringCharge',
'properties' => array(
'RecurringChargeAmount' => array(
'type' => 'numeric',
),
'RecurringChargeFrequency' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'iterators' => array(
'operations' => array(
'DescribeClusterParameterGroups' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'ParameterGroups',
),
'DescribeClusterParameters' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'Parameters',
),
'DescribeClusterSecurityGroups' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'ClusterSecurityGroups',
),
'DescribeClusterSnapshots' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'Snapshots',
),
'DescribeClusterSubnetGroups' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'ClusterSubnetGroups',
),
'DescribeClusterVersions' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'ClusterVersions',
),
'DescribeClusters' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'Clusters',
),
'DescribeDefaultClusterParameters' => array(
'token_param' => 'Marker',
'limit_key' => 'MaxRecords',
),
'DescribeEventSubscriptions' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'EventSubscriptionsList',
),
'DescribeEvents' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'Events',
),
'DescribeHsmClientCertificates' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'HsmClientCertificates',
),
'DescribeHsmConfigurations' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'HsmConfigurations',
),
'DescribeOrderableClusterOptions' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'OrderableClusterOptions',
),
'DescribeReservedNodeOfferings' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'ReservedNodeOfferings',
),
'DescribeReservedNodes' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'MaxRecords',
'result_key' => 'ReservedNodes',
),
),
),
'waiters' => array(
'__default__' => array(
'acceptor.type' => 'output',
),
'__ClusterState' => array(
'interval' => 60,
'max_attempts' => 30,
'operation' => 'DescribeClusters',
'acceptor.path' => 'Clusters/*/ClusterStatus',
),
'ClusterAvailable' => array(
'extends' => '__ClusterState',
'success.value' => 'available',
'failure.value' => array(
'deleting',
),
'ignore_errors' => array(
'ClusterNotFound',
),
),
'ClusterDeleted' => array(
'extends' => '__ClusterState',
'success.type' => 'error',
'success.value' => 'ClusterNotFound',
'failure.value' => array(
'creating',
'rebooting',
),
),
'SnapshotAvailable' => array(
'interval' => 15,
'max_attempts' => 20,
'operation' => 'DescribeClusterSnapshots',
'acceptor.path' => 'Snapshots/*/Status',
'success.value' => 'available',
'failure.value' => array(
'failed',
'deleted',
),
),
),
);
sdk-2.5.2/Aws/Route53/Route53Client.php 0000644 115327001610067500000011052 12272324173 014524 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/route53-%s.php'
))
->build();
}
/**
* Retrieves the server time from Route53. Can be useful for detecting and/or preventing clock skew.
*
* @return \DateTime The server time from Route53
* @link http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/RESTAuthentication.html#FetchingDate
*/
public function getServerTime()
{
try {
$response = $this->get('https://route53.amazonaws.com/date')->send();
} catch (ServiceResponseException $e) {
$response = $e->getResponse();
}
$serverTime = trim($response->getHeader('Date', true));
$serverTime = \DateTime::createFromFormat(DateFormat::RFC1123, $serverTime);
return $serverTime;
}
/**
* Filter function used to remove ID prefixes. This is used automatically by the client so that Hosted Zone and
* Change Record IDs can be specified with or without the prefix.
*
* @param string $id The ID value to clean
*
* @return string
*/
public static function cleanId($id)
{
return str_replace(array('/hostedzone/', '/change/'), '', $id);
}
}
sdk-2.5.2/Aws/Route53/Enum/Action.php 0000644 115327001610067500000001410 12272324173 014235 0 ustar '2012-12-12',
'endpointPrefix' => 'route53',
'serviceFullName' => 'Amazon Route 53',
'serviceAbbreviation' => 'Route 53',
'serviceType' => 'rest-xml',
'globalEndpoint' => 'route53.amazonaws.com',
'signatureVersion' => 'v3https',
'namespace' => 'Route53',
'regions' => array(
'us-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'route53.amazonaws.com',
),
'us-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'route53.amazonaws.com',
),
'us-west-2' => array(
'http' => false,
'https' => true,
'hostname' => 'route53.amazonaws.com',
),
'eu-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'route53.amazonaws.com',
),
'ap-northeast-1' => array(
'http' => false,
'https' => true,
'hostname' => 'route53.amazonaws.com',
),
'ap-southeast-1' => array(
'http' => false,
'https' => true,
'hostname' => 'route53.amazonaws.com',
),
'ap-southeast-2' => array(
'http' => false,
'https' => true,
'hostname' => 'route53.amazonaws.com',
),
'sa-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'route53.amazonaws.com',
),
),
'operations' => array(
'ChangeResourceRecordSets' => array(
'httpMethod' => 'POST',
'uri' => '/2012-12-12/hostedzone/{HostedZoneId}/rrset/',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'ChangeResourceRecordSetsResponse',
'responseType' => 'model',
'data' => array(
'xmlRoot' => array(
'name' => 'ChangeResourceRecordSetsRequest',
'namespaces' => array(
'https://route53.amazonaws.com/doc/2012-12-12/',
),
),
),
'parameters' => array(
'HostedZoneId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
'maxLength' => 32,
'filters' => array(
'Aws\\Route53\\Route53Client::cleanId',
),
),
'ChangeBatch' => array(
'required' => true,
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Comment' => array(
'type' => 'string',
'maxLength' => 256,
),
'Changes' => array(
'required' => true,
'type' => 'array',
'minItems' => 1,
'items' => array(
'name' => 'Change',
'type' => 'object',
'properties' => array(
'Action' => array(
'required' => true,
'type' => 'string',
),
'ResourceRecordSet' => array(
'required' => true,
'type' => 'object',
'properties' => array(
'Name' => array(
'required' => true,
'type' => 'string',
'maxLength' => 1024,
),
'Type' => array(
'required' => true,
'type' => 'string',
),
'SetIdentifier' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 128,
),
'Weight' => array(
'type' => 'numeric',
'maximum' => 255,
),
'Region' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 64,
),
'Failover' => array(
'type' => 'string',
),
'TTL' => array(
'type' => 'numeric',
'maximum' => 2147483647,
),
'ResourceRecords' => array(
'type' => 'array',
'minItems' => 1,
'items' => array(
'name' => 'ResourceRecord',
'type' => 'object',
'properties' => array(
'Value' => array(
'required' => true,
'type' => 'string',
'maxLength' => 4000,
),
),
),
),
'AliasTarget' => array(
'type' => 'object',
'properties' => array(
'HostedZoneId' => array(
'required' => true,
'type' => 'string',
'maxLength' => 32,
),
'DNSName' => array(
'required' => true,
'type' => 'string',
'maxLength' => 1024,
),
'EvaluateTargetHealth' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
'HealthCheckId' => array(
'type' => 'string',
'maxLength' => 64,
),
),
),
),
),
),
),
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'class' => 'NoSuchHostedZoneException',
),
array(
'reason' => 'The health check you are trying to get or delete does not exist.',
'class' => 'NoSuchHealthCheckException',
),
array(
'reason' => 'This error contains a list of one or more error messages. Each error message indicates one error in the change batch. For more information, see Example InvalidChangeBatch Errors.',
'class' => 'InvalidChangeBatchException',
),
array(
'reason' => 'Some value specified in the request is invalid or the XML document is malformed.',
'class' => 'InvalidInputException',
),
array(
'reason' => 'The request was rejected because Route 53 was still processing a prior request.',
'class' => 'PriorRequestNotCompleteException',
),
),
),
'CreateHealthCheck' => array(
'httpMethod' => 'POST',
'uri' => '/2012-12-12/healthcheck',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'CreateHealthCheckResponse',
'responseType' => 'model',
'data' => array(
'xmlRoot' => array(
'name' => 'CreateHealthCheckRequest',
'namespaces' => array(
'https://route53.amazonaws.com/doc/2012-12-12/',
),
),
),
'parameters' => array(
'CallerReference' => array(
'required' => true,
'type' => 'string',
'location' => 'xml',
'minLength' => 1,
'maxLength' => 64,
),
'HealthCheckConfig' => array(
'required' => true,
'type' => 'object',
'location' => 'xml',
'properties' => array(
'IPAddress' => array(
'required' => true,
'type' => 'string',
'maxLength' => 15,
),
'Port' => array(
'type' => 'numeric',
'minimum' => 1,
'maximum' => 65535,
),
'Type' => array(
'required' => true,
'type' => 'string',
),
'ResourcePath' => array(
'type' => 'string',
'maxLength' => 255,
),
'FullyQualifiedDomainName' => array(
'type' => 'string',
'maxLength' => 255,
),
),
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'class' => 'TooManyHealthChecksException',
),
array(
'reason' => 'The health check you are trying to create already exists. Route 53 returns this error when a health check has already been created with the specified CallerReference.',
'class' => 'HealthCheckAlreadyExistsException',
),
array(
'reason' => 'Some value specified in the request is invalid or the XML document is malformed.',
'class' => 'InvalidInputException',
),
),
),
'CreateHostedZone' => array(
'httpMethod' => 'POST',
'uri' => '/2012-12-12/hostedzone',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'CreateHostedZoneResponse',
'responseType' => 'model',
'data' => array(
'xmlRoot' => array(
'name' => 'CreateHostedZoneRequest',
'namespaces' => array(
'https://route53.amazonaws.com/doc/2012-12-12/',
),
),
),
'parameters' => array(
'Name' => array(
'required' => true,
'type' => 'string',
'location' => 'xml',
'maxLength' => 1024,
),
'CallerReference' => array(
'required' => true,
'type' => 'string',
'location' => 'xml',
'minLength' => 1,
'maxLength' => 128,
),
'HostedZoneConfig' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Comment' => array(
'type' => 'string',
'maxLength' => 256,
),
),
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'reason' => 'This error indicates that the specified domain name is not valid.',
'class' => 'InvalidDomainNameException',
),
array(
'reason' => 'The hosted zone you are trying to create already exists. Route 53 returns this error when a hosted zone has already been created with the specified CallerReference.',
'class' => 'HostedZoneAlreadyExistsException',
),
array(
'reason' => 'This error indicates that you\'ve reached the maximum number of hosted zones that can be created for the current AWS account. You can request an increase to the limit on the Contact Us page.',
'class' => 'TooManyHostedZonesException',
),
array(
'reason' => 'Some value specified in the request is invalid or the XML document is malformed.',
'class' => 'InvalidInputException',
),
array(
'reason' => 'Route 53 allows some duplicate domain names, but there is a maximum number of duplicate names. This error indicates that you have reached that maximum. If you want to create another hosted zone with the same name and Route 53 generates this error, you can request an increase to the limit on the Contact Us page.',
'class' => 'DelegationSetNotAvailableException',
),
),
),
'DeleteHealthCheck' => array(
'httpMethod' => 'DELETE',
'uri' => '/2012-12-12/healthcheck/{HealthCheckId}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'DeleteHealthCheckResponse',
'responseType' => 'model',
'parameters' => array(
'HealthCheckId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
'maxLength' => 64,
),
),
'errorResponses' => array(
array(
'reason' => 'The health check you are trying to get or delete does not exist.',
'class' => 'NoSuchHealthCheckException',
),
array(
'reason' => 'There are resource records associated with this health check. Before you can delete the health check, you must disassociate it from the resource record sets.',
'class' => 'HealthCheckInUseException',
),
array(
'reason' => 'Some value specified in the request is invalid or the XML document is malformed.',
'class' => 'InvalidInputException',
),
),
),
'DeleteHostedZone' => array(
'httpMethod' => 'DELETE',
'uri' => '/2012-12-12/hostedzone/{Id}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'DeleteHostedZoneResponse',
'responseType' => 'model',
'parameters' => array(
'Id' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
'maxLength' => 32,
'filters' => array(
'Aws\\Route53\\Route53Client::cleanId',
),
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'class' => 'NoSuchHostedZoneException',
),
array(
'reason' => 'The hosted zone contains resource record sets in addition to the default NS and SOA resource record sets. Before you can delete the hosted zone, you must delete the additional resource record sets.',
'class' => 'HostedZoneNotEmptyException',
),
array(
'reason' => 'The request was rejected because Route 53 was still processing a prior request.',
'class' => 'PriorRequestNotCompleteException',
),
array(
'reason' => 'Some value specified in the request is invalid or the XML document is malformed.',
'class' => 'InvalidInputException',
),
),
),
'GetChange' => array(
'httpMethod' => 'GET',
'uri' => '/2012-12-12/change/{Id}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'GetChangeResponse',
'responseType' => 'model',
'parameters' => array(
'Id' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
'maxLength' => 32,
'filters' => array(
'Aws\\Route53\\Route53Client::cleanId',
),
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'class' => 'NoSuchChangeException',
),
array(
'reason' => 'Some value specified in the request is invalid or the XML document is malformed.',
'class' => 'InvalidInputException',
),
),
),
'GetHealthCheck' => array(
'httpMethod' => 'GET',
'uri' => '/2012-12-12/healthcheck/{HealthCheckId}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'GetHealthCheckResponse',
'responseType' => 'model',
'parameters' => array(
'HealthCheckId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
'maxLength' => 64,
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'reason' => 'The health check you are trying to get or delete does not exist.',
'class' => 'NoSuchHealthCheckException',
),
array(
'reason' => 'Some value specified in the request is invalid or the XML document is malformed.',
'class' => 'InvalidInputException',
),
),
),
'GetHostedZone' => array(
'httpMethod' => 'GET',
'uri' => '/2012-12-12/hostedzone/{Id}',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'GetHostedZoneResponse',
'responseType' => 'model',
'parameters' => array(
'Id' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
'maxLength' => 32,
'filters' => array(
'Aws\\Route53\\Route53Client::cleanId',
),
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'class' => 'NoSuchHostedZoneException',
),
array(
'reason' => 'Some value specified in the request is invalid or the XML document is malformed.',
'class' => 'InvalidInputException',
),
),
),
'ListHealthChecks' => array(
'httpMethod' => 'GET',
'uri' => '/2012-12-12/healthcheck',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'ListHealthChecksResponse',
'responseType' => 'model',
'parameters' => array(
'Marker' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'marker',
'maxLength' => 64,
),
'MaxItems' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'maxitems',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'reason' => 'Some value specified in the request is invalid or the XML document is malformed.',
'class' => 'InvalidInputException',
),
),
),
'ListHostedZones' => array(
'httpMethod' => 'GET',
'uri' => '/2012-12-12/hostedzone',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'ListHostedZonesResponse',
'responseType' => 'model',
'parameters' => array(
'Marker' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'marker',
'maxLength' => 64,
),
'MaxItems' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'maxitems',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'reason' => 'Some value specified in the request is invalid or the XML document is malformed.',
'class' => 'InvalidInputException',
),
),
),
'ListResourceRecordSets' => array(
'httpMethod' => 'GET',
'uri' => '/2012-12-12/hostedzone/{HostedZoneId}/rrset',
'class' => 'Guzzle\\Service\\Command\\OperationCommand',
'responseClass' => 'ListResourceRecordSetsResponse',
'responseType' => 'model',
'parameters' => array(
'HostedZoneId' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
'maxLength' => 32,
'filters' => array(
'Aws\\Route53\\Route53Client::cleanId',
),
),
'StartRecordName' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'name',
'maxLength' => 1024,
),
'StartRecordType' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'type',
),
'StartRecordIdentifier' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'identifier',
'minLength' => 1,
'maxLength' => 128,
),
'MaxItems' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'maxitems',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'class' => 'NoSuchHostedZoneException',
),
array(
'reason' => 'Some value specified in the request is invalid or the XML document is malformed.',
'class' => 'InvalidInputException',
),
),
),
),
'models' => array(
'ChangeResourceRecordSetsResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ChangeInfo' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'SubmittedAt' => array(
'type' => 'string',
),
'Comment' => array(
'type' => 'string',
),
),
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'CreateHealthCheckResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'HealthCheck' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'CallerReference' => array(
'type' => 'string',
),
'HealthCheckConfig' => array(
'type' => 'object',
'properties' => array(
'IPAddress' => array(
'type' => 'string',
),
'Port' => array(
'type' => 'numeric',
),
'Type' => array(
'type' => 'string',
),
'ResourcePath' => array(
'type' => 'string',
),
'FullyQualifiedDomainName' => array(
'type' => 'string',
),
),
),
),
),
'Location' => array(
'type' => 'string',
'location' => 'header',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'CreateHostedZoneResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'HostedZone' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'CallerReference' => array(
'type' => 'string',
),
'Config' => array(
'type' => 'object',
'properties' => array(
'Comment' => array(
'type' => 'string',
),
),
),
'ResourceRecordSetCount' => array(
'type' => 'numeric',
),
),
),
'ChangeInfo' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'SubmittedAt' => array(
'type' => 'string',
),
'Comment' => array(
'type' => 'string',
),
),
),
'DelegationSet' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'NameServers' => array(
'type' => 'array',
'items' => array(
'name' => 'NameServer',
'type' => 'string',
'sentAs' => 'NameServer',
),
),
),
),
'Location' => array(
'type' => 'string',
'location' => 'header',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'DeleteHealthCheckResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'DeleteHostedZoneResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ChangeInfo' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'SubmittedAt' => array(
'type' => 'string',
),
'Comment' => array(
'type' => 'string',
),
),
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetChangeResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ChangeInfo' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'SubmittedAt' => array(
'type' => 'string',
),
'Comment' => array(
'type' => 'string',
),
),
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetHealthCheckResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'HealthCheck' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'CallerReference' => array(
'type' => 'string',
),
'HealthCheckConfig' => array(
'type' => 'object',
'properties' => array(
'IPAddress' => array(
'type' => 'string',
),
'Port' => array(
'type' => 'numeric',
),
'Type' => array(
'type' => 'string',
),
'ResourcePath' => array(
'type' => 'string',
),
'FullyQualifiedDomainName' => array(
'type' => 'string',
),
),
),
),
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetHostedZoneResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'HostedZone' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'CallerReference' => array(
'type' => 'string',
),
'Config' => array(
'type' => 'object',
'properties' => array(
'Comment' => array(
'type' => 'string',
),
),
),
'ResourceRecordSetCount' => array(
'type' => 'numeric',
),
),
),
'DelegationSet' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'NameServers' => array(
'type' => 'array',
'items' => array(
'name' => 'NameServer',
'type' => 'string',
'sentAs' => 'NameServer',
),
),
),
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'ListHealthChecksResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'HealthChecks' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'HealthCheck',
'type' => 'object',
'sentAs' => 'HealthCheck',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'CallerReference' => array(
'type' => 'string',
),
'HealthCheckConfig' => array(
'type' => 'object',
'properties' => array(
'IPAddress' => array(
'type' => 'string',
),
'Port' => array(
'type' => 'numeric',
),
'Type' => array(
'type' => 'string',
),
'ResourcePath' => array(
'type' => 'string',
),
'FullyQualifiedDomainName' => array(
'type' => 'string',
),
),
),
),
),
),
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
'NextMarker' => array(
'type' => 'string',
'location' => 'xml',
),
'MaxItems' => array(
'type' => 'string',
'location' => 'xml',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'ListHostedZonesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'HostedZones' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'HostedZone',
'type' => 'object',
'sentAs' => 'HostedZone',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
'CallerReference' => array(
'type' => 'string',
),
'Config' => array(
'type' => 'object',
'properties' => array(
'Comment' => array(
'type' => 'string',
),
),
),
'ResourceRecordSetCount' => array(
'type' => 'numeric',
),
),
),
),
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
'NextMarker' => array(
'type' => 'string',
'location' => 'xml',
),
'MaxItems' => array(
'type' => 'string',
'location' => 'xml',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'ListResourceRecordSetsResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ResourceRecordSets' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'ResourceRecordSet',
'type' => 'object',
'sentAs' => 'ResourceRecordSet',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Type' => array(
'type' => 'string',
),
'SetIdentifier' => array(
'type' => 'string',
),
'Weight' => array(
'type' => 'numeric',
),
'Region' => array(
'type' => 'string',
),
'Failover' => array(
'type' => 'string',
),
'TTL' => array(
'type' => 'numeric',
),
'ResourceRecords' => array(
'type' => 'array',
'items' => array(
'name' => 'ResourceRecord',
'type' => 'object',
'sentAs' => 'ResourceRecord',
'properties' => array(
'Value' => array(
'type' => 'string',
),
),
),
),
'AliasTarget' => array(
'type' => 'object',
'properties' => array(
'HostedZoneId' => array(
'type' => 'string',
),
'DNSName' => array(
'type' => 'string',
),
'EvaluateTargetHealth' => array(
'type' => 'boolean',
),
),
),
'HealthCheckId' => array(
'type' => 'string',
),
),
),
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
'NextRecordName' => array(
'type' => 'string',
'location' => 'xml',
),
'NextRecordType' => array(
'type' => 'string',
'location' => 'xml',
),
'NextRecordIdentifier' => array(
'type' => 'string',
'location' => 'xml',
),
'MaxItems' => array(
'type' => 'string',
'location' => 'xml',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
),
'iterators' => array(
'operations' => array(
'ListHealthChecks' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'more_key' => 'IsTruncated',
'limit_key' => 'MaxItems',
'result_key' => 'HealthChecks',
),
'ListHostedZones' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'more_key' => 'IsTruncated',
'limit_key' => 'MaxItems',
'result_key' => 'HostedZones',
),
'ListResourceRecordSets' => array(
'more_key' => 'IsTruncated',
'limit_key' => 'MaxItems',
'result_key' => 'ResourceRecordSets',
'token_param' => array(
'StartRecordName',
'StartRecordType',
'StartRecordIdentifier',
),
'token_key' => array(
'NextRecordName',
'NextRecordType',
'NextRecordIdentifier',
),
),
),
),
);
sdk-2.5.2/Aws/S3/AcpListener.php 0000644 115327001610067500000004762 12272324173 013361 0 ustar array('onCommandBeforePrepare', -255));
}
/**
* An event handler for constructing ACP definitions.
*
* @param Event $event The event to respond to.
*
* @throws InvalidArgumentException
*/
public function onCommandBeforePrepare(Event $event)
{
/** @var $command \Guzzle\Service\Command\AbstractCommand */
$command = $event['command'];
$operation = $command->getOperation();
if ($operation->hasParam('ACP') && $command->hasKey('ACP')) {
if ($acp = $command->get('ACP')) {
// Ensure that the correct object was passed
if (!($acp instanceof Acp)) {
throw new InvalidArgumentException('ACP must be an instance of Aws\S3\Model\Acp');
}
// Check if the user specified both an ACP and Grants
if ($command->hasKey('Grants')) {
throw new InvalidArgumentException(
'Use either the ACP parameter or the Grants parameter. Do not use both.'
);
}
// Add the correct headers/body based parameters to the command
if ($operation->hasParam('Grants')) {
$command->overwriteWith($acp->toArray());
} else {
$acp->updateCommand($command);
}
}
// Remove the ACP parameter
$command->remove('ACP');
}
}
}
sdk-2.5.2/Aws/S3/BucketStyleListener.php 0000644 115327001610067500000005752 12272324173 015114 0 ustar array('onCommandAfterPrepare', -255));
}
/**
* Changes how buckets are referenced in the HTTP request
*
* @param Event $event Event emitted
*/
public function onCommandAfterPrepare(Event $event)
{
$command = $event['command'];
$bucket = $command['Bucket'];
$request = $command->getRequest();
$pathStyle = false;
if ($key = $command['Key']) {
// Modify the command Key to account for the {/Key*} explosion into an array
if (is_array($key)) {
$command['Key'] = $key = implode('/', $key);
}
}
// Set the key and bucket on the request
$request->getParams()->set('bucket', $bucket)->set('key', $key);
// Switch to virtual if PathStyle is disabled, or not a DNS compatible bucket name, or the scheme is
// http, or the scheme is https and there are no dots in the host header (avoids SSL issues)
if (!$command['PathStyle'] && $command->getClient()->isValidBucketName($bucket)
&& !($command->getRequest()->getScheme() == 'https' && strpos($bucket, '.'))
) {
// Switch to virtual hosted bucket
$request->setHost($bucket . '.' . $request->getHost());
$request->setPath(preg_replace("#^/{$bucket}#", '', $request->getPath()));
} else {
$pathStyle = true;
}
if (!$bucket) {
$request->getParams()->set('s3.resource', '/');
} elseif ($pathStyle) {
// Path style does not need a trailing slash
$request->getParams()->set(
's3.resource',
'/' . rawurlencode($bucket) . ($key ? ('/' . S3Client::encodeKey($key)) : '')
);
} else {
// Bucket style needs a trailing slash
$request->getParams()->set(
's3.resource',
'/' . rawurlencode($bucket) . ($key ? ('/' . S3Client::encodeKey($key)) : '/')
);
}
}
}
sdk-2.5.2/Aws/S3/ResumableDownload.php 0000644 115327001610067500000014153 12272324173 014552 0 ustar params = $params;
$this->client = $client;
$this->params['Bucket'] = $bucket;
$this->params['Key'] = $key;
// If a string is passed, then assume that the download should stream to a file on disk
if (is_string($target)) {
if (!($target = fopen($target, 'a+'))) {
throw new RuntimeException("Unable to open {$target} for writing");
}
// Always append to the file
fseek($target, 0, SEEK_END);
}
// Get the metadata and Content-MD5 of the object
$this->target = EntityBody::factory($target);
}
/**
* Get the bucket of the download
*
* @return string
*/
public function getBucket()
{
return $this->params['Bucket'];
}
/**
* Get the key of the download
*
* @return string
*/
public function getKey()
{
return $this->params['Key'];
}
/**
* Get the file to which the contents are downloaded
*
* @return string
*/
public function getFilename()
{
return $this->target->getUri();
}
/**
* Download the remainder of the object from Amazon S3
*
* Performs a message integrity check if possible
*
* @return Model
*/
public function __invoke()
{
$command = $this->client->getCommand('HeadObject', $this->params);
$this->meta = $command->execute();
if ($this->target->ftell() >= $this->meta['ContentLength']) {
return false;
}
$this->meta['ContentMD5'] = (string) $command->getResponse()->getHeader('Content-MD5');
// Use a ReadLimitEntityBody so that rewinding the stream after an error does not cause the file pointer
// to enter an inconsistent state with the data being downloaded
$this->params['SaveAs'] = new ReadLimitEntityBody(
$this->target,
$this->meta['ContentLength'],
$this->target->ftell()
);
$result = $this->getRemaining();
$this->checkIntegrity();
return $result;
}
/**
* Send the command to get the remainder of the object
*
* @return Model
*/
protected function getRemaining()
{
$current = $this->target->ftell();
$targetByte = $this->meta['ContentLength'] - 1;
$this->params['Range'] = "bytes={$current}-{$targetByte}";
// Set the starting offset so that the body is never seeked to before this point in the event of a retry
$this->params['SaveAs']->setOffset($current);
$command = $this->client->getCommand('GetObject', $this->params);
return $command->execute();
}
/**
* Performs an MD5 message integrity check if possible
*
* @throws UnexpectedValueException if the message does not validate
*/
protected function checkIntegrity()
{
if ($this->target->isReadable() && $expected = $this->meta['ContentMD5']) {
$actual = $this->target->getContentMd5();
if ($actual != $expected) {
throw new UnexpectedValueException(
"Message integrity check failed. Expected {$expected} but got {$actual}."
);
}
}
}
}
sdk-2.5.2/Aws/S3/S3Client.php 0000644 115327001610067500000073561 12272324173 012577 0 ustar 'ListBuckets',
'GetBucket' => 'ListObjects',
'PutBucket' => 'CreateBucket',
// SDK 1.x Aliases
'GetBucketHeaders' => 'HeadBucket',
'GetObjectHeaders' => 'HeadObject',
'SetBucketAcl' => 'PutBucketAcl',
'CreateObject' => 'PutObject',
'DeleteObjects' => 'DeleteMultipleObjects',
'PutObjectCopy' => 'CopyObject',
'SetObjectAcl' => 'PutObjectAcl',
'GetLogs' => 'GetBucketLogging',
'GetVersioningStatus' => 'GetBucketVersioning',
'SetBucketPolicy' => 'PutBucketPolicy',
'CreateBucketNotification' => 'PutBucketNotification',
'GetBucketNotifications' => 'GetBucketNotification',
'CopyPart' => 'UploadPartCopy',
'CreateWebsiteConfig' => 'PutBucketWebsite',
'GetWebsiteConfig' => 'GetBucketWebsite',
'DeleteWebsiteConfig' => 'DeleteBucketWebsite',
'CreateObjectExpirationConfig' => 'PutBucketLifecycle',
'GetObjectExpirationConfig' => 'GetBucketLifecycle',
'DeleteObjectExpirationConfig' => 'DeleteBucketLifecycle',
);
/**
* @inheritdoc
*/
protected $directory = __DIR__;
/**
* Factory method to create a new Amazon S3 client using an array of configuration options.
*
* @param array|Collection $config Client configuration data
*
* @return self
* @see \Aws\Common\Client\DefaultClient for a list of available configuration options
*/
public static function factory($config = array())
{
$exceptionParser = new S3ExceptionParser();
// Configure the custom exponential backoff plugin for retrying S3 specific errors
if (!isset($config[Options::BACKOFF])) {
$config[Options::BACKOFF] = self::createBackoffPlugin($exceptionParser);
}
$config[Options::SIGNATURE] = $signature = self::createSignature($config);
$client = ClientBuilder::factory(__NAMESPACE__)
->setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/s3-%s.php'
))
->setExceptionParser($exceptionParser)
->setIteratorsConfig(array(
'more_key' => 'IsTruncated',
'operations' => array(
'ListBuckets',
'ListMultipartUploads' => array(
'limit_param' => 'MaxUploads',
'token_param' => array('KeyMarker', 'UploadIdMarker'),
'token_key' => array('NextKeyMarker', 'NextUploadIdMarker'),
),
'ListObjects' => array(
'limit_param' => 'MaxKeys',
'token_param' => 'Marker',
'token_key' => 'NextMarker',
),
'ListObjectVersions' => array(
'limit_param' => 'MaxKeys',
'token_param' => array('KeyMarker', 'VersionIdMarker'),
'token_key' => array('nextKeyMarker', 'nextVersionIdMarker'),
),
'ListParts' => array(
'limit_param' => 'MaxParts',
'result_key' => 'Parts',
'token_param' => 'PartNumberMarker',
'token_key' => 'NextPartNumberMarker',
),
)
))
->build();
// Use virtual hosted buckets when possible
$client->addSubscriber(new BucketStyleListener());
// Ensure that ACP headers are applied when needed
$client->addSubscriber(new AcpListener());
// Validate and add required Content-MD5 hashes (e.g. DeleteObjects)
$client->addSubscriber(new S3Md5Listener($signature));
// Allow for specifying bodies with file paths and file handles
$client->addSubscriber(new UploadBodyListener(array('PutObject', 'UploadPart')));
// Add aliases for some S3 operations
$default = CompositeFactory::getDefaultChain($client);
$default->add(
new AliasFactory($client, self::$commandAliases),
'Guzzle\Service\Command\Factory\ServiceDescriptionFactory'
);
$client->setCommandFactory($default);
return $client;
}
/**
* Create an Amazon S3 specific backoff plugin
*
* @param S3ExceptionParser $exceptionParser
*
* @return BackoffPlugin
*/
private static function createBackoffPlugin(S3ExceptionParser $exceptionParser)
{
return new BackoffPlugin(
new TruncatedBackoffStrategy(3,
new HttpBackoffStrategy(null,
new SocketTimeoutChecker(
new CurlBackoffStrategy(null,
new ExpiredCredentialsChecker($exceptionParser,
new ExponentialBackoffStrategy()
)
)
)
)
)
);
}
/**
* Create an appropriate signature based on the configuration settings
*
* @param $config
*
* @return S3Signature
* @throws InvalidArgumentException
*/
private static function createSignature($config)
{
$currentValue = isset($config[Options::SIGNATURE]) ? $config[Options::SIGNATURE] : null;
// Use the Amazon S3 signature V4 when the value is set to "v4" or when
// the value is not set and the region starts with "cn-".
if ($currentValue == 'v4' ||
(!$currentValue && isset($config['region']) && substr($config['region'], 0, 3) == 'cn-')
) {
// Force SignatureV4 for specific regions or if specified in the config
$currentValue = new S3SignatureV4('s3');
} elseif (!$currentValue || $currentValue == 's3') {
// Use the Amazon S3 signature by default
$currentValue = new S3Signature();
}
if ($currentValue instanceof S3SignatureInterface) {
// A region is require with v4
if ($currentValue instanceof SignatureV4 && !isset($config['region'])) {
throw new InvalidArgumentException('A region must be specified '
. 'when using signature version 4');
}
return $currentValue;
}
throw new InvalidArgumentException('The provided signature value is '
. 'not an instance of S3SignatureInterface');
}
/**
* Determine if a string is a valid name for a DNS compatible Amazon S3
* bucket, meaning the bucket can be used as a subdomain in a URL (e.g.,
* ".s3.amazonaws.com").
*
* @param string $bucket The name of the bucket to check.
*
* @return bool TRUE if the bucket name is valid or FALSE if it is invalid.
*/
public static function isValidBucketName($bucket)
{
$bucketLen = strlen($bucket);
if ($bucketLen < 3 || $bucketLen > 63 ||
// Cannot start or end with a '.'
$bucket[0] == '.' || $bucket[$bucketLen - 1] == '.' ||
// Cannot look like an IP address
preg_match('/(\d+\.){3}\d+$/', $bucket) ||
// Cannot include special characters, must start and end with lower alnum
!preg_match('/^[a-z0-9][a-z0-9\-\.]*[a-z0-9]?$/', $bucket)
) {
return false;
}
return true;
}
/**
* Create a pre-signed URL for a request
*
* @param RequestInterface $request Request to generate the URL for. Use the factory methods of the client to
* create this request object
* @param int|string|\DateTime $expires The time at which the URL should expire. This can be a Unix timestamp, a
* PHP DateTime object, or a string that can be evaluated by strtotime
*
* @return string
* @throws InvalidArgumentException if the request is not associated with this client object
*/
public function createPresignedUrl(RequestInterface $request, $expires)
{
if ($request->getClient() !== $this) {
throw new InvalidArgumentException('The request object must be associated with the client. Use the '
. '$client->get(), $client->head(), $client->post(), $client->put(), etc. methods when passing in a '
. 'request object');
}
return $this->signature->createPresignedUrl($request, $this->credentials, $expires);
}
/**
* Returns the URL to an object identified by its bucket and key. If an expiration time is provided, the URL will
* be signed and set to expire at the provided time.
*
* @param string $bucket The name of the bucket where the object is located
* @param string $key The key of the object
* @param mixed $expires The time at which the URL should expire
* @param array $args Arguments to the GetObject command. Additionally you can specify a "Scheme" if you would
* like the URL to use a different scheme than what the client is configured to use
*
* @return string The URL to the object
*/
public function getObjectUrl($bucket, $key, $expires = null, array $args = array())
{
$command = $this->getCommand('GetObject', $args + array('Bucket' => $bucket, 'Key' => $key));
if ($command->hasKey('Scheme')) {
$scheme = $command['Scheme'];
$request = $command->remove('Scheme')->prepare()->setScheme($scheme)->setPort(null);
} else {
$request = $command->prepare();
}
return $expires ? $this->createPresignedUrl($request, $expires) : $request->getUrl();
}
/**
* Helper used to clear the contents of a bucket. Use the {@see ClearBucket} object directly
* for more advanced options and control.
*
* @param string $bucket Name of the bucket to clear.
*
* @return int Returns the number of deleted keys
*/
public function clearBucket($bucket)
{
$clear = new ClearBucket($this, $bucket);
return $clear->clear();
}
/**
* Determines whether or not a bucket exists by name
*
* @param string $bucket The name of the bucket
* @param bool $accept403 Set to true if 403s are acceptable
* @param array $options Additional options to add to the executed command
*
* @return bool
*/
public function doesBucketExist($bucket, $accept403 = true, array $options = array())
{
return $this->checkExistenceWithCommand(
$this->getCommand('HeadBucket', array_merge($options, array(
'Bucket' => $bucket
))), $accept403
);
}
/**
* Determines whether or not an object exists by name
*
* @param string $bucket The name of the bucket
* @param string $key The key of the object
* @param array $options Additional options to add to the executed command
*
* @return bool
*/
public function doesObjectExist($bucket, $key, array $options = array())
{
return $this->checkExistenceWithCommand(
$this->getCommand('HeadObject', array_merge($options, array(
'Bucket' => $bucket,
'Key' => $key
)))
);
}
/**
* Determines whether or not a bucket policy exists for a bucket
*
* @param string $bucket The name of the bucket
* @param array $options Additional options to add to the executed command
*
* @return bool
*/
public function doesBucketPolicyExist($bucket, array $options = array())
{
return $this->checkExistenceWithCommand(
$this->getCommand('GetBucketPolicy', array_merge($options, array(
'Bucket' => $bucket
)))
);
}
/**
* Raw URL encode a key and allow for '/' characters
*
* @param string $key Key to encode
*
* @return string Returns the encoded key
*/
public static function encodeKey($key)
{
return str_replace('%2F', '/', rawurlencode($key));
}
/**
* Explode a prefixed key into an array of values
*
* @param string $key Key to explode
*
* @return array Returns the exploded
*/
public static function explodeKey($key)
{
// Remove a leading slash if one is found
return explode('/', $key && $key[0] == '/' ? substr($key, 1) : $key);
}
/**
* Register the Amazon S3 stream wrapper and associates it with this client object
*
* @return self
*/
public function registerStreamWrapper()
{
StreamWrapper::register($this);
return $this;
}
/**
* Upload a file, stream, or string to a bucket. If the upload size exceeds the specified threshold, the upload
* will be performed using parallel multipart uploads.
*
* @param string $bucket Bucket to upload the object
* @param string $key Key of the object
* @param mixed $body Object data to upload. Can be a Guzzle\Http\EntityBodyInterface, stream resource, or
* string of data to upload.
* @param string $acl ACL to apply to the object
* @param array $options Custom options used when executing commands:
* - params: Custom parameters to use with the upload. The parameters must map to a PutObject
* or InitiateMultipartUpload operation parameters.
* - min_part_size: Minimum size to allow for each uploaded part when performing a multipart upload.
* - concurrency: Maximum number of concurrent multipart uploads.
* - before_upload: Callback to invoke before each multipart upload. The callback will receive a
* Guzzle\Common\Event object with context.
*
* @see Aws\S3\Model\MultipartUpload\UploadBuilder for more options and customization
* @return \Guzzle\Service\Resource\Model Returns the modeled result of the performed operation
*/
public function upload($bucket, $key, $body, $acl = 'private', array $options = array())
{
$body = EntityBody::factory($body);
$options = Collection::fromConfig(array_change_key_case($options), array(
'min_part_size' => AbstractMulti::MIN_PART_SIZE,
'params' => array(),
'concurrency' => $body->getWrapper() == 'plainfile' ? 3 : 1
));
if ($body->getSize() < $options['min_part_size']) {
// Perform a simple PutObject operation
return $this->putObject(array(
'Bucket' => $bucket,
'Key' => $key,
'Body' => $body,
'ACL' => $acl
) + $options['params']);
}
// Perform a multipart upload if the file is large enough
$transfer = UploadBuilder::newInstance()
->setBucket($bucket)
->setKey($key)
->setMinPartSize($options['min_part_size'])
->setConcurrency($options['concurrency'])
->setClient($this)
->setSource($body)
->setTransferOptions($options->toArray())
->addOptions($options['params'])
->setOption('ACL', $acl)
->build()
->upload();
if ($options['before_upload']) {
$transfer->getEventDispatcher()->addListener(
AbstractTransfer::BEFORE_PART_UPLOAD,
$options['before_upload']
);
}
return $transfer;
}
/**
* Recursively uploads all files in a given directory to a given bucket.
*
* @param string $directory Full path to a directory to upload
* @param string $bucket Name of the bucket
* @param string $keyPrefix Virtual directory key prefix to add to each upload
* @param array $options Associative array of upload options
* - params: Array of parameters to use with each PutObject operation performed during the transfer
* - base_dir: Base directory to remove from each object key
* - force: Set to true to upload every file, even if the file is already in Amazon S3 and has not changed
* - concurrency: Maximum number of parallel uploads (defaults to 10)
* - debug: Set to true or an fopen resource to enable debug mode to print information about each upload
* - multipart_upload_size: When the size of a file exceeds this value, the file will be uploaded using a
* multipart upload.
*
* @see Aws\S3\S3Sync\S3Sync for more options and customization
*/
public function uploadDirectory($directory, $bucket, $keyPrefix = null, array $options = array())
{
$options = Collection::fromConfig($options, array('base_dir' => $directory));
$builder = $options['builder'] ?: UploadSyncBuilder::getInstance();
$builder->uploadFromDirectory($directory)
->setClient($this)
->setBucket($bucket)
->setKeyPrefix($keyPrefix)
->setConcurrency($options['concurrency'] ?: 5)
->setBaseDir($options['base_dir'])
->force($options['force'])
->setOperationParams($options['params'] ?: array())
->enableDebugOutput($options['debug']);
if ($options->hasKey('multipart_upload_size')) {
$builder->setMultipartUploadSize($options['multipart_upload_size']);
}
$builder->build()->transfer();
}
/**
* Downloads a bucket to the local filesystem
*
* @param string $directory Directory to download to
* @param string $bucket Bucket to download from
* @param string $keyPrefix Only download objects that use this key prefix
* @param array $options Associative array of download options
* - params: Array of parameters to use with each GetObject operation performed during the transfer
* - base_dir: Base directory to remove from each object key when storing in the local filesystem
* - force: Set to true to download every file, even if the file is already on the local filesystem and has not
* changed
* - concurrency: Maximum number of parallel downloads (defaults to 10)
* - debug: Set to true or a fopen resource to enable debug mode to print information about each download
* - allow_resumable: Set to true to allow previously interrupted downloads to be resumed using a Range GET
*/
public function downloadBucket($directory, $bucket, $keyPrefix = '', array $options = array())
{
$options = new Collection($options);
$builder = $options['builder'] ?: DownloadSyncBuilder::getInstance();
$builder->setDirectory($directory)
->setClient($this)
->setBucket($bucket)
->setKeyPrefix($keyPrefix)
->setConcurrency($options['concurrency'] ?: 10)
->setBaseDir($options['base_dir'])
->force($options['force'])
->setOperationParams($options['params'] ?: array())
->enableDebugOutput($options['debug']);
if ($options['allow_resumable']) {
$builder->allowResumableDownloads();
}
$builder->build()->transfer();
}
/**
* Deletes objects from Amazon S3 that match the result of a ListObjects operation. For example, this allows you
* to do things like delete all objects that match a specific key prefix.
*
* @param string $bucket Bucket that contains the object keys
* @param string $prefix Optionally delete only objects under this key prefix
* @param string $regex Delete only objects that match this regex
* @param array $options Options used when deleting the object:
* - before_delete: Callback to invoke before each delete. The callback will receive a
* Guzzle\Common\Event object with context.
*
* @see Aws\S3\S3Client::listObjects
* @see Aws\S3\Model\ClearBucket For more options or customization
* @return int Returns the number of deleted keys
* @throws RuntimeException if no prefix and no regex is given
*/
public function deleteMatchingObjects($bucket, $prefix = '', $regex = '', array $options = array())
{
if (!$prefix && !$regex) {
throw new RuntimeException('A prefix or regex is required, or use S3Client::clearBucket().');
}
$clear = new ClearBucket($this, $bucket);
$iterator = $this->getIterator('ListObjects', array('Bucket' => $bucket, 'Prefix' => $prefix));
if ($regex) {
$iterator = new FilterIterator($iterator, function ($current) use ($regex) {
return preg_match($regex, $current['Key']);
});
}
$clear->setIterator($iterator);
if (isset($options['before_delete'])) {
$clear->getEventDispatcher()->addListener(ClearBucket::BEFORE_CLEAR, $options['before_delete']);
}
return $clear->clear();
}
/**
* Determines whether or not a resource exists using a command
*
* @param CommandInterface $command Command used to poll for the resource
* @param bool $accept403 Set to true if 403s are acceptable
*
* @return bool
* @throws S3Exception|\Exception if there is an unhandled exception
*/
protected function checkExistenceWithCommand(CommandInterface $command, $accept403 = false)
{
try {
$command->execute();
$exists = true;
} catch (AccessDeniedException $e) {
$exists = (bool) $accept403;
} catch (S3Exception $e) {
$exists = false;
if ($e->getResponse()->getStatusCode() >= 500) {
// @codeCoverageIgnoreStart
throw $e;
// @codeCoverageIgnoreEnd
}
}
return $exists;
}
}
sdk-2.5.2/Aws/S3/S3Md5Listener.php 0000644 115327001610067500000004514 12272324173 013504 0 ustar 'onCommandAfterPrepare');
}
public function __construct(S3SignatureInterface $signature)
{
$this->signature = $signature;
}
public function onCommandAfterPrepare(Event $event)
{
$command = $event['command'];
$operation = $command->getOperation();
if ($operation->getData('contentMd5')) {
// Add the MD5 if it is required for all signers
$this->addMd5($command);
} elseif ($operation->hasParam('ContentMD5')) {
$value = $command['ContentMD5'];
// Add a computed MD5 if the parameter is set to true or if
// not using Signature V4 and the value is not set (null).
if ($value === true ||
($value === null && !($this->signature instanceof SignatureV4))
) {
$this->addMd5($command);
}
}
}
private function addMd5(CommandInterface $command)
{
$request = $command->getRequest();
if ($body = $request->getBody()) {
if (false === ($md5 = $body->getContentMd5(true, true))) {
throw new RuntimeException('Unable to add a MD5 checksum');
}
$request->setHeader('Content-MD5', $md5);
}
}
}
sdk-2.5.2/Aws/S3/S3Signature.php 0000644 115327001610067500000021473 12272324173 013315 0 ustar signableQueryString);
// Add the security token header if one is being used by the credentials
if ($token = $credentials->getSecurityToken()) {
$request->setHeader('x-amz-security-token', $token);
}
// Add a date header if one is not set
if (!$request->hasHeader('date') && !$request->hasHeader('x-amz-date')) {
$request->setHeader('Date', gmdate(\DateTime::RFC2822));
}
$stringToSign = $this->createCanonicalizedString($request);
$request->getParams()->set('aws.string_to_sign', $stringToSign);
$request->setHeader(
'Authorization',
'AWS ' . $credentials->getAccessKeyId() . ':' . $this->signString($stringToSign, $credentials)
);
}
public function createPresignedUrl(
RequestInterface $request,
CredentialsInterface $credentials,
$expires
) {
if ($expires instanceof \DateTime) {
$expires = $expires->getTimestamp();
} elseif (!is_numeric($expires)) {
$expires = strtotime($expires);
}
// Operate on a clone of the request, so the original is not altered
$request = clone $request;
// URL encoding already occurs in the URI template expansion. Undo that and encode using the same encoding as
// GET object, PUT object, etc.
$path = S3Client::encodeKey(rawurldecode($request->getPath()));
$request->setPath($path);
// Make sure to handle temporary credentials
if ($token = $credentials->getSecurityToken()) {
$request->setHeader('x-amz-security-token', $token);
$request->getQuery()->set('x-amz-security-token', $token);
}
// Set query params required for pre-signed URLs
$request->getQuery()
->set('AWSAccessKeyId', $credentials->getAccessKeyId())
->set('Expires', $expires)
->set('Signature', $this->signString(
$this->createCanonicalizedString($request, $expires),
$credentials
));
return $request->getUrl();
}
public function signString($string, CredentialsInterface $credentials)
{
return base64_encode(hash_hmac('sha1', $string, $credentials->getSecretKey(), true));
}
public function createCanonicalizedString(RequestInterface $request, $expires = null)
{
$buffer = $request->getMethod() . "\n";
// Add the interesting headers
foreach ($this->signableHeaders as $header) {
$buffer .= (string) $request->getHeader($header) . "\n";
}
// Choose dates from left to right based on what's set
$date = $expires ?: (string) $request->getHeader('date');
$buffer .= "{$date}\n"
. $this->createCanonicalizedAmzHeaders($request)
. $this->createCanonicalizedResource($request);
return $buffer;
}
/**
* Create a canonicalized AmzHeaders string for a signature.
*
* @param RequestInterface $request Request from which to gather headers
*
* @return string Returns canonicalized AMZ headers.
*/
private function createCanonicalizedAmzHeaders(RequestInterface $request)
{
$headers = array();
foreach ($request->getHeaders(true) as $header) {
/** @var $header \Guzzle\Http\Message\Header */
$name = strtolower($header->getName());
if (strpos($name, 'x-amz-') === 0) {
$value = trim((string) $header);
if ($value || $value === '0') {
$headers[$name] = $name . ':' . $value;
}
}
}
if (empty($headers)) {
return '';
}
ksort($headers);
return implode("\n", $headers) . "\n";
}
/**
* Create a canonicalized resource for a request
*
* @param RequestInterface $request Request for the resource
*
* @return string
*/
private function createCanonicalizedResource(RequestInterface $request)
{
$buffer = $request->getParams()->get('s3.resource');
// When sending a raw HTTP request (e.g. $client->get())
if (null === $buffer) {
$bucket = $request->getParams()->get('bucket') ?: $this->parseBucketName($request);
// Use any specified bucket name, the parsed bucket name, or no bucket name when interacting with GetService
$buffer = $bucket ? "/{$bucket}" : '';
// Remove encoding from the path and use the S3 specific encoding
$path = S3Client::encodeKey(rawurldecode($request->getPath()));
// if the bucket was path style, then ensure that the bucket wasn't duplicated in the resource
$buffer .= preg_replace("#^/{$bucket}/{$bucket}#", "/{$bucket}", $path);
}
// Remove double slashes
$buffer = str_replace('//', '/', $buffer);
// Add sub resource parameters
$query = $request->getQuery();
$first = true;
foreach ($this->signableQueryString as $key) {
if ($query->hasKey($key)) {
$value = $query[$key];
$buffer .= $first ? '?' : '&';
$first = false;
$buffer .= $key;
// Don't add values for sub-resources
if ($value !== '' && $value !== QueryString::BLANK) {
$buffer .= "={$value}";
}
}
}
return $buffer;
}
/**
* Parse the bucket name from a request object
*
* @param RequestInterface $request Request to parse
*
* @return string
*/
private function parseBucketName(RequestInterface $request)
{
$baseUrl = Url::factory($request->getClient()->getBaseUrl());
$baseHost = $baseUrl->getHost();
$host = $request->getHost();
if (strpos($host, $baseHost) === false) {
// Does not contain the base URL, so it's either a redirect, CNAME, or using a different region
$baseHost = '';
// For every known S3 host, check if that host is present on the request
$regions = $request->getClient()->getDescription()->getData('regions');
foreach ($regions as $region) {
if (strpos($host, $region['hostname']) !== false) {
// This host matches the request host. Tells use the region and endpoint-- we can derive the bucket
$baseHost = $region['hostname'];
break;
}
}
// If no matching base URL was found, then assume that this is a CNAME, and the CNAME is the bucket
if (!$baseHost) {
return $host;
}
}
// Remove the baseURL from the host of the request to attempt to determine the bucket name
return trim(str_replace($baseHost, '', $request->getHost()), ' .');
}
}
sdk-2.5.2/Aws/S3/S3SignatureInterface.php 0000644 115327001610067500000002747 12272324173 015141 0 ustar getBody()) {
$request->setHeader('X-Amz-Content-Sha256', EntityBody::getHash($request->getBody(), 'sha256'));
} else {
$request->setHeader('X-Amz-Content-Sha256', hash('sha256', ''));
}
parent::signRequest($request, $credentials);
}
public function createPresignedUrl(
RequestInterface $request,
CredentialsInterface $credentials,
$expires
) {
$request = clone $request;
// Make sure to handle temporary credentials
if ($token = $credentials->getSecurityToken()) {
$request->setHeader('X-Amz-Security-Token', $token);
$request->getQuery()->set('X-Amz-Security-Token', $token);
}
$this->moveHeadersToQuery($request);
$httpDate = $request->getQuery()->get('X-Amz-Date');
$scopeDate = substr($httpDate, 0, 8);
$scope = "{$scopeDate}/{$this->regionName}/s3/aws4_request";
$credential = $credentials->getAccessKeyId() . '/' . $scope;
$this->addQueryStringValues($request, $credential, $this->convertExpires($expires));
$context = $this->createSigningContext($request, 'UNSIGNED-PAYLOAD');
$signingKey = $this->getSigningKey(
$scopeDate,
$this->regionName,
$this->serviceName,
$credentials->getSecretKey()
);
$stringToSign = "AWS4-HMAC-SHA256\n{$httpDate}\n{$scope}\n" . hash('sha256', $context['canonical_request']);
$request->getQuery()->set(
'X-Amz-Signature',
hash_hmac('sha256', $stringToSign, $signingKey)
);
return $request->getUrl();
}
/**
* Overrides the parent class to prevent the removal of dot-segments
*/
protected function normalizePath(RequestInterface $request)
{
return '/' . ltrim($request->getPath(), '/');
}
private function convertExpires($expires)
{
if ($expires instanceof \DateTime) {
$expires = $expires->getTimestamp();
} elseif (!is_numeric($expires)) {
$expires = strtotime($expires);
}
$duration = $expires - time();
// Ensure that the duration of the signature is not longer than a week
if ($duration > 604800) {
throw new InvalidArgumentException('The expiration date of an '
. 'Amazon S3 presigned URL using signature version 4 must be '
. 'less than one week.');
}
return $duration;
}
private function moveHeadersToQuery(RequestInterface $request)
{
$query = array('X-Amz-Date' => gmdate('Ymd\THis\Z', $this->getTimestamp()));
foreach ($request->getHeaders() as $name => $header) {
if (substr($name, 0, 5) == 'x-amz') {
$query[$header->getName()] = (string) $header;
}
if ($name != 'host') {
$request->removeHeader($name);
}
}
$request->getQuery()->overwriteWith($query);
}
private function addQueryStringValues(
RequestInterface $request,
$credential,
$expires
) {
// Set query params required for pre-signed URLs
$request->getQuery()
->set('X-Amz-Algorithm', 'AWS4-HMAC-SHA256')
->set('X-Amz-Credential', $credential)
->set('X-Amz-SignedHeaders', 'Host')
->set('X-Amz-Expires', $expires);
}
}
sdk-2.5.2/Aws/S3/SocketTimeoutChecker.php 0000644 115327001610067500000005551 12272324173 015231 0 ustar setNext($next);
}
}
/**
* {@inheridoc}
*/
public function makesDecision()
{
return true;
}
/**
* {@inheritdoc}
*/
protected function getDelay(
$retries,
RequestInterface $request,
Response $response = null,
HttpException $e = null
) {
if ($response
&& $response->getStatusCode() == 400
&& strpos($response->getBody(), self::ERR)
) {
// Check if the request is sending a local file, and if so, clear the stat cache and recalculate the size.
if ($request instanceof EntityEnclosingRequestInterface) {
if ($request->getBody()->getWrapper() == 'plainfile') {
$filename = $request->getBody()->getUri();
// Clear the cache so that we send accurate file sizes
clearstatcache(true, $filename);
$length = filesize($filename);
$request->getBody()->setSize($length);
$request->setHeader('Content-Length', $length);
}
}
return true;
}
}
}
sdk-2.5.2/Aws/S3/StreamWrapper.php 0000644 115327001610067500000060653 12272324173 013745 0 ustar /" files with PHP streams, supporting "r", "w", "a", "x".
*
* # Supported stream related PHP functions:
* - fopen, fclose, fread, fwrite, fseek, ftell, feof, fflush
* - opendir, closedir, readdir, rewinddir
* - copy, rename, unlink
* - mkdir, rmdir, rmdir (recursive)
* - file_get_contents, file_put_contents
* - file_exists, filesize, is_file, is_dir
*
* # Opening "r" (read only) streams:
*
* Read only streams are truly streaming by default and will not allow you to seek. This is because data
* read from the stream is not kept in memory or on the local filesystem. You can force a "r" stream to be seekable
* by setting the "seekable" stream context option true. This will allow true streaming of data from Amazon S3, but
* will maintain a buffer of previously read bytes in a 'php://temp' stream to allow seeking to previously read bytes
* from the stream.
*
* You may pass any GetObject parameters as 's3' stream context options. These options will affect how the data is
* downloaded from Amazon S3.
*
* # Opening "w" and "x" (write only) streams:
*
* Because Amazon S3 requires a Content-Length header, write only streams will maintain a 'php://temp' stream to buffer
* data written to the stream until the stream is flushed (usually by closing the stream with fclose).
*
* You may pass any PutObject parameters as 's3' stream context options. These options will affect how the data is
* uploaded to Amazon S3.
*
* When opening an "x" stream, the file must exist on Amazon S3 for the stream to open successfully.
*
* # Opening "a" (write only append) streams:
*
* Similar to "w" streams, opening append streams requires that the data be buffered in a "php://temp" stream. Append
* streams will attempt to download the contents of an object in Amazon S3, seek to the end of the object, then allow
* you to append to the contents of the object. The data will then be uploaded using a PutObject operation when the
* stream is flushed (usually with fclose).
*
* You may pass any GetObject and/or PutObject parameters as 's3' stream context options. These options will affect how
* the data is downloaded and uploaded from Amazon S3.
*
* Stream context options:
*
* - "seekable": Set to true to create a seekable "r" (read only) stream by using a php://temp stream buffer
* - "throw_exceptions": Set to true to throw exceptions instead of trigger_errors
* - For "unlink" only: Any option that can be passed to the DeleteObject operation
*/
class StreamWrapper
{
/**
* @var resource|null Stream context (this is set by PHP when a context is used)
*/
public $context;
/**
* @var S3Client Client used to send requests
*/
protected static $client;
/**
* @var string Mode the stream was opened with
*/
protected $mode;
/**
* @var EntityBody Underlying stream resource
*/
protected $body;
/**
* @var array Current parameters to use with the flush operation
*/
protected $params;
/**
* @var ListObjectsIterator Iterator used with opendir() and subsequent readdir() calls
*/
protected $objectIterator;
/**
* @var string The bucket that was opened when opendir() was called
*/
protected $openedBucket;
/**
* @var string The prefix of the bucket that was opened with opendir()
*/
protected $openedBucketPrefix;
/**
* @var array The next key to retrieve when using a directory iterator. Helps for fast directory traversal.
*/
protected static $nextStat = array();
/**
* Register the 's3://' stream wrapper
*
* @param S3Client $client Client to use with the stream wrapper
*/
public static function register(S3Client $client)
{
if (in_array('s3', stream_get_wrappers())) {
stream_wrapper_unregister('s3');
}
stream_wrapper_register('s3', __CLASS__, STREAM_IS_URL);
self::$client = $client;
}
/**
* Close the stream
*/
public function stream_close()
{
$this->body = null;
}
/**
* @param string $path
* @param string $mode
* @param int $options
* @param string $opened_path
*
* @return bool
*/
public function stream_open($path, $mode, $options, &$opened_path)
{
// We don't care about the binary flag
$this->mode = $mode = rtrim($mode, 'bt');
$this->params = $params = $this->getParams($path);
$errors = array();
if (!$params['Key']) {
$errors[] = 'Cannot open a bucket. You must specify a path in the form of s3://bucket/key';
}
if (strpos($mode, '+')) {
$errors[] = 'The Amazon S3 stream wrapper does not allow simultaneous reading and writing.';
}
if (!in_array($mode, array('r', 'w', 'a', 'x'))) {
$errors[] = "Mode not supported: {$mode}. Use one 'r', 'w', 'a', or 'x'.";
}
// When using mode "x" validate if the file exists before attempting to read
if ($mode == 'x' && self::$client->doesObjectExist($params['Bucket'], $params['Key'], $this->getOptions())) {
$errors[] = "{$path} already exists on Amazon S3";
}
if (!$errors) {
if ($mode == 'r') {
$this->openReadStream($params, $errors);
} elseif ($mode == 'a') {
$this->openAppendStream($params, $errors);
} else {
$this->openWriteStream($params, $errors);
}
}
return $errors ? $this->triggerError($errors) : true;
}
/**
* @return bool
*/
public function stream_eof()
{
return $this->body->feof();
}
/**
* @return bool
*/
public function stream_flush()
{
if ($this->mode == 'r') {
return false;
}
$this->body->rewind();
$params = $this->params;
$params['Body'] = $this->body;
// Attempt to guess the ContentType of the upload based on the
// file extension of the key
if (!isset($params['ContentType']) &&
($type = Mimetypes::getInstance()->fromFilename($params['Key']))
) {
$params['ContentType'] = $type;
}
try {
self::$client->putObject($params);
return true;
} catch (\Exception $e) {
return $this->triggerError($e->getMessage());
}
}
/**
* Read data from the underlying stream
*
* @param int $count Amount of bytes to read
*
* @return string
*/
public function stream_read($count)
{
return $this->body->read($count);
}
/**
* Seek to a specific byte in the stream
*
* @param int $offset Seek offset
* @param int $whence Whence (SEEK_SET, SEEK_CUR, SEEK_END)
*
* @return bool
*/
public function stream_seek($offset, $whence = SEEK_SET)
{
return $this->body->seek($offset, $whence);
}
/**
* Get the current position of the stream
*
* @return int Returns the current position in the stream
*/
public function stream_tell()
{
return $this->body->ftell();
}
/**
* Write data the to the stream
*
* @param string $data
*
* @return int Returns the number of bytes written to the stream
*/
public function stream_write($data)
{
return $this->body->write($data);
}
/**
* Delete a specific object
*
* @param string $path
* @return bool
*/
public function unlink($path)
{
try {
$this->clearStatInfo($path);
self::$client->deleteObject($this->getParams($path));
return true;
} catch (\Exception $e) {
return $this->triggerError($e->getMessage());
}
}
/**
* @return array
*/
public function stream_stat()
{
$stat = fstat($this->body->getStream());
// Add the size of the underlying stream if it is known
if ($this->mode == 'r' && $this->body->getSize()) {
$stat[7] = $stat['size'] = $this->body->getSize();
}
return $stat;
}
/**
* Provides information for is_dir, is_file, filesize, etc. Works on buckets, keys, and prefixes
*
* @param string $path
* @param int $flags
*
* @return array Returns an array of stat data
* @link http://www.php.net/manual/en/streamwrapper.url-stat.php
*/
public function url_stat($path, $flags)
{
// Check if this path is in the url_stat cache
if (isset(self::$nextStat[$path])) {
return self::$nextStat[$path];
}
$parts = $this->getParams($path);
if (!$parts['Key']) {
// Stat "directories": buckets, or "s3://"
if (!$parts['Bucket'] || self::$client->doesBucketExist($parts['Bucket'])) {
return $this->formatUrlStat($path);
} else {
return $this->triggerError("File or directory not found: {$path}", $flags);
}
}
try {
try {
$result = self::$client->headObject($parts)->toArray();
if (substr($parts['Key'], -1, 1) == '/' && $result['ContentLength'] == 0) {
// Return as if it is a bucket to account for console bucket objects (e.g., zero-byte object "foo/")
return $this->formatUrlStat($path);
} else {
// Attempt to stat and cache regular object
return $this->formatUrlStat($result);
}
} catch (NoSuchKeyException $e) {
// Maybe this isn't an actual key, but a prefix. Do a prefix listing of objects to determine.
$result = self::$client->listObjects(array(
'Bucket' => $parts['Bucket'],
'Prefix' => rtrim($parts['Key'], '/') . '/',
'MaxKeys' => 1
));
if (!$result['Contents'] && !$result['CommonPrefixes']) {
return $this->triggerError("File or directory not found: {$path}", $flags);
}
// This is a directory prefix
return $this->formatUrlStat($path);
}
} catch (\Exception $e) {
return $this->triggerError($e->getMessage(), $flags);
}
}
/**
* Support for mkdir().
*
* @param string $path Directory which should be created.
* @param int $mode Permissions. 700-range permissions map to ACL_PUBLIC. 600-range permissions map to
* ACL_AUTH_READ. All other permissions map to ACL_PRIVATE. Expects octal form.
* @param int $options A bitwise mask of values, such as STREAM_MKDIR_RECURSIVE. (unused)
*
* @return bool
* @link http://www.php.net/manual/en/streamwrapper.mkdir.php
*/
public function mkdir($path, $mode, $options)
{
$params = $this->getParams($path);
$this->clearStatInfo($path);
if (!$params['Bucket'] || $params['Key']) {
return false;
}
try {
if (!isset($params['ACL'])) {
$mode = decoct($mode);
if ($mode >= 700 and $mode <= 799) {
$params['ACL'] = 'public-read';
} elseif ($mode >= 600 && $mode <= 699) {
$params['ACL'] = 'authenticated-read';
} else {
$params['ACL'] = 'private';
}
}
self::$client->createBucket($params);
return true;
} catch (\Exception $e) {
return $this->triggerError($e->getMessage());
}
}
/**
* Remove a bucket from Amazon S3
*
* @param string $path the directory path
*
* @return bool true if directory was successfully removed
* @link http://www.php.net/manual/en/streamwrapper.rmdir.php
*/
public function rmdir($path)
{
$params = $this->getParams($path);
if (!$params['Bucket']) {
return $this->triggerError('You cannot delete s3://. Please specify a bucket.');
} elseif ($params['Key']) {
return $this->triggerError('rmdir() only supports bucket deletion');
}
try {
self::$client->deleteBucket(array('Bucket' => $params['Bucket']));
$this->clearStatInfo($path);
return true;
} catch (\Exception $e) {
return $this->triggerError($e->getMessage());
}
}
/**
* Support for opendir().
*
* @param string $path The path to the directory (e.g. "s3://dir[]")
* @param string $options Whether or not to enforce safe_mode (0x04). Unused.
*
* @return bool true on success
* @see http://www.php.net/manual/en/function.opendir.php
*/
public function dir_opendir($path, $options)
{
// Reset the cache
$this->clearStatInfo();
$params = $this->getParams($path);
$delimiter = $this->getOption('delimiter');
if ($delimiter === null) {
$delimiter = '/';
}
if ($params['Key']) {
$params['Key'] = rtrim($params['Key'], $delimiter) . $delimiter;
}
$this->openedBucket = $params['Bucket'];
$this->openedBucketPrefix = $params['Key'];
$operationParams = array('Bucket' => $params['Bucket'], 'Prefix' => $params['Key']);
if ($delimiter) {
$operationParams['Delimiter'] = $delimiter;
}
$this->objectIterator = self::$client->getIterator('ListObjects', $operationParams, array(
'return_prefixes' => true,
'sort_results' => true
));
$this->objectIterator->next();
return true;
}
/**
* Close the directory listing handles
*
* @return bool true on success
*/
public function dir_closedir()
{
$this->objectIterator = null;
return true;
}
/**
* This method is called in response to rewinddir()
*
* @return boolean true on success
*/
public function dir_rewinddir()
{
$this->clearStatInfo();
$this->objectIterator->rewind();
return true;
}
/**
* This method is called in response to readdir()
*
* @return string Should return a string representing the next filename, or false if there is no next file.
*
* @link http://www.php.net/manual/en/function.readdir.php
*/
public function dir_readdir()
{
$result = false;
if ($this->objectIterator->valid()) {
$current = $this->objectIterator->current();
if (isset($current['Prefix'])) {
// Include "directories". Be sure to strip a trailing "/" on prefixes.
$prefix = rtrim($current['Prefix'], '/');
$result = str_replace($this->openedBucketPrefix, '', $prefix);
$key = "s3://{$this->openedBucket}/{$prefix}";
$stat = $this->formatUrlStat($prefix);
} else {
// Remove the prefix from the result to emulate other stream wrappers
$result = str_replace($this->openedBucketPrefix, '', $current['Key']);
$key = "s3://{$this->openedBucket}/{$current['Key']}";
$stat = $this->formatUrlStat($current);
}
// Cache the object data for quick url_stat lookups used with RecursiveDirectoryIterator
self::$nextStat = array($key => $stat);
$this->objectIterator->next();
}
return $result;
}
/**
* Called in response to rename() to rename a file or directory. Currently only supports renaming objects.
*
* @param string $path_from the path to the file to rename
* @param string $path_to the new path to the file
*
* @return bool true if file was successfully renamed
* @link http://www.php.net/manual/en/function.rename.php
*/
public function rename($path_from, $path_to)
{
$partsFrom = $this->getParams($path_from);
$partsTo = $this->getParams($path_to);
$this->clearStatInfo($path_from);
$this->clearStatInfo($path_to);
if (!$partsFrom['Key'] || !$partsTo['Key']) {
return $this->triggerError('The Amazon S3 stream wrapper only supports copying objects');
}
try {
// Copy the object and allow overriding default parameters if desired, but by default copy metadata
self::$client->copyObject($this->getOptions() + array(
'Bucket' => $partsTo['Bucket'],
'Key' => $partsTo['Key'],
'CopySource' => '/' . $partsFrom['Bucket'] . '/' . rawurlencode($partsFrom['Key']),
'MetadataDirective' => 'COPY'
));
// Delete the original object
self::$client->deleteObject(array(
'Bucket' => $partsFrom['Bucket'],
'Key' => $partsFrom['Key']
) + $this->getOptions());
} catch (\Exception $e) {
return $this->triggerError($e->getMessage());
}
return true;
}
/**
* Cast the stream to return the underlying file resource
*
* @param int $cast_as STREAM_CAST_FOR_SELECT or STREAM_CAST_AS_STREAM
*
* @return resource
*/
public function stream_cast($cast_as)
{
return $this->body->getStream();
}
/**
* Get the stream context options available to the current stream
*
* @return array
*/
protected function getOptions()
{
$context = $this->context ?: stream_context_get_default();
$options = stream_context_get_options($context);
return isset($options['s3']) ? $options['s3'] : array();
}
/**
* Get a specific stream context option
*
* @param string $name Name of the option to retrieve
*
* @return mixed|null
*/
protected function getOption($name)
{
$options = $this->getOptions();
return isset($options[$name]) ? $options[$name] : null;
}
/**
* Get the bucket and key from the passed path (e.g. s3://bucket/key)
*
* @param string $path Path passed to the stream wrapper
*
* @return array Hash of 'Bucket', 'Key', and custom params
*/
protected function getParams($path)
{
$parts = explode('/', substr($path, 5), 2);
$params = $this->getOptions();
unset($params['seekable']);
unset($params['throw_exceptions']);
return array(
'Bucket' => $parts[0],
'Key' => isset($parts[1]) ? $parts[1] : null
) + $params;
}
/**
* Serialize and sign a command, returning a request object
*
* @param CommandInterface $command Command to sign
*
* @return RequestInterface
*/
protected function getSignedRequest($command)
{
$request = $command->prepare();
$request->dispatch('request.before_send', array('request' => $request));
return $request;
}
/**
* Initialize the stream wrapper for a read only stream
*
* @param array $params Operation parameters
* @param array $errors Any encountered errors to append to
*
* @return bool
*/
protected function openReadStream(array $params, array &$errors)
{
// Create the command and serialize the request
$request = $this->getSignedRequest(self::$client->getCommand('GetObject', $params));
// Create a stream that uses the EntityBody object
$factory = $this->getOption('stream_factory') ?: new PhpStreamRequestFactory();
$this->body = $factory->fromRequest($request, array(), array('stream_class' => 'Guzzle\Http\EntityBody'));
// Wrap the body in a caching entity body if seeking is allowed
if ($this->getOption('seekable')) {
$this->body = new CachingEntityBody($this->body);
}
return true;
}
/**
* Initialize the stream wrapper for a write only stream
*
* @param array $params Operation parameters
* @param array $errors Any encountered errors to append to
*
* @return bool
*/
protected function openWriteStream(array $params, array &$errors)
{
$this->body = new EntityBody(fopen('php://temp', 'r+'));
}
/**
* Initialize the stream wrapper for an append stream
*
* @param array $params Operation parameters
* @param array $errors Any encountered errors to append to
*
* @return bool
*/
protected function openAppendStream(array $params, array &$errors)
{
try {
// Get the body of the object
$this->body = self::$client->getObject($params)->get('Body');
$this->body->seek(0, SEEK_END);
} catch (S3Exception $e) {
// The object does not exist, so use a simple write stream
$this->openWriteStream($params, $errors);
}
return true;
}
/**
* Trigger one or more errors
*
* @param string|array $errors Errors to trigger
* @param mixed $flags If set to STREAM_URL_STAT_QUIET, then no error or exception occurs
*
* @return bool Returns false
* @throws RuntimeException if throw_errors is true
*/
protected function triggerError($errors, $flags = null)
{
if ($flags != STREAM_URL_STAT_QUIET) {
if ($this->getOption('throw_exceptions')) {
throw new RuntimeException(implode("\n", (array) $errors));
} else {
trigger_error(implode("\n", (array) $errors), E_USER_WARNING);
}
}
return false;
}
/**
* Prepare a url_stat result array
*
* @param string|array $result Data to add
*
* @return array Returns the modified url_stat result
*/
protected function formatUrlStat($result = null)
{
static $statTemplate = array(
0 => 0, 'dev' => 0,
1 => 0, 'ino' => 0,
2 => 0, 'mode' => 0,
3 => 0, 'nlink' => 0,
4 => 0, 'uid' => 0,
5 => 0, 'gid' => 0,
6 => -1, 'rdev' => -1,
7 => 0, 'size' => 0,
8 => 0, 'atime' => 0,
9 => 0, 'mtime' => 0,
10 => 0, 'ctime' => 0,
11 => -1, 'blksize' => -1,
12 => -1, 'blocks' => -1,
);
$stat = $statTemplate;
// Determine what type of data is being cached
if (!$result || is_string($result)) {
// Directory with 0777 access - see "man 2 stat".
$stat['mode'] = $stat[2] = 0040777;
} elseif (is_array($result) && isset($result['LastModified'])) {
// ListObjects or HeadObject result
$stat['mtime'] = $stat[9] = $stat['ctime'] = $stat[10] = strtotime($result['LastModified']);
$stat['size'] = $stat[7] = (isset($result['ContentLength']) ? $result['ContentLength'] : $result['Size']);
// Regular file with 0777 access - see "man 2 stat".
$stat['mode'] = $stat[2] = 0100777;
} else {
$stat['mode'] = $stat[2] = 0100777;
}
return $stat;
}
/**
* Clear the next stat result from the cache
*
* @param string $path If a path is specific, clearstatcache() will be called
*/
protected function clearStatInfo($path = null)
{
self::$nextStat = array();
if ($path) {
clearstatcache(true, $path);
}
}
}
sdk-2.5.2/Aws/S3/Command/S3Command.php 0000644 115327001610067500000003732 12272324173 014306 0 ustar client->createPresignedUrl($this->prepare(), $expires);
}
/**
* {@inheritdoc}
*/
protected function process()
{
$request = $this->getRequest();
$response = $this->getResponse();
// Dispatch an error if a 301 redirect occurred
if ($response->getStatusCode() == 301) {
$this->getClient()->getEventDispatcher()->dispatch('request.error', new Event(array(
'request' => $this->getRequest(),
'response' => $response
)));
}
parent::process();
// Set the GetObject URL if using the PutObject operation
if ($this->result instanceof Model && $this->getName() == 'PutObject') {
$this->result->set('ObjectURL', $request->getUrl());
}
}
}
sdk-2.5.2/Aws/S3/Enum/CannedAcl.php 0000644 115327001610067500000001772 12272324173 013662 0 ustar errors = $errors;
}
/**
* Get the errored objects
*
* @return array Returns an array of associative arrays, each containing
* a 'Code', 'Message', and 'Key' key.
*/
public function getErrors()
{
return $this->errors;
}
}
sdk-2.5.2/Aws/S3/Exception/EntityTooLargeException.php 0000644 115327001610067500000001353 12272324173 017667 0 ustar getStatusCode() === 301) {
$data['type'] = 'client';
if (isset($data['message'], $data['parsed'])) {
$data['message'] = rtrim($data['message'], '.') . ': "' . $data['parsed']->Endpoint . '".';
}
}
return $data;
}
/**
* {@inheritdoc}
*/
protected function parseHeaders(RequestInterface $request, Response $response, array &$data)
{
parent::parseHeaders($request, $response, $data);
// Get the request
$status = $response->getStatusCode();
$method = $request->getMethod();
// Attempt to determine code for 403s and 404s
if ($status === 403) {
$data['code'] = 'AccessDenied';
} elseif ($method === 'HEAD' && $status === 404) {
$path = explode('/', trim($request->getPath(), '/'));
$host = explode('.', $request->getHost());
$bucket = (count($host) === 4) ? $host[0] : array_shift($path);
$object = array_shift($path);
if ($bucket && $object) {
$data['code'] = 'NoSuchKey';
} elseif ($bucket) {
$data['code'] = 'NoSuchBucket';
}
}
}
}
sdk-2.5.2/Aws/S3/Iterator/ListBucketsIterator.php 0000644 115327001610067500000002534 12272324173 016702 0 ustar get('Buckets') ?: array();
// If only the names_only set, change arrays to a string
if ($this->get('names_only')) {
foreach ($buckets as &$bucket) {
$bucket = $bucket['Name'];
}
}
return $buckets;
}
}
sdk-2.5.2/Aws/S3/Iterator/ListMultipartUploadsIterator.php 0000644 115327001610067500000002611 12272324173 020607 0 ustar get('Uploads') ?: array();
// If there are prefixes and we want them, merge them in
if ($this->get('return_prefixes') && $result->hasKey('CommonPrefixes')) {
$uploads = array_merge($uploads, $result->get('CommonPrefixes'));
}
return $uploads;
}
}
sdk-2.5.2/Aws/S3/Iterator/ListObjectsIterator.php 0000644 115327001610067500000005273 12272324173 016676 0 ustar get('Contents') ?: array();
$numObjects = count($objects);
$lastKey = $numObjects ? $objects[$numObjects - 1]['Key'] : false;
if ($lastKey && !$result->hasKey($this->get('token_key'))) {
$result->set($this->get('token_key'), $lastKey);
}
// Closure for getting the name of an object or prefix
$getName = function ($object) {
return isset($object['Key']) ? $object['Key'] : $object['Prefix'];
};
// If common prefixes returned (i.e. a delimiter was set) and they need to be returned, there is more to do
if ($this->get('return_prefixes') && $result->hasKey('CommonPrefixes')) {
// Collect and format the prefixes to include with the objects
$objects = array_merge($objects, $result->get('CommonPrefixes'));
// Sort the objects and prefixes to maintain alphabetical order, but only if some of each were returned
if ($this->get('sort_results') && $lastKey && $objects) {
usort($objects, function ($object1, $object2) use ($getName) {
return strcmp($getName($object1), $getName($object2));
});
}
}
// If only the names are desired, iterate through the results and convert the arrays to the object/prefix names
if ($this->get('names_only')) {
$objects = array_map($getName, $objects);
}
return $objects;
}
}
sdk-2.5.2/Aws/S3/Iterator/ListObjectVersionsIterator.php 0000644 115327001610067500000003035 12272324173 020236 0 ustar get('Versions') ?: array();
$deleteMarkers = $result->get('DeleteMarkers') ?: array();
$versions = array_merge($versions, $deleteMarkers);
// If there are prefixes and we want them, merge them in
if ($this->get('return_prefixes') && $result->hasKey('CommonPrefixes')) {
$versions = array_merge($versions, $result->get('CommonPrefixes'));
}
return $versions;
}
}
sdk-2.5.2/Aws/S3/Iterator/OpendirIterator.php 0000644 115327001610067500000004066 12272324173 016050 0 ustar filePrefix = $filePrefix;
$this->dirHandle = $dirHandle;
$this->next();
}
public function __destruct()
{
if ($this->dirHandle) {
closedir($this->dirHandle);
}
}
public function rewind()
{
$this->key = 0;
rewinddir($this->dirHandle);
}
public function current()
{
return $this->currentFile;
}
public function next()
{
if ($file = readdir($this->dirHandle)) {
$this->currentFile = new \SplFileInfo($this->filePrefix . $file);
} else {
$this->currentFile = false;
}
$this->key++;
}
public function key()
{
return $this->key;
}
public function valid()
{
return $this->currentFile !== false;
}
}
sdk-2.5.2/Aws/S3/Model/Acp.php 0000644 115327001610067500000014447 12272324173 012714 0 ustar setOwner($owner);
$this->setGrants($grants);
}
/**
* Create an Acp object from an array. This can be used to create an ACP from a response to a GetObject/Bucket ACL
* operation.
*
* @param array $data Array of ACP data
*
* @return self
*/
public static function fromArray(array $data)
{
$builder = new AcpBuilder();
$builder->setOwner((string) $data['Owner']['ID'], $data['Owner']['DisplayName']);
// Add each Grantee to the ACP
foreach ($data['Grants'] as $grant) {
$permission = $grant['Permission'];
// Determine the type for response bodies that are missing the Type parameter
if (!isset($grant['Grantee']['Type'])) {
if (isset($grant['Grantee']['ID'])) {
$grant['Grantee']['Type'] = 'CanonicalUser';
} elseif (isset($grant['Grantee']['URI'])) {
$grant['Grantee']['Type'] = 'Group';
} else {
$grant['Grantee']['Type'] = 'AmazonCustomerByEmail';
}
}
switch ($grant['Grantee']['Type']) {
case 'Group':
$builder->addGrantForGroup($permission, $grant['Grantee']['URI']);
break;
case 'AmazonCustomerByEmail':
$builder->addGrantForEmail($permission, $grant['Grantee']['EmailAddress']);
break;
case 'CanonicalUser':
$builder->addGrantForUser(
$permission,
$grant['Grantee']['ID'],
$grant['Grantee']['DisplayName']
);
}
}
return $builder->build();
}
/**
* Set the owner of the ACP policy
*
* @param Grantee $owner ACP policy owner
*
* @return self
*
* @throws InvalidArgumentException if the grantee does not have an ID set
*/
public function setOwner(Grantee $owner)
{
if (!$owner->isCanonicalUser()) {
throw new InvalidArgumentException('The owner must have an ID set.');
}
$this->owner = $owner;
return $this;
}
/**
* Get the owner of the ACP policy
*
* @return Grantee
*/
public function getOwner()
{
return $this->owner;
}
/**
* Set the grants for the ACP
*
* @param array|\Traversable $grants List of grants for the ACP
*
* @return self
*
* @throws InvalidArgumentException
*/
public function setGrants($grants = array())
{
$this->grants = new \SplObjectStorage();
if ($grants) {
if (is_array($grants) || $grants instanceof \Traversable) {
/** @var $grant Grant */
foreach ($grants as $grant) {
$this->addGrant($grant);
}
} else {
throw new InvalidArgumentException('Grants must be passed in as an array or Traversable object.');
}
}
return $this;
}
/**
* Get all of the grants
*
* @return \SplObjectStorage
*/
public function getGrants()
{
return $this->grants;
}
/**
* Add a Grant
*
* @param Grant $grant Grant to add
*
* @return self
*/
public function addGrant(Grant $grant)
{
if (count($this->grants) < 100) {
$this->grants->attach($grant);
} else {
throw new OverflowException('An ACP may contain up to 100 grants.');
}
return $this;
}
/**
* Get the total number of attributes
*
* @return int
*/
public function count()
{
return count($this->grants);
}
/**
* Returns the grants for iteration
*
* @return \SplObjectStorage
*/
public function getIterator()
{
return $this->grants;
}
/**
* Applies grant headers to a command's parameters
*
* @param AbstractCommand $command Command to be updated
*
* @return self
*/
public function updateCommand(AbstractCommand $command)
{
$parameters = array();
foreach ($this->grants as $grant) {
/** @var $grant Grant */
$parameters = array_merge_recursive($parameters, $grant->getParameterArray());
}
foreach ($parameters as $name => $values) {
$command->set($name, implode(', ', (array) $values));
}
return $this;
}
/**
* {@inheritdoc}
*/
public function toArray()
{
$grants = array();
foreach ($this->grants as $grant) {
$grants[] = $grant->toArray();
}
return array(
'Owner' => array(
'ID' => $this->owner->getId(),
'DisplayName' => $this->owner->getDisplayName()
),
'Grants' => $grants
);
}
}
sdk-2.5.2/Aws/S3/Model/AcpBuilder.php 0000644 115327001610067500000006506 12272324173 014220 0 ustar owner = new Grantee($id, $displayName ?: $id, GranteeType::USER);
return $this;
}
/**
* Create and store a Grant with a CanonicalUser Grantee for the ACL
*
* @param string $permission Permission for the Grant
* @param string $id Grantee identifier
* @param string $displayName Grantee display name
*
* @return self
*/
public function addGrantForUser($permission, $id, $displayName = null)
{
$grantee = new Grantee($id, $displayName ?: $id, GranteeType::USER);
$this->addGrant($permission, $grantee);
return $this;
}
/**
* Create and store a Grant with a AmazonCustomerByEmail Grantee for the ACL
*
* @param string $permission Permission for the Grant
* @param string $email Grantee email address
*
* @return self
*/
public function addGrantForEmail($permission, $email)
{
$grantee = new Grantee($email, null, GranteeType::EMAIL);
$this->addGrant($permission, $grantee);
return $this;
}
/**
* Create and store a Grant with a Group Grantee for the ACL
*
* @param string $permission Permission for the Grant
* @param string $group Grantee group
*
* @return self
*/
public function addGrantForGroup($permission, $group)
{
$grantee = new Grantee($group, null, GranteeType::GROUP);
$this->addGrant($permission, $grantee);
return $this;
}
/**
* Create and store a Grant for the ACL
*
* @param string $permission Permission for the Grant
* @param Grantee $grantee The Grantee for the Grant
*
* @return self
*/
public function addGrant($permission, Grantee $grantee)
{
$this->grants[] = new Grant($grantee, $permission);
return $this;
}
/**
* Builds the ACP and returns it
*
* @return Acp
*/
public function build()
{
return new Acp($this->owner, $this->grants);
}
}
sdk-2.5.2/Aws/S3/Model/ClearBucket.php 0000644 115327001610067500000012652 12272324173 014371 0 ustar client = $client;
$this->bucket = $bucket;
}
/**
* {@inheritdoc}
*/
public static function getAllEvents()
{
return array(self::AFTER_DELETE, self::BEFORE_CLEAR, self::AFTER_CLEAR);
}
/**
* Set the bucket that is to be cleared
*
* @param string $bucket Name of the bucket to clear
*
* @return self
*/
public function setBucket($bucket)
{
$this->bucket = $bucket;
return $this;
}
/**
* Get the iterator used to yield the keys to be deleted. A default iterator
* will be created and returned if no iterator has been explicitly set.
*
* @return \Iterator
*/
public function getIterator()
{
if (!$this->iterator) {
$this->iterator = $this->client->getIterator('ListObjectVersions', array(
'Bucket' => $this->bucket
));
}
return $this->iterator;
}
/**
* Sets a different iterator to use than the default iterator. This can be helpful when you wish to delete
* only specific keys from a bucket (e.g. keys that match a certain prefix or delimiter, or perhaps keys that
* pass through a filtered, decorated iterator).
*
* @param \Iterator $iterator Iterator used to yield the keys to be deleted
*
* @return self
*/
public function setIterator(\Iterator $iterator)
{
$this->iterator = $iterator;
return $this;
}
/**
* Set the MFA token to send with each request
*
* @param string $mfa MFA token to send with each request. The value is the concatenation of the authentication
* device's serial number, a space, and the value displayed on your authentication device.
*
* @return self
*/
public function setMfa($mfa)
{
$this->mfa = $mfa;
return $this;
}
/**
* Clear the bucket
*
* @return int Returns the number of deleted keys
* @throws ExceptionCollection
*/
public function clear()
{
$that = $this;
$batch = DeleteObjectsBatch::factory($this->client, $this->bucket, $this->mfa);
$batch = new NotifyingBatch($batch, function ($items) use ($that) {
$that->dispatch(ClearBucket::AFTER_DELETE, array('keys' => $items));
});
$batch = new FlushingBatch(new ExceptionBufferingBatch($batch), 1000);
// Let any listeners know that the bucket is about to be cleared
$this->dispatch(self::BEFORE_CLEAR, array(
'iterator' => $this->getIterator(),
'batch' => $batch,
'mfa' => $this->mfa
));
$deleted = 0;
foreach ($this->getIterator() as $object) {
if (isset($object['VersionId'])) {
$versionId = $object['VersionId'] == 'null' ? null : $object['VersionId'];
} else {
$versionId = null;
}
$batch->addKey($object['Key'], $versionId);
$deleted++;
}
$batch->flush();
// If any errors were encountered, then throw an ExceptionCollection
if (count($batch->getExceptions())) {
$e = new ExceptionCollection();
foreach ($batch->getExceptions() as $exception) {
$e->add($exception->getPrevious());
}
throw $e;
}
// Let any listeners know that the bucket was cleared
$this->dispatch(self::AFTER_CLEAR, array('deleted' => $deleted));
return $deleted;
}
}
sdk-2.5.2/Aws/S3/Model/DeleteObjectsBatch.php 0000644 115327001610067500000005343 12272324173 015662 0 ustar %s, VersionId => %s] and call flush when the objects
* should be deleted.
*/
class DeleteObjectsBatch extends AbstractBatchDecorator
{
/**
* Factory for creating a DeleteObjectsBatch
*
* @param AwsClientInterface $client Client used to transfer requests
* @param string $bucket Bucket that contains the objects to delete
* @param string $mfa MFA token to use with the request
*
* @return self
*/
public static function factory(AwsClientInterface $client, $bucket, $mfa = null)
{
$batch = BatchBuilder::factory()
->createBatchesWith(new BatchSizeDivisor(1000))
->transferWith(new DeleteObjectsTransfer($client, $bucket, $mfa))
->build();
return new self($batch);
}
/**
* Add an object to be deleted
*
* @param string $key Key of the object
* @param string $versionId VersionID of the object
*
* @return self
*/
public function addKey($key, $versionId = null)
{
return $this->add(array(
'Key' => $key,
'VersionId' => $versionId
));
}
/**
* {@inheritdoc}
*/
public function add($item)
{
if ($item instanceof AbstractCommand && $item->getName() == 'DeleteObject') {
$item = array(
'Key' => $item['Key'],
'VersionId' => $item['VersionId']
);
}
if (!is_array($item) || (!isset($item['Key']))) {
throw new InvalidArgumentException('Item must be a DeleteObject command or array containing a Key and VersionId key.');
}
return $this->decoratedBatch->add($item);
}
}
sdk-2.5.2/Aws/S3/Model/DeleteObjectsTransfer.php 0000644 115327001610067500000007565 12272324173 016435 0 ustar client = $client;
$this->bucket = $bucket;
$this->mfa = $mfa;
}
/**
* Set a new MFA token value
*
* @param string $token MFA token
*
* @return self
*/
public function setMfa($token)
{
$this->mfa = $token;
return $this;
}
/**
* {@inheritdoc}
* @throws OverflowException if a batch has more than 1000 items
* @throws InvalidArgumentException when an invalid batch item is encountered
*/
public function transfer(array $batch)
{
if (empty($batch)) {
return;
}
if (count($batch) > 1000) {
throw new OverflowException('Batches should be divided into chunks of no larger than 1000 keys');
}
$del = array();
$command = $this->client->getCommand('DeleteObjects', array(
'Bucket' => $this->bucket,
Ua::OPTION => Ua::BATCH
));
if ($this->mfa) {
$command->getRequestHeaders()->set('x-amz-mfa', $this->mfa);
}
foreach ($batch as $object) {
// Ensure that the batch item is valid
if (!is_array($object) || !isset($object['Key'])) {
throw new InvalidArgumentException('Invalid batch item encountered: ' . var_export($batch, true));
}
$del[] = array(
'Key' => $object['Key'],
'VersionId' => isset($object['VersionId']) ? $object['VersionId'] : null
);
}
$command['Objects'] = $del;
$command->execute();
$this->processResponse($command);
}
/**
* Process the response of the DeleteMultipleObjects request
*
* @paramCommandInterface $command Command executed
*/
protected function processResponse(CommandInterface $command)
{
$result = $command->getResult();
// Ensure that the objects were deleted successfully
if (!empty($result['Errors'])) {
$errors = $result['Errors'];
throw new DeleteMultipleObjectsException($errors);
}
}
}
sdk-2.5.2/Aws/S3/Model/Grant.php 0000644 115327001610067500000006457 12272324173 013266 0 ustar 'GrantRead',
Permission::WRITE => 'GrantWrite',
Permission::READ_ACP => 'GrantReadACP',
Permission::WRITE_ACP => 'GrantWriteACP',
Permission::FULL_CONTROL => 'GrantFullControl'
);
/**
* @var Grantee The grantee affected by the grant
*/
protected $grantee;
/**
* @var string The permission set by the grant
*/
protected $permission;
/**
* Constructs an ACL
*
* @param Grantee $grantee Affected grantee
* @param string $permission Permission applied
*/
public function __construct(Grantee $grantee, $permission)
{
$this->setGrantee($grantee);
$this->setPermission($permission);
}
/**
* Set the grantee affected by the grant
*
* @param Grantee $grantee Affected grantee
*
* @return self
*/
public function setGrantee(Grantee $grantee)
{
$this->grantee = $grantee;
return $this;
}
/**
* Get the grantee affected by the grant
*
* @return Grantee
*/
public function getGrantee()
{
return $this->grantee;
}
/**
* Set the permission set by the grant
*
* @param string $permission Permission applied
*
* @return self
*
* @throws InvalidArgumentException
*/
public function setPermission($permission)
{
$valid = Permission::values();
if (!in_array($permission, $valid)) {
throw new InvalidArgumentException('The permission must be one of '
. 'the following: ' . implode(', ', $valid) . '.');
}
$this->permission = $permission;
return $this;
}
/**
* Get the permission set by the grant
*
* @return string
*/
public function getPermission()
{
return $this->permission;
}
/**
* Returns an array of the operation parameter and value to set on the operation
*
* @return array
*/
public function getParameterArray()
{
return array(
self::$parameterMap[$this->permission] => $this->grantee->getHeaderValue()
);
}
/**
* {@inheritdoc}
*/
public function toArray()
{
return array(
'Grantee' => $this->grantee->toArray(),
'Permission' => $this->permission
);
}
}
sdk-2.5.2/Aws/S3/Model/Grantee.php 0000644 115327001610067500000014176 12272324173 013575 0 ustar 'id',
GranteeType::EMAIL => 'emailAddress',
GranteeType::GROUP => 'uri'
);
/**
* @var string The account ID, email, or URL identifying the grantee
*/
protected $id;
/**
* @var string The display name of the grantee
*/
protected $displayName;
/**
* @var string The type of the grantee (CanonicalUser or Group)
*/
protected $type;
/**
* Constructs a Grantee
*
* @param string $id Grantee identifier
* @param string $displayName Grantee display name
* @param string $expectedType The expected type of the grantee
*/
public function __construct($id, $displayName = null, $expectedType = null)
{
$this->type = GranteeType::USER;
$this->setId($id, $expectedType);
$this->setDisplayName($displayName);
}
/**
* Sets the account ID, email, or URL identifying the grantee
*
* @param string $id Grantee identifier
* @param string $expectedType The expected type of the grantee
*
* @return Grantee
*
* @throws UnexpectedValueException if $expectedType is set and the grantee
* is not of that type after instantiation
* @throws InvalidArgumentException when the ID provided is not a string
*/
public function setId($id, $expectedType = null)
{
if (in_array($id, Group::values())) {
$this->type = GranteeType::GROUP;
} elseif (!is_string($id)) {
throw new InvalidArgumentException('The grantee ID must be provided as a string value.');
}
if (strpos($id, '@') !== false) {
$this->type = GranteeType::EMAIL;
}
if ($expectedType && $expectedType !== $this->type) {
throw new UnexpectedValueException('The type of the grantee after '
. 'setting the ID did not match the specified, expected type "'
. $expectedType . '" but received "' . $this->type . '".');
}
$this->id = $id;
return $this;
}
/**
* Gets the grantee identifier
*
* @return string
*/
public function getId()
{
return $this->id;
}
/**
* Gets the grantee email address (if it is set)
*
* @return null|string
*/
public function getEmailAddress()
{
return $this->isAmazonCustomerByEmail() ? $this->id : null;
}
/**
* Gets the grantee URI (if it is set)
*
* @return null|string
*/
public function getGroupUri()
{
return $this->isGroup() ? $this->id : null;
}
/**
* Sets the display name of the grantee
*
* @param string $displayName Grantee name
*
* @return Grantee
*
* @throws LogicException when the grantee type not CanonicalUser
*/
public function setDisplayName($displayName)
{
if ($this->type === GranteeType::USER) {
if (empty($displayName) || !is_string($displayName)) {
$displayName = $this->id;
}
$this->displayName = $displayName;
} else {
if ($displayName) {
throw new LogicException('The display name can only be set '
. 'for grantees specified by ID.');
}
}
return $this;
}
/**
* Gets the grantee display name
*
* @return string
*/
public function getDisplayName()
{
return $this->displayName;
}
/**
* Gets the grantee type (determined by ID)
*
* @return string
*/
public function getType()
{
return $this->type;
}
/**
* Returns true if this grantee object represents a canonical user by ID
*
* @return bool
*/
public function isCanonicalUser()
{
return ($this->type === GranteeType::USER);
}
/**
* Returns true if this grantee object represents a customer by email
*
* @return bool
*/
public function isAmazonCustomerByEmail()
{
return ($this->type === GranteeType::EMAIL);
}
/**
* Returns true if this grantee object represents a group by URL
*
* @return bool
*/
public function isGroup()
{
return ($this->type === GranteeType::GROUP);
}
/**
* Returns the value used in headers to specify this grantee
*
* @return string
*/
public function getHeaderValue()
{
$key = self::$headerMap[$this->type];
return "{$key}=\"{$this->id}\"";
}
/**
* {@inheritdoc}
*/
public function toArray()
{
$result = array(
'Type' => $this->type
);
switch ($this->type) {
case GranteeType::USER:
$result['ID'] = $this->id;
$result['DisplayName'] = $this->displayName;
break;
case GranteeType::EMAIL:
$result['EmailAddress'] = $this->id;
break;
case GranteeType::GROUP:
$result['URI'] = $this->id;
}
return $result;
}
}
sdk-2.5.2/Aws/S3/Model/PostObject.php 0000644 115327001610067500000017126 12272324173 014262 0 ustar tag attributes as an array
*/
protected $formAttributes;
/**
* @var array The form's elements as an array
*/
protected $formInputs;
/**
* @var string The raw json policy
*/
protected $jsonPolicy;
/**
* Constructs the PostObject
*
* The options array accepts the following keys:
*
* - acl: The access control setting to apply to the uploaded file. Accepts any of the
* CannedAcl constants
* - Cache-Control: The Cache-Control HTTP header value to apply to the uploaded file
* - Content-Disposition: The Content-Disposition HTTP header value to apply to the uploaded file
* - Content-Encoding: The Content-Encoding HTTP header value to apply to the uploaded file
* - Content-Type: The Content-Type HTTP header value to apply to the uploaded file. The default
* value is `application/octet-stream`
* - Expires: The Expires HTTP header value to apply to the uploaded file
* - key: The location where the file should be uploaded to. The default value is
* `^${filename}` which will use the name of the uploaded file
* - policy: A raw policy in JSON format. By default, the PostObject creates one for you
* - success_action_redirect: The URI for Amazon S3 to redirect to upon successful upload
* - success_action_status: The status code for Amazon S3 to return upon successful upload
* - ttd: The expiration time for the generated upload form data
* - x-amz-server-side-encryption: The server-side encryption mechanism to use
* - x-amz-storage-class: The storage setting to apply to the object
* - x-amz-meta-*: Any custom meta tag that should be set to the object
*
* For the Cache-Control, Content-Disposition, Content-Encoding,
* Content-Type, Expires, and key options, to use a "starts-with" comparison
* instead of an equals comparison, prefix the value with a ^ (carat)
* character
*
* @param S3Client $client
* @param $bucket
* @param array $options
*/
public function __construct(S3Client $client, $bucket, array $options = array())
{
$this->setClient($client);
$this->setBucket($bucket);
parent::__construct($options);
}
/**
* Analyzes the provided data and turns it into useful data that can be
* consumed and used to build an upload form
*
* @return PostObject
*/
public function prepareData()
{
// Validate required options
$options = Collection::fromConfig($this->data, array(
'ttd' => '+1 hour',
'key' => '^${filename}',
));
// Format ttd option
$ttd = $options['ttd'];
$ttd = is_numeric($ttd) ? (int) $ttd : strtotime($ttd);
unset($options['ttd']);
// Save policy if passed in
$rawPolicy = $options['policy'];
unset($options['policy']);
// Setup policy document
$policy = array(
'expiration' => gmdate(DateFormat::ISO8601_S3, $ttd),
'conditions' => array(array('bucket' => $this->bucket))
);
// Configure the endpoint/action
$url = Url::factory($this->client->getBaseUrl());
$url->setHost($this->bucket . '.' . $url->getHost());
// Setup basic form
$this->formAttributes = array(
'action' => (string) $url,
'method' => 'POST',
'enctype' => 'multipart/form-data'
);
$this->formInputs = array(
'AWSAccessKeyId' => $this->client->getCredentials()->getAccessKeyId()
);
// Add success action status
$status = (int) $options->get('success_action_status');
if ($status && in_array($status, array(200, 201, 204))) {
$this->formInputs['success_action_status'] = (string) $status;
$policy['conditions'][] = array(
'success_action_status' => (string) $status
);
$options->remove('success_action_status');
}
// Add other options
foreach ($options as $key => $value) {
$value = (string) $value;
if ($value[0] === '^') {
$value = substr($value, 1);
$this->formInputs[$key] = $value;
$value = preg_replace('/\$\{(\w*)\}/', '', $value);
$policy['conditions'][] = array('starts-with', '$' . $key, $value);
} else {
$this->formInputs[$key] = $value;
$policy['conditions'][] = array($key => $value);
}
}
// Add policy
$this->jsonPolicy = $rawPolicy ?: json_encode($policy);
$jsonPolicy64 = base64_encode($this->jsonPolicy);
$this->formInputs['policy'] = $jsonPolicy64;
// Add signature
$this->formInputs['signature'] = base64_encode(hash_hmac(
'sha1',
$jsonPolicy64,
$this->client->getCredentials()->getSecretKey(),
true
));
return $this;
}
/**
* Sets the S3 client
*
* @param S3Client $client
*
* @return PostObject
*/
public function setClient(S3Client $client)
{
$this->client = $client;
return $this;
}
/**
* Gets the S3 client
*
* @return S3Client
*/
public function getClient()
{
return $this->client;
}
/**
* Sets the bucket and makes sure it is a valid bucket name
*
* @param string $bucket
*
* @return PostObject
*/
public function setBucket($bucket)
{
$this->bucket = $bucket;
return $this;
}
/**
* Gets the bucket name
*
* @return string
*/
public function getBucket()
{
return $this->bucket;
}
/**
* Gets the form attributes as an array
*
* @return array
*/
public function getFormAttributes()
{
return $this->formAttributes;
}
/**
* Gets the form inputs as an array
*
* @return array
*/
public function getFormInputs()
{
return $this->formInputs;
}
/**
* Gets the raw JSON policy
*
* @return string
*/
public function getJsonPolicy()
{
return $this->jsonPolicy;
}
}
sdk-2.5.2/Aws/S3/Model/MultipartUpload/AbstractTransfer.php 0000644 115327001610067500000006415 12272324173 020603 0 ustar options = array_replace(array(
'min_part_size' => self::MIN_PART_SIZE,
'part_md5' => true
), $this->options);
// Make sure the part size can be calculated somehow
if (!$this->options['min_part_size'] && !$this->source->getContentLength()) {
throw new RuntimeException('The ContentLength of the data source could not be determined, and no '
. 'min_part_size option was provided');
}
}
/**
* {@inheritdoc}
*/
protected function calculatePartSize()
{
$partSize = $this->source->getContentLength()
? (int) ceil(($this->source->getContentLength() / self::MAX_PARTS))
: self::MIN_PART_SIZE;
$partSize = max($this->options['min_part_size'], $partSize);
$partSize = min($partSize, self::MAX_PART_SIZE);
$partSize = max($partSize, self::MIN_PART_SIZE);
return $partSize;
}
/**
* {@inheritdoc}
*/
protected function complete()
{
/** @var $part UploadPart */
$parts = array();
foreach ($this->state as $part) {
$parts[] = array(
'PartNumber' => $part->getPartNumber(),
'ETag' => $part->getETag(),
);
}
$params = $this->state->getUploadId()->toParams();
$params[Ua::OPTION] = Ua::MULTIPART_UPLOAD;
$params['Parts'] = $parts;
$command = $this->client->getCommand('CompleteMultipartUpload', $params);
return $command->getResult();
}
/**
* {@inheritdoc}
*/
protected function getAbortCommand()
{
$params = $this->state->getUploadId()->toParams();
$params[Ua::OPTION] = Ua::MULTIPART_UPLOAD;
/** @var $command OperationCommand */
$command = $this->client->getCommand('AbortMultipartUpload', $params);
return $command;
}
}
sdk-2.5.2/Aws/S3/Model/MultipartUpload/ParallelTransfer.php 0000644 115327001610067500000011016 12272324173 020565 0 ustar source->isLocal() || $this->source->getWrapper() != 'plainfile') {
throw new RuntimeException('The source data must be a local file stream when uploading in parallel.');
}
if (empty($this->options['concurrency'])) {
throw new RuntimeException('The `concurrency` option must be specified when instantiating.');
}
}
/**
* {@inheritdoc}
*/
protected function transfer()
{
$totalParts = (int) ceil($this->source->getContentLength() / $this->partSize);
$concurrency = min($totalParts, $this->options['concurrency']);
$partsToSend = $this->prepareParts($concurrency);
$eventData = $this->getEventData();
while (!$this->stopped && count($this->state) < $totalParts) {
$currentTotal = count($this->state);
$commands = array();
for ($i = 0; $i < $concurrency && $i + $currentTotal < $totalParts; $i++) {
// Move the offset to the correct position
$partsToSend[$i]->setOffset(($currentTotal + $i) * $this->partSize);
// @codeCoverageIgnoreStart
if ($partsToSend[$i]->getContentLength() == 0) {
break;
}
// @codeCoverageIgnoreEnd
$params = $this->state->getUploadId()->toParams();
$eventData['command'] = $this->client->getCommand('UploadPart', array_replace($params, array(
'PartNumber' => count($this->state) + 1 + $i,
'Body' => $partsToSend[$i],
'ContentMD5' => (bool) $this->options['part_md5'],
Ua::OPTION => Ua::MULTIPART_UPLOAD
)));
$commands[] = $eventData['command'];
// Notify any listeners of the part upload
$this->dispatch(self::BEFORE_PART_UPLOAD, $eventData);
}
// Allow listeners to stop the transfer if needed
if ($this->stopped) {
break;
}
// Execute each command, iterate over the results, and add to the transfer state
/** @var $command \Guzzle\Service\Command\OperationCommand */
foreach ($this->client->execute($commands) as $command) {
$this->state->addPart(UploadPart::fromArray(array(
'PartNumber' => count($this->state) + 1,
'ETag' => $command->getResponse()->getEtag(),
'Size' => (int) $command->getResponse()->getContentLength(),
'LastModified' => gmdate(DateFormat::RFC2822)
)));
$eventData['command'] = $command;
// Notify any listeners the the part was uploaded
$this->dispatch(self::AFTER_PART_UPLOAD, $eventData);
}
}
}
/**
* Prepare the entity body handles to use while transferring
*
* @param int $concurrency Number of parts to prepare
*
* @return array Parts to send
*/
protected function prepareParts($concurrency)
{
$url = $this->source->getUri();
// Use the source EntityBody as the first part
$parts = array(new ReadLimitEntityBody($this->source, $this->partSize));
// Open EntityBody handles for each part to upload in parallel
for ($i = 1; $i < $concurrency; $i++) {
$parts[] = new ReadLimitEntityBody(new EntityBody(fopen($url, 'r')), $this->partSize);
}
return $parts;
}
}
sdk-2.5.2/Aws/S3/Model/MultipartUpload/SerialTransfer.php 0000644 115327001610067500000006165 12272324173 020261 0 ustar stopped && !$this->source->isConsumed()) {
if ($this->source->getContentLength() && $this->source->isSeekable()) {
// If the stream is seekable and the Content-Length known, then stream from the data source
$body = new ReadLimitEntityBody($this->source, $this->partSize, $this->source->ftell());
} else {
// We need to read the data source into a temporary buffer before streaming
$body = EntityBody::factory();
while ($body->getContentLength() < $this->partSize
&& $body->write(
$this->source->read(max(1, min(10 * Size::KB, $this->partSize - $body->getContentLength())))
));
}
// @codeCoverageIgnoreStart
if ($body->getContentLength() == 0) {
break;
}
// @codeCoverageIgnoreEnd
$params = $this->state->getUploadId()->toParams();
$command = $this->client->getCommand('UploadPart', array_replace($params, array(
'PartNumber' => count($this->state) + 1,
'Body' => $body,
'ContentMD5' => (bool) $this->options['part_md5'],
Ua::OPTION => Ua::MULTIPART_UPLOAD
)));
// Notify observers that the part is about to be uploaded
$eventData = $this->getEventData();
$eventData['command'] = $command;
$this->dispatch(self::BEFORE_PART_UPLOAD, $eventData);
// Allow listeners to stop the transfer if needed
if ($this->stopped) {
break;
}
$response = $command->getResponse();
$this->state->addPart(UploadPart::fromArray(array(
'PartNumber' => count($this->state) + 1,
'ETag' => $response->getEtag(),
'Size' => $body->getContentLength(),
'LastModified' => gmdate(DateFormat::RFC2822)
)));
// Notify observers that the part was uploaded
$this->dispatch(self::AFTER_PART_UPLOAD, $eventData);
}
}
}
sdk-2.5.2/Aws/S3/Model/MultipartUpload/TransferState.php 0000644 115327001610067500000002371 12272324173 020115 0 ustar getIterator('ListParts', $uploadId->toParams()) as $part) {
$transferState->addPart(UploadPart::fromArray($part));
}
return $transferState;
}
}
sdk-2.5.2/Aws/S3/Model/MultipartUpload/UploadBuilder.php 0000644 115327001610067500000020564 12272324173 020067 0 ustar setOption('Bucket', $bucket);
}
/**
* Set the key of the object
*
* @param string $key Key of the object to upload
*
* @return self
*/
public function setKey($key)
{
return $this->setOption('Key', $key);
}
/**
* Set the minimum acceptable part size
*
* @param int $minSize Minimum acceptable part size in bytes
*
* @return self
*/
public function setMinPartSize($minSize)
{
$this->minPartSize = (int) max((int) $minSize, AbstractTransfer::MIN_PART_SIZE);
return $this;
}
/**
* Set the concurrency level to use when uploading parts. This affects how
* many parts are uploaded in parallel. You must use a local file as your
* data source when using a concurrency greater than 1
*
* @param int $concurrency Concurrency level
*
* @return self
*/
public function setConcurrency($concurrency)
{
$this->concurrency = $concurrency;
return $this;
}
/**
* Explicitly set the MD5 hash of the entire body
*
* @param string $md5 MD5 hash of the entire body
*
* @return self
*/
public function setMd5($md5)
{
$this->md5 = $md5;
return $this;
}
/**
* Set to true to have the builder calculate the MD5 hash of the entire data
* source before initiating a multipart upload (this could be an expensive
* operation). This setting can ony be used with seekable data sources.
*
* @param bool $calculateMd5 Set to true to calculate the MD5 hash of the body
*
* @return self
*/
public function calculateMd5($calculateMd5)
{
$this->calculateEntireMd5 = (bool) $calculateMd5;
return $this;
}
/**
* Specify whether or not to calculate the MD5 hash of each uploaded part.
* This setting defaults to true.
*
* @param bool $usePartMd5 Set to true to calculate the MD5 has of each part
*
* @return self
*/
public function calculatePartMd5($usePartMd5)
{
$this->calculatePartMd5 = (bool) $usePartMd5;
return $this;
}
/**
* Set the ACP to use on the object
*
* @param Acp $acp ACP to set on the object
*
* @return self
*/
public function setAcp(Acp $acp)
{
return $this->setOption('ACP', $acp);
}
/**
* Set an option to pass to the initial CreateMultipartUpload operation
*
* @param string $name Option name
* @param string $value Option value
*
* @return self
*/
public function setOption($name, $value)
{
$this->commandOptions[$name] = $value;
return $this;
}
/**
* Add an array of options to pass to the initial CreateMultipartUpload operation
*
* @param array $options Array of CreateMultipartUpload operation parameters
*
* @return self
*/
public function addOptions(array $options)
{
$this->commandOptions = array_replace($this->commandOptions, $options);
return $this;
}
/**
* Set an array of transfer options to apply to the upload transfer object
*
* @param array $options Transfer options
*
* @return self
*/
public function setTransferOptions(array $options)
{
$this->transferOptions = $options;
return $this;
}
/**
* {@inheritdoc}
* @throws InvalidArgumentException when attempting to resume a transfer using a non-seekable stream
* @throws InvalidArgumentException when missing required properties (bucket, key, client, source)
*/
public function build()
{
if ($this->state instanceof TransferState) {
$this->commandOptions = array_replace($this->commandOptions, $this->state->getUploadId()->toParams());
}
if (!isset($this->commandOptions['Bucket']) || !isset($this->commandOptions['Key'])
|| !$this->client || !$this->source
) {
throw new InvalidArgumentException('You must specify a Bucket, Key, client, and source.');
}
if ($this->state && !$this->source->isSeekable()) {
throw new InvalidArgumentException('You cannot resume a transfer using a non-seekable source.');
}
// If no state was set, then create one by initiating or loading a multipart upload
if (is_string($this->state)) {
$this->state = TransferState::fromUploadId($this->client, UploadId::fromParams(array(
'Bucket' => $this->commandOptions['Bucket'],
'Key' => $this->commandOptions['Key'],
'UploadId' => $this->state
)));
} elseif (!$this->state) {
$this->state = $this->initiateMultipartUpload();
}
$options = array_replace(array(
'min_part_size' => $this->minPartSize,
'part_md5' => (bool) $this->calculatePartMd5,
'concurrency' => $this->concurrency
), $this->transferOptions);
return $this->concurrency > 1
? new ParallelTransfer($this->client, $this->state, $this->source, $options)
: new SerialTransfer($this->client, $this->state, $this->source, $options);
}
/**
* {@inheritdoc}
*/
protected function initiateMultipartUpload()
{
// Determine Content-Type
if ($mimeType = $this->source->getContentType()) {
$this->commandOptions['ContentType'] = $mimeType;
}
$params = array_replace(array(
Ua::OPTION => Ua::MULTIPART_UPLOAD,
'command.headers' => $this->headers,
'Metadata' => array()
), $this->commandOptions);
// Calculate the MD5 hash if none was set and it is asked of the builder
if ($this->calculateEntireMd5) {
$this->md5 = $this->source->getContentMd5();
}
// If an MD5 is specified, then add it to the custom headers of the request
// so that it will be returned when downloading the object from Amazon S3
if ($this->md5) {
$params['Metadata']['x-amz-Content-MD5'] = $this->md5;
}
$result = $this->client->getCommand('CreateMultipartUpload', $params)->execute();
// Create a new state based on the initiated upload
$params['UploadId'] = $result['UploadId'];
return new TransferState(UploadId::fromParams($params));
}
}
sdk-2.5.2/Aws/S3/Model/MultipartUpload/UploadId.php 0000644 115327001610067500000001770 12272324173 017033 0 ustar false,
'Key' => false,
'UploadId' => false
);
}
sdk-2.5.2/Aws/S3/Model/MultipartUpload/UploadPart.php 0000644 115327001610067500000003204 12272324173 017377 0 ustar 'partNumber',
'ETag' => 'eTag',
'LastModified' => 'lastModified',
'Size' => 'size'
);
/**
* @var string The ETag for this part
*/
protected $eTag;
/**
* @var string The last modified date
*/
protected $lastModified;
/**
* @var int The size (or content-length) in bytes of the upload body
*/
protected $size;
/**
* @return string
*/
public function getETag()
{
return $this->eTag;
}
/**
* @return string
*/
public function getLastModified()
{
return $this->lastModified;
}
/**
* @return int
*/
public function getSize()
{
return $this->size;
}
}
sdk-2.5.2/Aws/S3/Resources/s3-2006-03-01.php 0000644 115327001610067500000474072 12272324173 014477 0 ustar '2006-03-01',
'endpointPrefix' => 's3',
'serviceFullName' => 'Amazon Simple Storage Service',
'serviceAbbreviation' => 'Amazon S3',
'serviceType' => 'rest-xml',
'timestampFormat' => 'rfc822',
'globalEndpoint' => 's3.amazonaws.com',
'signatureVersion' => 's3',
'namespace' => 'S3',
'regions' => array(
'us-east-1' => array(
'http' => true,
'https' => true,
'hostname' => 's3.amazonaws.com',
),
'us-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 's3-us-west-1.amazonaws.com',
),
'us-west-2' => array(
'http' => true,
'https' => true,
'hostname' => 's3-us-west-2.amazonaws.com',
),
'eu-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 's3-eu-west-1.amazonaws.com',
),
'ap-northeast-1' => array(
'http' => true,
'https' => true,
'hostname' => 's3-ap-northeast-1.amazonaws.com',
),
'ap-southeast-1' => array(
'http' => true,
'https' => true,
'hostname' => 's3-ap-southeast-1.amazonaws.com',
),
'ap-southeast-2' => array(
'http' => true,
'https' => true,
'hostname' => 's3-ap-southeast-2.amazonaws.com',
),
'sa-east-1' => array(
'http' => true,
'https' => true,
'hostname' => 's3-sa-east-1.amazonaws.com',
),
'cn-north-1' => array(
'http' => true,
'https' => true,
'hostname' => 's3.cn-north-1.amazonaws.com.cn',
),
'us-gov-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 's3-us-gov-west-1.amazonaws.com',
),
),
'operations' => array(
'AbortMultipartUpload' => array(
'httpMethod' => 'DELETE',
'uri' => '/{Bucket}{/Key*}',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'AbortMultipartUploadOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadAbort.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'Key' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
'filters' => array(
'Aws\\S3\\S3Client::explodeKey',
),
),
'UploadId' => array(
'required' => true,
'type' => 'string',
'location' => 'query',
'sentAs' => 'uploadId',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified multipart upload does not exist.',
'class' => 'NoSuchUploadException',
),
),
),
'CompleteMultipartUpload' => array(
'httpMethod' => 'POST',
'uri' => '/{Bucket}{/Key*}',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'CompleteMultipartUploadOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadComplete.html',
'data' => array(
'xmlRoot' => array(
'name' => 'CompleteMultipartUpload',
'namespaces' => array(
'http://s3.amazonaws.com/doc/2006-03-01/',
),
),
),
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'Key' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
'filters' => array(
'Aws\\S3\\S3Client::explodeKey',
),
),
'Parts' => array(
'type' => 'array',
'location' => 'xml',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'type' => 'object',
'sentAs' => 'Part',
'properties' => array(
'ETag' => array(
'type' => 'string',
),
'PartNumber' => array(
'type' => 'numeric',
),
),
),
),
'UploadId' => array(
'required' => true,
'type' => 'string',
'location' => 'query',
'sentAs' => 'uploadId',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
),
'CopyObject' => array(
'httpMethod' => 'PUT',
'uri' => '/{Bucket}{/Key*}',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'CopyObjectOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html',
'parameters' => array(
'ACL' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-acl',
),
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'CacheControl' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Cache-Control',
),
'ContentDisposition' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Content-Disposition',
),
'ContentEncoding' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Content-Encoding',
),
'ContentLanguage' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Content-Language',
),
'ContentType' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Content-Type',
),
'CopySource' => array(
'required' => true,
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-copy-source',
),
'CopySourceIfMatch' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time-http',
'location' => 'header',
'sentAs' => 'x-amz-copy-source-if-match',
),
'CopySourceIfModifiedSince' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time-http',
'location' => 'header',
'sentAs' => 'x-amz-copy-source-if-modified-since',
),
'CopySourceIfNoneMatch' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time-http',
'location' => 'header',
'sentAs' => 'x-amz-copy-source-if-none-match',
),
'CopySourceIfUnmodifiedSince' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time-http',
'location' => 'header',
'sentAs' => 'x-amz-copy-source-if-unmodified-since',
),
'Expires' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time-http',
'location' => 'header',
),
'GrantFullControl' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-grant-full-control',
),
'GrantRead' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-grant-read',
),
'GrantReadACP' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-grant-read-acp',
),
'GrantWriteACP' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-grant-write-acp',
),
'Key' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
'filters' => array(
'Aws\\S3\\S3Client::explodeKey',
),
),
'Metadata' => array(
'type' => 'object',
'location' => 'header',
'sentAs' => 'x-amz-meta-',
'additionalProperties' => array(
'type' => 'string',
),
),
'MetadataDirective' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-metadata-directive',
),
'ServerSideEncryption' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-server-side-encryption',
),
'StorageClass' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-storage-class',
),
'WebsiteRedirectLocation' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-website-redirect-location',
),
'ACP' => array(
'type' => 'object',
'additionalProperties' => true,
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'reason' => 'The source object of the COPY operation is not in the active tier and is only stored in Amazon Glacier.',
'class' => 'ObjectNotInActiveTierErrorException',
),
),
),
'CreateBucket' => array(
'httpMethod' => 'PUT',
'uri' => '/{Bucket}',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'CreateBucketOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUT.html',
'data' => array(
'xmlRoot' => array(
'name' => 'CreateBucketConfiguration',
'namespaces' => array(
'http://s3.amazonaws.com/doc/2006-03-01/',
),
),
),
'parameters' => array(
'ACL' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-acl',
),
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'LocationConstraint' => array(
'type' => 'string',
'location' => 'xml',
),
'GrantFullControl' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-grant-full-control',
),
'GrantRead' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-grant-read',
),
'GrantReadACP' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-grant-read-acp',
),
'GrantWrite' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-grant-write',
),
'GrantWriteACP' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-grant-write-acp',
),
'ACP' => array(
'type' => 'object',
'additionalProperties' => true,
),
),
'errorResponses' => array(
array(
'reason' => 'The requested bucket name is not available. The bucket namespace is shared by all users of the system. Please select a different name and try again.',
'class' => 'BucketAlreadyExistsException',
),
),
),
'CreateMultipartUpload' => array(
'httpMethod' => 'POST',
'uri' => '/{Bucket}{/Key*}?uploads',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'CreateMultipartUploadOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadInitiate.html',
'parameters' => array(
'ACL' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-acl',
),
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'CacheControl' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Cache-Control',
),
'ContentDisposition' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Content-Disposition',
),
'ContentEncoding' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Content-Encoding',
),
'ContentLanguage' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Content-Language',
),
'ContentType' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Content-Type',
),
'Expires' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time-http',
'location' => 'header',
),
'GrantFullControl' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-grant-full-control',
),
'GrantRead' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-grant-read',
),
'GrantReadACP' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-grant-read-acp',
),
'GrantWriteACP' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-grant-write-acp',
),
'Key' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
'filters' => array(
'Aws\\S3\\S3Client::explodeKey',
),
),
'Metadata' => array(
'type' => 'object',
'location' => 'header',
'sentAs' => 'x-amz-meta-',
'additionalProperties' => array(
'type' => 'string',
),
),
'ServerSideEncryption' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-server-side-encryption',
),
'StorageClass' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-storage-class',
),
'WebsiteRedirectLocation' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-website-redirect-location',
),
'ACP' => array(
'type' => 'object',
'additionalProperties' => true,
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
),
'DeleteBucket' => array(
'httpMethod' => 'DELETE',
'uri' => '/{Bucket}',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'DeleteBucketOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETE.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
),
),
'DeleteBucketCors' => array(
'httpMethod' => 'DELETE',
'uri' => '/{Bucket}?cors',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'DeleteBucketCorsOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETEcors.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
),
),
'DeleteBucketLifecycle' => array(
'httpMethod' => 'DELETE',
'uri' => '/{Bucket}?lifecycle',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'DeleteBucketLifecycleOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETElifecycle.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
),
),
'DeleteBucketPolicy' => array(
'httpMethod' => 'DELETE',
'uri' => '/{Bucket}?policy',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'DeleteBucketPolicyOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETEpolicy.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
),
),
'DeleteBucketTagging' => array(
'httpMethod' => 'DELETE',
'uri' => '/{Bucket}?tagging',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'DeleteBucketTaggingOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETEtagging.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
),
),
'DeleteBucketWebsite' => array(
'httpMethod' => 'DELETE',
'uri' => '/{Bucket}?website',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'DeleteBucketWebsiteOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketDELETEwebsite.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
),
),
'DeleteObject' => array(
'httpMethod' => 'DELETE',
'uri' => '/{Bucket}{/Key*}',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'DeleteObjectOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'Key' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
'filters' => array(
'Aws\\S3\\S3Client::explodeKey',
),
),
'MFA' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-mfa',
),
'VersionId' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'versionId',
),
),
),
'DeleteObjects' => array(
'httpMethod' => 'POST',
'uri' => '/{Bucket}?delete',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'DeleteObjectsOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/multiobjectdeleteapi.html',
'data' => array(
'xmlRoot' => array(
'name' => 'Delete',
'namespaces' => array(
'http://s3.amazonaws.com/doc/2006-03-01/',
),
),
'contentMd5' => true,
),
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'Objects' => array(
'required' => true,
'type' => 'array',
'location' => 'xml',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'type' => 'object',
'sentAs' => 'Object',
'properties' => array(
'Key' => array(
'required' => true,
'type' => 'string',
),
'VersionId' => array(
'type' => 'string',
),
),
),
),
'Quiet' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'xml',
),
'MFA' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-mfa',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
),
'GetBucketAcl' => array(
'httpMethod' => 'GET',
'uri' => '/{Bucket}?acl',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'GetBucketAclOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETacl.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
),
'GetBucketCors' => array(
'httpMethod' => 'GET',
'uri' => '/{Bucket}?cors',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'GetBucketCorsOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETcors.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
),
'GetBucketLifecycle' => array(
'httpMethod' => 'GET',
'uri' => '/{Bucket}?lifecycle',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'GetBucketLifecycleOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETlifecycle.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
),
'GetBucketLocation' => array(
'httpMethod' => 'GET',
'uri' => '/{Bucket}?location',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'GetBucketLocationOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETlocation.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
),
),
'GetBucketLogging' => array(
'httpMethod' => 'GET',
'uri' => '/{Bucket}?logging',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'GetBucketLoggingOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETlogging.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
),
'GetBucketNotification' => array(
'httpMethod' => 'GET',
'uri' => '/{Bucket}?notification',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'GetBucketNotificationOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETnotification.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
),
'GetBucketPolicy' => array(
'httpMethod' => 'GET',
'uri' => '/{Bucket}?policy',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'GetBucketPolicyOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETpolicy.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
),
),
'GetBucketRequestPayment' => array(
'httpMethod' => 'GET',
'uri' => '/{Bucket}?requestPayment',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'GetBucketRequestPaymentOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTrequestPaymentGET.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
),
'GetBucketTagging' => array(
'httpMethod' => 'GET',
'uri' => '/{Bucket}?tagging',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'GetBucketTaggingOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETtagging.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
),
'GetBucketVersioning' => array(
'httpMethod' => 'GET',
'uri' => '/{Bucket}?versioning',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'GetBucketVersioningOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETversioningStatus.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
),
'GetBucketWebsite' => array(
'httpMethod' => 'GET',
'uri' => '/{Bucket}?website',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'GetBucketWebsiteOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETwebsite.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
),
'GetObject' => array(
'httpMethod' => 'GET',
'uri' => '/{Bucket}{/Key*}',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'GetObjectOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'IfMatch' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'If-Match',
),
'IfModifiedSince' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time-http',
'location' => 'header',
'sentAs' => 'If-Modified-Since',
),
'IfNoneMatch' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'If-None-Match',
),
'IfUnmodifiedSince' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time-http',
'location' => 'header',
'sentAs' => 'If-Unmodified-Since',
),
'Key' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
'filters' => array(
'Aws\\S3\\S3Client::explodeKey',
),
),
'Range' => array(
'type' => 'string',
'location' => 'header',
),
'ResponseCacheControl' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'response-cache-control',
),
'ResponseContentDisposition' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'response-content-disposition',
),
'ResponseContentEncoding' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'response-content-encoding',
),
'ResponseContentLanguage' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'response-content-language',
),
'ResponseContentType' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'response-content-type',
),
'ResponseExpires' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time-http',
'location' => 'query',
'sentAs' => 'response-expires',
),
'VersionId' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'versionId',
),
'SaveAs' => array(
'location' => 'response_body',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified key does not exist.',
'class' => 'NoSuchKeyException',
),
),
),
'GetObjectAcl' => array(
'httpMethod' => 'GET',
'uri' => '/{Bucket}{/Key*}?acl',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'GetObjectAclOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGETacl.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'Key' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
'filters' => array(
'Aws\\S3\\S3Client::explodeKey',
),
),
'VersionId' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'versionId',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified key does not exist.',
'class' => 'NoSuchKeyException',
),
),
),
'GetObjectTorrent' => array(
'httpMethod' => 'GET',
'uri' => '/{Bucket}{/Key*}?torrent',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'GetObjectTorrentOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGETtorrent.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'Key' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
'filters' => array(
'Aws\\S3\\S3Client::explodeKey',
),
),
),
),
'HeadBucket' => array(
'httpMethod' => 'HEAD',
'uri' => '/{Bucket}',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'HeadBucketOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketHEAD.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified bucket does not exist.',
'class' => 'NoSuchBucketException',
),
),
),
'HeadObject' => array(
'httpMethod' => 'HEAD',
'uri' => '/{Bucket}{/Key*}',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'HeadObjectOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectHEAD.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'IfMatch' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'If-Match',
),
'IfModifiedSince' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time-http',
'location' => 'header',
'sentAs' => 'If-Modified-Since',
),
'IfNoneMatch' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'If-None-Match',
),
'IfUnmodifiedSince' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time-http',
'location' => 'header',
'sentAs' => 'If-Unmodified-Since',
),
'Key' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
'filters' => array(
'Aws\\S3\\S3Client::explodeKey',
),
),
'Range' => array(
'type' => 'string',
'location' => 'header',
),
'VersionId' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'versionId',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified key does not exist.',
'class' => 'NoSuchKeyException',
),
),
),
'ListBuckets' => array(
'httpMethod' => 'GET',
'uri' => '/',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'ListBucketsOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTServiceGET.html',
'parameters' => array(
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
),
'ListMultipartUploads' => array(
'httpMethod' => 'GET',
'uri' => '/{Bucket}?uploads',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'ListMultipartUploadsOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadListMPUpload.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'Delimiter' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'delimiter',
),
'EncodingType' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'encoding-type',
),
'KeyMarker' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'key-marker',
),
'MaxUploads' => array(
'type' => 'numeric',
'location' => 'query',
'sentAs' => 'max-uploads',
),
'Prefix' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'prefix',
),
'UploadIdMarker' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'upload-id-marker',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
),
'ListObjectVersions' => array(
'httpMethod' => 'GET',
'uri' => '/{Bucket}?versions',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'ListObjectVersionsOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETVersion.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'Delimiter' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'delimiter',
),
'EncodingType' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'encoding-type',
),
'KeyMarker' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'key-marker',
),
'MaxKeys' => array(
'type' => 'numeric',
'location' => 'query',
'sentAs' => 'max-keys',
),
'Prefix' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'prefix',
),
'VersionIdMarker' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'version-id-marker',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
),
'ListObjects' => array(
'httpMethod' => 'GET',
'uri' => '/{Bucket}',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'ListObjectsOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGET.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'Delimiter' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'delimiter',
),
'EncodingType' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'encoding-type',
),
'Marker' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'marker',
),
'MaxKeys' => array(
'type' => 'numeric',
'location' => 'query',
'sentAs' => 'max-keys',
),
'Prefix' => array(
'type' => 'string',
'location' => 'query',
'sentAs' => 'prefix',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
'errorResponses' => array(
array(
'reason' => 'The specified bucket does not exist.',
'class' => 'NoSuchBucketException',
),
),
),
'ListParts' => array(
'httpMethod' => 'GET',
'uri' => '/{Bucket}{/Key*}',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'ListPartsOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadListParts.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'Key' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
'filters' => array(
'Aws\\S3\\S3Client::explodeKey',
),
),
'MaxParts' => array(
'type' => 'numeric',
'location' => 'query',
'sentAs' => 'max-parts',
),
'PartNumberMarker' => array(
'type' => 'numeric',
'location' => 'query',
'sentAs' => 'part-number-marker',
),
'UploadId' => array(
'required' => true,
'type' => 'string',
'location' => 'query',
'sentAs' => 'uploadId',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
),
'PutBucketAcl' => array(
'httpMethod' => 'PUT',
'uri' => '/{Bucket}?acl',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'PutBucketAclOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html',
'data' => array(
'xmlRoot' => array(
'name' => 'AccessControlPolicy',
'namespaces' => array(
'http://s3.amazonaws.com/doc/2006-03-01/',
),
),
),
'parameters' => array(
'ACL' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-acl',
),
'Grants' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'AccessControlList',
'items' => array(
'name' => 'Grant',
'type' => 'object',
'properties' => array(
'Grantee' => array(
'type' => 'object',
'properties' => array(
'DisplayName' => array(
'type' => 'string',
),
'EmailAddress' => array(
'type' => 'string',
),
'ID' => array(
'type' => 'string',
),
'Type' => array(
'required' => true,
'type' => 'string',
'sentAs' => 'xsi:type',
'data' => array(
'xmlAttribute' => true,
'xmlNamespace' => 'http://www.w3.org/2001/XMLSchema-instance',
),
),
'URI' => array(
'type' => 'string',
),
),
),
'Permission' => array(
'type' => 'string',
),
),
),
),
'Owner' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'DisplayName' => array(
'type' => 'string',
),
'ID' => array(
'type' => 'string',
),
),
),
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'GrantFullControl' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-grant-full-control',
),
'GrantRead' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-grant-read',
),
'GrantReadACP' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-grant-read-acp',
),
'GrantWrite' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-grant-write',
),
'GrantWriteACP' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-grant-write-acp',
),
'ACP' => array(
'type' => 'object',
'additionalProperties' => true,
),
),
),
'PutBucketCors' => array(
'httpMethod' => 'PUT',
'uri' => '/{Bucket}?cors',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'PutBucketCorsOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTcors.html',
'data' => array(
'xmlRoot' => array(
'name' => 'CORSConfiguration',
'namespaces' => array(
'http://s3.amazonaws.com/doc/2006-03-01/',
),
),
'contentMd5' => true,
),
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'CORSRules' => array(
'type' => 'array',
'location' => 'xml',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'type' => 'object',
'sentAs' => 'CORSRule',
'properties' => array(
'AllowedHeaders' => array(
'type' => 'array',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'type' => 'string',
'sentAs' => 'AllowedHeader',
),
),
'AllowedMethods' => array(
'type' => 'array',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'type' => 'string',
'sentAs' => 'AllowedMethod',
),
),
'AllowedOrigins' => array(
'type' => 'array',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'type' => 'string',
'sentAs' => 'AllowedOrigin',
),
),
'ExposeHeaders' => array(
'type' => 'array',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'type' => 'string',
'sentAs' => 'ExposeHeader',
),
),
'MaxAgeSeconds' => array(
'type' => 'numeric',
),
),
),
),
),
),
'PutBucketLifecycle' => array(
'httpMethod' => 'PUT',
'uri' => '/{Bucket}?lifecycle',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'PutBucketLifecycleOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html',
'data' => array(
'xmlRoot' => array(
'name' => 'LifecycleConfiguration',
'namespaces' => array(
'http://s3.amazonaws.com/doc/2006-03-01/',
),
),
'contentMd5' => true,
),
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'Rules' => array(
'required' => true,
'type' => 'array',
'location' => 'xml',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'type' => 'object',
'sentAs' => 'Rule',
'properties' => array(
'Expiration' => array(
'type' => 'object',
'properties' => array(
'Date' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
),
'Days' => array(
'type' => 'numeric',
),
),
),
'ID' => array(
'type' => 'string',
),
'Prefix' => array(
'required' => true,
'type' => 'string',
),
'Status' => array(
'required' => true,
'type' => 'string',
),
'Transition' => array(
'type' => 'object',
'properties' => array(
'Date' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time',
),
'Days' => array(
'type' => 'numeric',
),
'StorageClass' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'PutBucketLogging' => array(
'httpMethod' => 'PUT',
'uri' => '/{Bucket}?logging',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'PutBucketLoggingOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html',
'data' => array(
'xmlRoot' => array(
'name' => 'BucketLoggingStatus',
'namespaces' => array(
'http://s3.amazonaws.com/doc/2006-03-01/',
),
),
'xmlAllowEmpty' => true,
),
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'LoggingEnabled' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'TargetBucket' => array(
'type' => 'string',
),
'TargetGrants' => array(
'type' => 'array',
'items' => array(
'name' => 'Grant',
'type' => 'object',
'properties' => array(
'Grantee' => array(
'type' => 'object',
'properties' => array(
'DisplayName' => array(
'type' => 'string',
),
'EmailAddress' => array(
'type' => 'string',
),
'ID' => array(
'type' => 'string',
),
'Type' => array(
'required' => true,
'type' => 'string',
'sentAs' => 'xsi:type',
'data' => array(
'xmlAttribute' => true,
'xmlNamespace' => 'http://www.w3.org/2001/XMLSchema-instance',
),
),
'URI' => array(
'type' => 'string',
),
),
),
'Permission' => array(
'type' => 'string',
),
),
),
),
'TargetPrefix' => array(
'type' => 'string',
),
),
),
),
),
'PutBucketNotification' => array(
'httpMethod' => 'PUT',
'uri' => '/{Bucket}?notification',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'PutBucketNotificationOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTnotification.html',
'data' => array(
'xmlRoot' => array(
'name' => 'NotificationConfiguration',
'namespaces' => array(
'http://s3.amazonaws.com/doc/2006-03-01/',
),
),
),
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'TopicConfiguration' => array(
'required' => true,
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Event' => array(
'type' => 'string',
),
'Topic' => array(
'type' => 'string',
),
),
),
),
),
'PutBucketPolicy' => array(
'httpMethod' => 'PUT',
'uri' => '/{Bucket}?policy',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'PutBucketPolicyOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTpolicy.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'Policy' => array(
'required' => true,
'type' => array(
'string',
'object',
),
'location' => 'body',
),
),
),
'PutBucketRequestPayment' => array(
'httpMethod' => 'PUT',
'uri' => '/{Bucket}?requestPayment',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'PutBucketRequestPaymentOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTrequestPaymentPUT.html',
'data' => array(
'xmlRoot' => array(
'name' => 'RequestPaymentConfiguration',
'namespaces' => array(
'http://s3.amazonaws.com/doc/2006-03-01/',
),
),
),
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'Payer' => array(
'required' => true,
'type' => 'string',
'location' => 'xml',
),
),
),
'PutBucketTagging' => array(
'httpMethod' => 'PUT',
'uri' => '/{Bucket}?tagging',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'PutBucketTaggingOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTtagging.html',
'data' => array(
'xmlRoot' => array(
'name' => 'Tagging',
'namespaces' => array(
'http://s3.amazonaws.com/doc/2006-03-01/',
),
),
'contentMd5' => true,
),
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'TagSet' => array(
'required' => true,
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Tag',
'required' => true,
'type' => 'object',
'properties' => array(
'Key' => array(
'required' => true,
'type' => 'string',
),
'Value' => array(
'required' => true,
'type' => 'string',
),
),
),
),
),
),
'PutBucketVersioning' => array(
'httpMethod' => 'PUT',
'uri' => '/{Bucket}?versioning',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'PutBucketVersioningOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html',
'data' => array(
'xmlRoot' => array(
'name' => 'VersioningConfiguration',
'namespaces' => array(
'http://s3.amazonaws.com/doc/2006-03-01/',
),
),
),
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'MFA' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-mfa',
),
'MFADelete' => array(
'type' => 'string',
'location' => 'xml',
),
'Status' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'PutBucketWebsite' => array(
'httpMethod' => 'PUT',
'uri' => '/{Bucket}?website',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'PutBucketWebsiteOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTwebsite.html',
'data' => array(
'xmlRoot' => array(
'name' => 'WebsiteConfiguration',
'namespaces' => array(
'http://s3.amazonaws.com/doc/2006-03-01/',
),
),
'xmlAllowEmpty' => true,
),
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'ErrorDocument' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Key' => array(
'required' => true,
'type' => 'string',
),
),
),
'IndexDocument' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Suffix' => array(
'required' => true,
'type' => 'string',
),
),
),
'RedirectAllRequestsTo' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'HostName' => array(
'required' => true,
'type' => 'string',
),
'Protocol' => array(
'type' => 'string',
),
),
),
'RoutingRules' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'RoutingRule',
'type' => 'object',
'properties' => array(
'Condition' => array(
'type' => 'object',
'properties' => array(
'HttpErrorCodeReturnedEquals' => array(
'type' => 'string',
),
'KeyPrefixEquals' => array(
'type' => 'string',
),
),
),
'Redirect' => array(
'required' => true,
'type' => 'object',
'properties' => array(
'HostName' => array(
'type' => 'string',
),
'HttpRedirectCode' => array(
'type' => 'string',
),
'Protocol' => array(
'type' => 'string',
),
'ReplaceKeyPrefixWith' => array(
'type' => 'string',
),
'ReplaceKeyWith' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
'PutObject' => array(
'httpMethod' => 'PUT',
'uri' => '/{Bucket}{/Key*}',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'PutObjectOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html',
'parameters' => array(
'ACL' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-acl',
),
'Body' => array(
'type' => array(
'string',
'object',
),
'location' => 'body',
),
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'CacheControl' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Cache-Control',
),
'ContentDisposition' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Content-Disposition',
),
'ContentEncoding' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Content-Encoding',
),
'ContentLanguage' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Content-Language',
),
'ContentLength' => array(
'type' => 'numeric',
'location' => 'header',
'sentAs' => 'Content-Length',
),
'ContentMD5' => array(
'type' => array(
'string',
'boolean',
),
'location' => 'header',
'sentAs' => 'Content-MD5',
),
'ContentType' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Content-Type',
),
'Expires' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time-http',
'location' => 'header',
),
'GrantFullControl' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-grant-full-control',
),
'GrantRead' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-grant-read',
),
'GrantReadACP' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-grant-read-acp',
),
'GrantWriteACP' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-grant-write-acp',
),
'Key' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
'filters' => array(
'Aws\\S3\\S3Client::explodeKey',
),
),
'Metadata' => array(
'type' => 'object',
'location' => 'header',
'sentAs' => 'x-amz-meta-',
'additionalProperties' => array(
'type' => 'string',
),
),
'ServerSideEncryption' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-server-side-encryption',
),
'StorageClass' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-storage-class',
),
'WebsiteRedirectLocation' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-website-redirect-location',
),
'ACP' => array(
'type' => 'object',
'additionalProperties' => true,
),
),
),
'PutObjectAcl' => array(
'httpMethod' => 'PUT',
'uri' => '/{Bucket}{/Key*}?acl',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'PutObjectAclOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTacl.html',
'data' => array(
'xmlRoot' => array(
'name' => 'AccessControlPolicy',
'namespaces' => array(
'http://s3.amazonaws.com/doc/2006-03-01/',
),
),
),
'parameters' => array(
'ACL' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-acl',
),
'Grants' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'AccessControlList',
'items' => array(
'name' => 'Grant',
'type' => 'object',
'properties' => array(
'Grantee' => array(
'type' => 'object',
'properties' => array(
'DisplayName' => array(
'type' => 'string',
),
'EmailAddress' => array(
'type' => 'string',
),
'ID' => array(
'type' => 'string',
),
'Type' => array(
'required' => true,
'type' => 'string',
'sentAs' => 'xsi:type',
'data' => array(
'xmlAttribute' => true,
'xmlNamespace' => 'http://www.w3.org/2001/XMLSchema-instance',
),
),
'URI' => array(
'type' => 'string',
),
),
),
'Permission' => array(
'type' => 'string',
),
),
),
),
'Owner' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'DisplayName' => array(
'type' => 'string',
),
'ID' => array(
'type' => 'string',
),
),
),
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'GrantFullControl' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-grant-full-control',
),
'GrantRead' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-grant-read',
),
'GrantReadACP' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-grant-read-acp',
),
'GrantWrite' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-grant-write',
),
'GrantWriteACP' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-grant-write-acp',
),
'Key' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
'filters' => array(
'Aws\\S3\\S3Client::explodeKey',
),
),
'ACP' => array(
'type' => 'object',
'additionalProperties' => true,
),
),
'errorResponses' => array(
array(
'reason' => 'The specified key does not exist.',
'class' => 'NoSuchKeyException',
),
),
),
'RestoreObject' => array(
'httpMethod' => 'POST',
'uri' => '/{Bucket}{/Key*}?restore',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'RestoreObjectOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectRestore.html',
'data' => array(
'xmlRoot' => array(
'name' => 'RestoreRequest',
'namespaces' => array(
'http://s3.amazonaws.com/doc/2006-03-01/',
),
),
),
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'Key' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
'filters' => array(
'Aws\\S3\\S3Client::explodeKey',
),
),
'Days' => array(
'required' => true,
'type' => 'numeric',
'location' => 'xml',
),
),
'errorResponses' => array(
array(
'reason' => 'This operation is not allowed against this storage tier',
'class' => 'ObjectAlreadyInActiveTierErrorException',
),
),
),
'UploadPart' => array(
'httpMethod' => 'PUT',
'uri' => '/{Bucket}{/Key*}',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'UploadPartOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadUploadPart.html',
'parameters' => array(
'Body' => array(
'type' => array(
'string',
'object',
),
'location' => 'body',
),
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'ContentLength' => array(
'type' => 'numeric',
'location' => 'header',
'sentAs' => 'Content-Length',
),
'ContentMD5' => array(
'type' => array(
'string',
'boolean',
),
'location' => 'header',
'sentAs' => 'Content-MD5',
),
'Key' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
'filters' => array(
'Aws\\S3\\S3Client::explodeKey',
),
),
'PartNumber' => array(
'required' => true,
'type' => 'numeric',
'location' => 'query',
'sentAs' => 'partNumber',
),
'UploadId' => array(
'required' => true,
'type' => 'string',
'location' => 'query',
'sentAs' => 'uploadId',
),
),
),
'UploadPartCopy' => array(
'httpMethod' => 'PUT',
'uri' => '/{Bucket}{/Key*}',
'class' => 'Aws\\S3\\Command\\S3Command',
'responseClass' => 'UploadPartCopyOutput',
'responseType' => 'model',
'documentationUrl' => 'http://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadUploadPartCopy.html',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
),
'CopySource' => array(
'required' => true,
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-copy-source',
),
'CopySourceIfMatch' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time-http',
'location' => 'header',
'sentAs' => 'x-amz-copy-source-if-match',
),
'CopySourceIfModifiedSince' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time-http',
'location' => 'header',
'sentAs' => 'x-amz-copy-source-if-modified-since',
),
'CopySourceIfNoneMatch' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time-http',
'location' => 'header',
'sentAs' => 'x-amz-copy-source-if-none-match',
),
'CopySourceIfUnmodifiedSince' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'date-time-http',
'location' => 'header',
'sentAs' => 'x-amz-copy-source-if-unmodified-since',
),
'CopySourceRange' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-copy-source-range',
),
'Key' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
'filters' => array(
'Aws\\S3\\S3Client::explodeKey',
),
),
'PartNumber' => array(
'required' => true,
'type' => 'numeric',
'location' => 'query',
'sentAs' => 'partNumber',
),
'UploadId' => array(
'required' => true,
'type' => 'string',
'location' => 'query',
'sentAs' => 'uploadId',
),
'command.expects' => array(
'static' => true,
'default' => 'application/xml',
),
),
),
),
'models' => array(
'AbortMultipartUploadOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'CompleteMultipartUploadOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Bucket' => array(
'type' => 'string',
'location' => 'xml',
),
'ETag' => array(
'type' => 'string',
'location' => 'xml',
),
'Expiration' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-expiration',
),
'Key' => array(
'type' => 'string',
'location' => 'xml',
),
'Location' => array(
'type' => 'string',
'location' => 'xml',
),
'ServerSideEncryption' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-server-side-encryption',
),
'VersionId' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-version-id',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'CopyObjectOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ETag' => array(
'type' => 'string',
'location' => 'xml',
),
'LastModified' => array(
'type' => 'string',
'location' => 'xml',
),
'CopySourceVersionId' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-copy-source-version-id',
),
'Expiration' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-expiration',
),
'ServerSideEncryption' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-server-side-encryption',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'CreateBucketOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Location' => array(
'type' => 'string',
'location' => 'header',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'CreateMultipartUploadOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Bucket' => array(
'type' => 'string',
'location' => 'xml',
'sentAs' => 'Bucket',
),
'Key' => array(
'type' => 'string',
'location' => 'xml',
),
'ServerSideEncryption' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-server-side-encryption',
),
'UploadId' => array(
'type' => 'string',
'location' => 'xml',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'DeleteBucketOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'DeleteBucketCorsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'DeleteBucketLifecycleOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'DeleteBucketPolicyOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'DeleteBucketTaggingOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'DeleteBucketWebsiteOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'DeleteObjectOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'DeleteMarker' => array(
'type' => 'boolean',
'location' => 'header',
'sentAs' => 'x-amz-delete-marker',
),
'VersionId' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-version-id',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'DeleteObjectsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Deleted' => array(
'type' => 'array',
'location' => 'xml',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'type' => 'object',
'properties' => array(
'DeleteMarker' => array(
'type' => 'boolean',
),
'DeleteMarkerVersionId' => array(
'type' => 'string',
),
'Key' => array(
'type' => 'string',
),
'VersionId' => array(
'type' => 'string',
),
),
),
),
'Errors' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'Error',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'type' => 'object',
'sentAs' => 'Error',
'properties' => array(
'Code' => array(
'type' => 'string',
),
'Key' => array(
'type' => 'string',
),
'Message' => array(
'type' => 'string',
),
'VersionId' => array(
'type' => 'string',
),
),
),
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetBucketAclOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Grants' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'AccessControlList',
'items' => array(
'name' => 'Grant',
'type' => 'object',
'sentAs' => 'Grant',
'properties' => array(
'Grantee' => array(
'type' => 'object',
'properties' => array(
'DisplayName' => array(
'type' => 'string',
),
'EmailAddress' => array(
'type' => 'string',
),
'ID' => array(
'type' => 'string',
),
'Type' => array(
'type' => 'string',
'sentAs' => 'xsi:type',
'data' => array(
'xmlAttribute' => true,
'xmlNamespace' => 'http://www.w3.org/2001/XMLSchema-instance',
),
),
'URI' => array(
'type' => 'string',
),
),
),
'Permission' => array(
'type' => 'string',
),
),
),
),
'Owner' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'DisplayName' => array(
'type' => 'string',
),
'ID' => array(
'type' => 'string',
),
),
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetBucketCorsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'CORSRules' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'CORSRule',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'type' => 'object',
'sentAs' => 'CORSRule',
'properties' => array(
'AllowedHeaders' => array(
'type' => 'array',
'sentAs' => 'AllowedHeader',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'type' => 'string',
'sentAs' => 'AllowedHeader',
),
),
'AllowedMethods' => array(
'type' => 'array',
'sentAs' => 'AllowedMethod',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'type' => 'string',
'sentAs' => 'AllowedMethod',
),
),
'AllowedOrigins' => array(
'type' => 'array',
'sentAs' => 'AllowedOrigin',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'type' => 'string',
'sentAs' => 'AllowedOrigin',
),
),
'ExposeHeaders' => array(
'type' => 'array',
'sentAs' => 'ExposeHeader',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'type' => 'string',
'sentAs' => 'ExposeHeader',
),
),
'MaxAgeSeconds' => array(
'type' => 'numeric',
),
),
),
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetBucketLifecycleOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Rules' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'Rule',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'type' => 'object',
'sentAs' => 'Rule',
'properties' => array(
'Expiration' => array(
'type' => 'object',
'properties' => array(
'Date' => array(
'type' => 'string',
),
'Days' => array(
'type' => 'numeric',
),
),
),
'ID' => array(
'type' => 'string',
),
'Prefix' => array(
'type' => 'string',
),
'Status' => array(
'type' => 'string',
),
'Transition' => array(
'type' => 'object',
'properties' => array(
'Date' => array(
'type' => 'string',
),
'Days' => array(
'type' => 'numeric',
),
'StorageClass' => array(
'type' => 'string',
),
),
),
),
),
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetBucketLocationOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Location' => array(
'type' => 'string',
'location' => 'body',
'filters' => array(
'strval',
'strip_tags',
'trim',
),
),
),
),
'GetBucketLoggingOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'LoggingEnabled' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'TargetBucket' => array(
'type' => 'string',
),
'TargetGrants' => array(
'type' => 'array',
'items' => array(
'name' => 'Grant',
'type' => 'object',
'sentAs' => 'Grant',
'properties' => array(
'Grantee' => array(
'type' => 'object',
'properties' => array(
'DisplayName' => array(
'type' => 'string',
),
'EmailAddress' => array(
'type' => 'string',
),
'ID' => array(
'type' => 'string',
),
'Type' => array(
'type' => 'string',
'sentAs' => 'xsi:type',
'data' => array(
'xmlAttribute' => true,
'xmlNamespace' => 'http://www.w3.org/2001/XMLSchema-instance',
),
),
'URI' => array(
'type' => 'string',
),
),
),
'Permission' => array(
'type' => 'string',
),
),
),
),
'TargetPrefix' => array(
'type' => 'string',
),
),
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetBucketNotificationOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'TopicConfiguration' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Event' => array(
'type' => 'string',
),
'Topic' => array(
'type' => 'string',
),
),
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetBucketPolicyOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Policy' => array(
'type' => 'string',
'instanceOf' => 'Guzzle\\Http\\EntityBody',
'location' => 'body',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetBucketRequestPaymentOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Payer' => array(
'type' => 'string',
'location' => 'xml',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetBucketTaggingOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'TagSet' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Tag',
'type' => 'object',
'sentAs' => 'Tag',
'properties' => array(
'Key' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetBucketVersioningOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'MFADelete' => array(
'type' => 'string',
'location' => 'xml',
),
'Status' => array(
'type' => 'string',
'location' => 'xml',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetBucketWebsiteOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ErrorDocument' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Key' => array(
'type' => 'string',
),
),
),
'IndexDocument' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'Suffix' => array(
'type' => 'string',
),
),
),
'RedirectAllRequestsTo' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'HostName' => array(
'type' => 'string',
),
'Protocol' => array(
'type' => 'string',
),
),
),
'RoutingRules' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'RoutingRule',
'type' => 'object',
'sentAs' => 'RoutingRule',
'properties' => array(
'Condition' => array(
'type' => 'object',
'properties' => array(
'HttpErrorCodeReturnedEquals' => array(
'type' => 'string',
),
'KeyPrefixEquals' => array(
'type' => 'string',
),
),
),
'Redirect' => array(
'type' => 'object',
'properties' => array(
'HostName' => array(
'type' => 'string',
),
'HttpRedirectCode' => array(
'type' => 'string',
),
'Protocol' => array(
'type' => 'string',
),
'ReplaceKeyPrefixWith' => array(
'type' => 'string',
),
'ReplaceKeyWith' => array(
'type' => 'string',
),
),
),
),
),
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetObjectOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'AcceptRanges' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'accept-ranges',
),
'Body' => array(
'type' => 'string',
'instanceOf' => 'Guzzle\\Http\\EntityBody',
'location' => 'body',
),
'CacheControl' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Cache-Control',
),
'ContentDisposition' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Content-Disposition',
),
'ContentEncoding' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Content-Encoding',
),
'ContentLanguage' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Content-Language',
),
'ContentLength' => array(
'type' => 'numeric',
'location' => 'header',
'sentAs' => 'Content-Length',
),
'ContentType' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Content-Type',
),
'DeleteMarker' => array(
'type' => 'boolean',
'location' => 'header',
'sentAs' => 'x-amz-delete-marker',
),
'ETag' => array(
'type' => 'string',
'location' => 'header',
),
'Expiration' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-expiration',
),
'Expires' => array(
'type' => 'string',
'location' => 'header',
),
'LastModified' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Last-Modified',
),
'Metadata' => array(
'type' => 'object',
'location' => 'header',
'sentAs' => 'x-amz-meta-',
'additionalProperties' => array(
'type' => 'string',
),
),
'MissingMeta' => array(
'type' => 'numeric',
'location' => 'header',
'sentAs' => 'x-amz-missing-meta',
),
'Restore' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-restore',
),
'ServerSideEncryption' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-server-side-encryption',
),
'VersionId' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-version-id',
),
'WebsiteRedirectLocation' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-website-redirect-location',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetObjectAclOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Grants' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'AccessControlList',
'items' => array(
'name' => 'Grant',
'type' => 'object',
'sentAs' => 'Grant',
'properties' => array(
'Grantee' => array(
'type' => 'object',
'properties' => array(
'DisplayName' => array(
'type' => 'string',
),
'EmailAddress' => array(
'type' => 'string',
),
'ID' => array(
'type' => 'string',
),
'Type' => array(
'type' => 'string',
'sentAs' => 'xsi:type',
'data' => array(
'xmlAttribute' => true,
'xmlNamespace' => 'http://www.w3.org/2001/XMLSchema-instance',
),
),
'URI' => array(
'type' => 'string',
),
),
),
'Permission' => array(
'type' => 'string',
),
),
),
),
'Owner' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'DisplayName' => array(
'type' => 'string',
),
'ID' => array(
'type' => 'string',
),
),
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'GetObjectTorrentOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Body' => array(
'type' => 'string',
'instanceOf' => 'Guzzle\\Http\\EntityBody',
'location' => 'body',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'HeadBucketOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'HeadObjectOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'AcceptRanges' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'accept-ranges',
),
'CacheControl' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Cache-Control',
),
'ContentDisposition' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Content-Disposition',
),
'ContentEncoding' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Content-Encoding',
),
'ContentLanguage' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Content-Language',
),
'ContentLength' => array(
'type' => 'numeric',
'location' => 'header',
'sentAs' => 'Content-Length',
),
'ContentType' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Content-Type',
),
'DeleteMarker' => array(
'type' => 'boolean',
'location' => 'header',
'sentAs' => 'x-amz-delete-marker',
),
'ETag' => array(
'type' => 'string',
'location' => 'header',
),
'Expiration' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-expiration',
),
'Expires' => array(
'type' => 'string',
'location' => 'header',
),
'LastModified' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Last-Modified',
),
'Metadata' => array(
'type' => 'object',
'location' => 'header',
'sentAs' => 'x-amz-meta-',
'additionalProperties' => array(
'type' => 'string',
),
),
'MissingMeta' => array(
'type' => 'numeric',
'location' => 'header',
'sentAs' => 'x-amz-missing-meta',
),
'Restore' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-restore',
),
'ServerSideEncryption' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-server-side-encryption',
),
'VersionId' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-version-id',
),
'WebsiteRedirectLocation' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-website-redirect-location',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'ListBucketsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Buckets' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Bucket',
'type' => 'object',
'sentAs' => 'Bucket',
'properties' => array(
'CreationDate' => array(
'type' => 'string',
),
'Name' => array(
'type' => 'string',
),
),
),
),
'Owner' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'DisplayName' => array(
'type' => 'string',
),
'ID' => array(
'type' => 'string',
),
),
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'ListMultipartUploadsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Bucket' => array(
'type' => 'string',
'location' => 'xml',
),
'CommonPrefixes' => array(
'type' => 'array',
'location' => 'xml',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'type' => 'object',
'properties' => array(
'Prefix' => array(
'type' => 'string',
),
),
),
),
'EncodingType' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Encoding-Type',
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
'KeyMarker' => array(
'type' => 'string',
'location' => 'xml',
),
'MaxUploads' => array(
'type' => 'numeric',
'location' => 'xml',
),
'NextKeyMarker' => array(
'type' => 'string',
'location' => 'xml',
),
'NextUploadIdMarker' => array(
'type' => 'string',
'location' => 'xml',
),
'Prefix' => array(
'type' => 'string',
'location' => 'xml',
),
'UploadIdMarker' => array(
'type' => 'string',
'location' => 'xml',
),
'Uploads' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'Upload',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'type' => 'object',
'sentAs' => 'Upload',
'properties' => array(
'Initiated' => array(
'type' => 'string',
),
'Initiator' => array(
'type' => 'object',
'properties' => array(
'DisplayName' => array(
'type' => 'string',
),
'ID' => array(
'type' => 'string',
),
),
),
'Key' => array(
'type' => 'string',
),
'Owner' => array(
'type' => 'object',
'properties' => array(
'DisplayName' => array(
'type' => 'string',
),
'ID' => array(
'type' => 'string',
),
),
),
'StorageClass' => array(
'type' => 'string',
),
'UploadId' => array(
'type' => 'string',
),
),
),
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'ListObjectVersionsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'CommonPrefixes' => array(
'type' => 'array',
'location' => 'xml',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'type' => 'object',
'properties' => array(
'Prefix' => array(
'type' => 'string',
),
),
),
),
'DeleteMarkers' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'DeleteMarker',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'type' => 'object',
'sentAs' => 'DeleteMarker',
'properties' => array(
'IsLatest' => array(
'type' => 'boolean',
),
'Key' => array(
'type' => 'string',
),
'LastModified' => array(
'type' => 'string',
),
'Owner' => array(
'type' => 'object',
'properties' => array(
'DisplayName' => array(
'type' => 'string',
),
'ID' => array(
'type' => 'string',
),
),
),
'VersionId' => array(
'type' => 'string',
),
),
),
),
'EncodingType' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Encoding-Type',
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
'KeyMarker' => array(
'type' => 'string',
'location' => 'xml',
),
'MaxKeys' => array(
'type' => 'numeric',
'location' => 'xml',
),
'Name' => array(
'type' => 'string',
'location' => 'xml',
),
'NextKeyMarker' => array(
'type' => 'string',
'location' => 'xml',
),
'NextVersionIdMarker' => array(
'type' => 'string',
'location' => 'xml',
),
'Prefix' => array(
'type' => 'string',
'location' => 'xml',
),
'VersionIdMarker' => array(
'type' => 'string',
'location' => 'xml',
),
'Versions' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'Version',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'type' => 'object',
'sentAs' => 'Version',
'properties' => array(
'ETag' => array(
'type' => 'string',
),
'IsLatest' => array(
'type' => 'boolean',
),
'Key' => array(
'type' => 'string',
),
'LastModified' => array(
'type' => 'string',
),
'Owner' => array(
'type' => 'object',
'properties' => array(
'DisplayName' => array(
'type' => 'string',
),
'ID' => array(
'type' => 'string',
),
),
),
'Size' => array(
'type' => 'string',
),
'StorageClass' => array(
'type' => 'string',
),
'VersionId' => array(
'type' => 'string',
),
),
),
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'ListObjectsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'CommonPrefixes' => array(
'type' => 'array',
'location' => 'xml',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'type' => 'object',
'properties' => array(
'Prefix' => array(
'type' => 'string',
),
),
),
),
'Contents' => array(
'type' => 'array',
'location' => 'xml',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'type' => 'object',
'properties' => array(
'ETag' => array(
'type' => 'string',
),
'Key' => array(
'type' => 'string',
),
'LastModified' => array(
'type' => 'string',
),
'Owner' => array(
'type' => 'object',
'properties' => array(
'DisplayName' => array(
'type' => 'string',
),
'ID' => array(
'type' => 'string',
),
),
),
'Size' => array(
'type' => 'numeric',
),
'StorageClass' => array(
'type' => 'string',
),
),
),
),
'EncodingType' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'Encoding-Type',
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
'Marker' => array(
'type' => 'string',
'location' => 'xml',
),
'MaxKeys' => array(
'type' => 'numeric',
'location' => 'xml',
),
'Name' => array(
'type' => 'string',
'location' => 'xml',
),
'NextMarker' => array(
'type' => 'string',
'location' => 'xml',
),
'Prefix' => array(
'type' => 'string',
'location' => 'xml',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'ListPartsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Bucket' => array(
'type' => 'string',
'location' => 'xml',
),
'Initiator' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'DisplayName' => array(
'type' => 'string',
),
'ID' => array(
'type' => 'string',
),
),
),
'IsTruncated' => array(
'type' => 'boolean',
'location' => 'xml',
),
'Key' => array(
'type' => 'string',
'location' => 'xml',
),
'MaxParts' => array(
'type' => 'numeric',
'location' => 'xml',
),
'NextPartNumberMarker' => array(
'type' => 'numeric',
'location' => 'xml',
),
'Owner' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'DisplayName' => array(
'type' => 'string',
),
'ID' => array(
'type' => 'string',
),
),
),
'PartNumberMarker' => array(
'type' => 'numeric',
'location' => 'xml',
),
'Parts' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'Part',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'type' => 'object',
'sentAs' => 'Part',
'properties' => array(
'ETag' => array(
'type' => 'string',
),
'LastModified' => array(
'type' => 'string',
),
'PartNumber' => array(
'type' => 'numeric',
),
'Size' => array(
'type' => 'numeric',
),
),
),
),
'StorageClass' => array(
'type' => 'string',
'location' => 'xml',
),
'UploadId' => array(
'type' => 'string',
'location' => 'xml',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'PutBucketAclOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'PutBucketCorsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'PutBucketLifecycleOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'PutBucketLoggingOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'PutBucketNotificationOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'PutBucketPolicyOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'PutBucketRequestPaymentOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'PutBucketTaggingOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'PutBucketVersioningOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'PutBucketWebsiteOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'PutObjectOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ETag' => array(
'type' => 'string',
'location' => 'header',
),
'Expiration' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-expiration',
),
'ServerSideEncryption' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-server-side-encryption',
),
'VersionId' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-version-id',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
'ObjectURL' => array(
),
),
),
'PutObjectAclOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'RestoreObjectOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'UploadPartOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ETag' => array(
'type' => 'string',
'location' => 'header',
),
'ServerSideEncryption' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-server-side-encryption',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
'UploadPartCopyOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ETag' => array(
'type' => 'string',
'location' => 'xml',
),
'LastModified' => array(
'type' => 'string',
'location' => 'xml',
),
'CopySourceVersionId' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-copy-source-version-id',
),
'ServerSideEncryption' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-amz-server-side-encryption',
),
'RequestId' => array(
'location' => 'header',
'sentAs' => 'x-amz-request-id',
),
),
),
),
'waiters' => array(
'__default__' => array(
'interval' => 5,
'max_attempts' => 20,
),
'BucketExists' => array(
'operation' => 'HeadBucket',
'success.type' => 'output',
'ignore_errors' => array(
'NoSuchBucket',
),
),
'BucketNotExists' => array(
'operation' => 'HeadBucket',
'success.type' => 'error',
'success.value' => 'NoSuchBucket',
),
'ObjectExists' => array(
'operation' => 'HeadObject',
'success.type' => 'output',
'ignore_errors' => array(
'NoSuchKey',
),
),
),
);
sdk-2.5.2/Aws/S3/Sync/AbstractSync.php 0000644 115327001610067500000007745 12272324173 014470 0 ustar options = Collection::fromConfig(
$options,
array('concurrency' => 10),
array('client', 'bucket', 'iterator', 'source_converter')
);
$this->init();
}
public static function getAllEvents()
{
return array(self::BEFORE_TRANSFER, self::AFTER_TRANSFER);
}
/**
* Begin transferring files
*/
public function transfer()
{
// Pull out chunks of uploads to upload in parallel
$iterator = new ChunkedIterator($this->options['iterator'], $this->options['concurrency']);
foreach ($iterator as $files) {
$this->transferFiles($files);
}
}
/**
* Create a command or special transfer action for the
*
* @param \SplFileInfo $file File used to build the transfer
*
* @return CommandInterface|callable
*/
abstract protected function createTransferAction(\SplFileInfo $file);
/**
* Hook to initialize subclasses
* @codeCoverageIgnore
*/
protected function init() {}
/**
* Process and transfer a group of files
*
* @param array $files Files to transfer
*/
protected function transferFiles(array $files)
{
// Create the base event data object
$event = array('sync' => $this, 'client' => $this->options['client']);
$commands = array();
foreach ($files as $file) {
if ($action = $this->createTransferAction($file)) {
$event = array('command' => $action, 'file' => $file) + $event;
$this->dispatch(self::BEFORE_TRANSFER, $event);
if ($action instanceof CommandInterface) {
$commands[] = $action;
} elseif (is_callable($action)) {
$action();
$this->dispatch(self::AFTER_TRANSFER, $event);
}
}
}
$this->transferCommands($commands);
}
/**
* Transfer an array of commands in parallel
*
* @param array $commands Commands to transfer
*/
protected function transferCommands(array $commands)
{
if ($commands) {
$this->options['client']->execute($commands);
// Notify listeners that each command finished
$event = array('sync' => $this, 'client' => $this->options['client']);
foreach ($commands as $command) {
$event['command'] = $command;
$this->dispatch(self::AFTER_TRANSFER, $event);
}
}
}
}
sdk-2.5.2/Aws/S3/Sync/AbstractSyncBuilder.php 0000644 115327001610067500000027714 12272324173 015775 0 ustar bucket = $bucket;
return $this;
}
/**
* Set the Amazon S3 client object that will send requests
*
* @param S3Client $client Amazon S3 client
*
* @return self
*/
public function setClient(S3Client $client)
{
$this->client = $client;
return $this;
}
/**
* Set a custom iterator that returns \SplFileInfo objects for the source data
*
* @param \Iterator $iterator
*
* @return self
*/
public function setSourceIterator(\Iterator $iterator)
{
$this->sourceIterator = $iterator;
return $this;
}
/**
* Set a custom object key provider instead of building one internally
*
* @param FileNameConverterInterface $converter Filename to object key provider
*
* @return self
*/
public function setSourceFilenameConverter(FilenameConverterInterface $converter)
{
$this->sourceConverter = $converter;
return $this;
}
/**
* Set a custom object key provider instead of building one internally
*
* @param FileNameConverterInterface $converter Filename to object key provider
*
* @return self
*/
public function setTargetFilenameConverter(FilenameConverterInterface $converter)
{
$this->targetConverter = $converter;
return $this;
}
/**
* Set the base directory of the files being transferred. The base directory is removed from each file path before
* converting the file path to an object key or vice versa.
*
* @param string $baseDir Base directory, which will be deleted from each uploaded object key
*
* @return self
*/
public function setBaseDir($baseDir)
{
$this->baseDir = $baseDir;
return $this;
}
/**
* Specify a prefix to prepend to each Amazon S3 object key or the prefix where object are stored in a bucket
*
* Can be used to upload files to a pseudo sub-folder key or only download files from a pseudo sub-folder
*
* @param string $keyPrefix Prefix for each uploaded key
*
* @return self
*/
public function setKeyPrefix($keyPrefix)
{
// Removing leading slash
$this->keyPrefix = ltrim($keyPrefix, '/');
return $this;
}
/**
* Specify the delimiter used for the targeted filesystem (default delimiter is "/")
*
* @param string $delimiter Delimiter to use to separate paths
*
* @return self
*/
public function setDelimiter($delimiter)
{
$this->delimiter = $delimiter;
return $this;
}
/**
* Specify an array of operation parameters to apply to each operation executed by the sync object
*
* @param array $params Associative array of PutObject (upload) GetObject (download) parameters
*
* @return self
*/
public function setOperationParams(array $params)
{
$this->params = $params;
return $this;
}
/**
* Set the number of files that can be transferred concurrently
*
* @param int $concurrency Number of concurrent transfers
*
* @return self
*/
public function setConcurrency($concurrency)
{
$this->concurrency = $concurrency;
return $this;
}
/**
* Set to true to force transfers even if a file already exists and has not changed
*
* @param bool $force Set to true to force transfers without checking if it has changed
*
* @return self
*/
public function force($force = false)
{
$this->forcing = (bool) $force;
return $this;
}
/**
* Enable debug mode
*
* @param bool|resource $enabledOrResource Set to true or false to enable or disable debug output. Pass an opened
* fopen resource to write to instead of writing to standard out.
* @return self
*/
public function enableDebugOutput($enabledOrResource = true)
{
$this->debug = $enabledOrResource;
return $this;
}
/**
* Add a filename filter that uses a regular expression to filter out files that you do not wish to transfer.
*
* @param string $search Regular expression search (in preg_match format). Any filename that matches this regex
* will not be transferred.
* @return self
*/
public function addRegexFilter($search)
{
$this->assertFileIteratorSet();
$this->sourceIterator = new FilterIterator($this->sourceIterator, function ($i) use ($search) {
return !preg_match($search, (string) $i);
});
$this->sourceIterator->rewind();
return $this;
}
/**
* Builds a UploadSync or DownloadSync object
*
* @return AbstractSync
*/
public function build()
{
$this->validateRequirements();
$this->sourceConverter = $this->sourceConverter ?: $this->getDefaultSourceConverter();
$this->targetConverter = $this->targetConverter ?: $this->getDefaultTargetConverter();
// Only wrap the source iterator in a changed files iterator if we are not forcing the transfers
if (!$this->forcing) {
$this->sourceIterator->rewind();
$this->sourceIterator = new ChangedFilesIterator(
new \NoRewindIterator($this->sourceIterator),
$this->getTargetIterator(),
$this->sourceConverter,
$this->targetConverter
);
$this->sourceIterator->rewind();
}
$sync = $this->specificBuild();
if ($this->params) {
$this->addCustomParamListener($sync);
}
if ($this->debug) {
$this->addDebugListener($sync, is_bool($this->debug) ? STDOUT : $this->debug);
}
return $sync;
}
/**
* Hook to implement in subclasses
*
* @return self
*/
abstract protected function specificBuild();
/**
* @return \Iterator
*/
abstract protected function getTargetIterator();
/**
* @return FilenameConverterInterface
*/
abstract protected function getDefaultSourceConverter();
/**
* @return FilenameConverterInterface
*/
abstract protected function getDefaultTargetConverter();
/**
* Add a listener to the sync object to output debug information while transferring
*
* @param AbstractSync $sync Sync object to listen to
* @param resource $resource Where to write debug messages
*/
abstract protected function addDebugListener(AbstractSync $sync, $resource);
/**
* Validate that the builder has the minimal requirements
*
* @throws RuntimeException if the builder is not configured completely
*/
protected function validateRequirements()
{
if (!$this->client) {
throw new RuntimeException('No client was provided');
}
if (!$this->bucket) {
throw new RuntimeException('No bucket was provided');
}
$this->assertFileIteratorSet();
}
/**
* Ensure that the base file iterator has been provided
*
* @throws RuntimeException
*/
protected function assertFileIteratorSet()
{
// Interesting... Need to use isset because: Object of class GlobIterator could not be converted to boolean
if (!isset($this->sourceIterator)) {
throw new RuntimeException('A source file iterator must be specified');
}
}
/**
* Wraps a generated iterator in a filter iterator that removes directories
*
* @param \Iterator $iterator Iterator to wrap
*
* @return \Iterator
* @throws UnexpectedValueException
*/
protected function filterIterator(\Iterator $iterator)
{
$f = new FilterIterator($iterator, function ($i) {
if (!$i instanceof \SplFileInfo) {
throw new UnexpectedValueException('All iterators for UploadSync must return SplFileInfo objects');
}
return $i->isFile();
});
$f->rewind();
return $f;
}
/**
* Add the custom param listener to a transfer object
*
* @param HasDispatcherInterface $sync
*/
protected function addCustomParamListener(HasDispatcherInterface $sync)
{
$params = $this->params;
$sync->getEventDispatcher()->addListener(
UploadSync::BEFORE_TRANSFER,
function (Event $e) use ($params) {
if ($e['command'] instanceof CommandInterface) {
$e['command']->overwriteWith($params);
}
}
);
}
/**
* Create an Amazon S3 file iterator based on the given builder settings
*
* @return OpendirIterator
*/
protected function createS3Iterator()
{
// Ensure that the stream wrapper is registered
$this->client->registerStreamWrapper();
// Calculate the opendir() bucket and optional key prefix location
$dir = "s3://{$this->bucket}";
if ($this->keyPrefix) {
$dir .= '/' . ltrim($this->keyPrefix, '/ ');
}
// Use opendir so that we can pass stream context to the iterator
$dh = opendir($dir, stream_context_create(array('s3' => array('delimiter' => ''))));
// Add the trailing slash for the OpendirIterator concatenation
if (!$this->keyPrefix) {
$dir .= '/';
}
return $this->filterIterator(new \NoRewindIterator(new OpendirIterator($dh, $dir)));
}
}
sdk-2.5.2/Aws/S3/Sync/ChangedFilesIterator.php 0000644 115327001610067500000006740 12272324173 016110 0 ustar targetIterator = $targetIterator;
$this->sourceConverter = $sourceConverter;
$this->targetConverter = $targetConverter;
parent::__construct($sourceIterator);
}
public function accept()
{
$current = $this->current();
$key = $this->sourceConverter->convert((string) $current);
if (!($data = $this->getTargetData($key))) {
return true;
}
// Ensure the Content-Length matches and it hasn't been modified since the mtime
return $current->getSize() != $data[0] || $current->getMTime() > $data[1];
}
/**
* Returns an array of the files from the target iterator that were not found in the source iterator
*
* @return array
*/
public function getUnmatched()
{
return array_keys($this->cache);
}
/**
* Get key information from the target iterator for a particular filename
*
* @param string $key Target iterator filename
*
* @return array|bool Returns an array of data, or false if the key is not in the iterator
*/
protected function getTargetData($key)
{
if (isset($this->cache[$key])) {
$result = $this->cache[$key];
unset($this->cache[$key]);
return $result;
}
$it = $this->targetIterator;
while ($it->valid()) {
$value = $it->current();
$data = array($value->getSize(), $value->getMTime());
$filename = $this->targetConverter->convert((string) $value);
if ($filename == $key) {
return $data;
}
$this->cache[$filename] = $data;
$it->next();
}
return false;
}
}
sdk-2.5.2/Aws/S3/Sync/DownloadSync.php 0000644 115327001610067500000006472 12272324173 014470 0 ustar getPathname();
list($bucket, $key) = explode('/', substr($sourceFilename, 5), 2);
$filename = $this->options['source_converter']->convert($sourceFilename);
$this->createDirectory($filename);
// Some S3 buckets contains nested files under the same name as a directory
if (is_dir($filename)) {
return false;
}
// Allow a previously interrupted download to resume
if (file_exists($filename) && $this->options['resumable']) {
return new ResumableDownload($this->options['client'], $bucket, $key, $filename);
}
return $this->options['client']->getCommand('GetObject', array(
'Bucket' => $bucket,
'Key' => $key,
'SaveAs' => $filename
));
}
/**
* @codeCoverageIgnore
*/
protected function createDirectory($filename)
{
$directory = dirname($filename);
// Some S3 clients create empty files to denote directories. Remove these so that we can create the directory.
if (is_file($directory) && filesize($directory) == 0) {
unlink($directory);
}
// Create the directory if it does not exist
if (!is_dir($directory) && !mkdir($directory, 0777, true)) {
$errors = error_get_last();
throw new RuntimeException('Could not create directory: ' . $directory . ' - ' . $errors['message']);
}
}
protected function filterCommands(array $commands)
{
// Build a list of all of the directories in each command so that we don't attempt to create an empty dir in
// the same parallel transfer as attempting to create a file in that dir
$dirs = array();
foreach ($commands as $command) {
$parts = array_values(array_filter(explode('/', $command['SaveAs'])));
for ($i = 0, $total = count($parts); $i < $total; $i++) {
$dir = '';
for ($j = 0; $j < $i; $j++) {
$dir .= '/' . $parts[$j];
}
if ($dir && !in_array($dir, $dirs)) {
$dirs[] = $dir;
}
}
}
return array_filter($commands, function ($command) use ($dirs) {
return !in_array($command['SaveAs'], $dirs);
});
}
protected function transferCommands(array $commands)
{
parent::transferCommands($this->filterCommands($commands));
}
}
sdk-2.5.2/Aws/S3/Sync/DownloadSyncBuilder.php 0000644 115327001610067500000010111 12272324173 015760 0 ustar directory = $directory;
return $this;
}
/**
* Call this function to allow partial downloads to be resumed if the download was previously interrupted
*
* @return self
*/
public function allowResumableDownloads()
{
$this->resumable = true;
return $this;
}
protected function specificBuild()
{
$sync = new DownloadSync(array(
'client' => $this->client,
'bucket' => $this->bucket,
'iterator' => $this->sourceIterator,
'source_converter' => $this->sourceConverter,
'target_converter' => $this->targetConverter,
'concurrency' => $this->concurrency,
'resumable' => $this->resumable,
'directory' => $this->directory
));
return $sync;
}
protected function getTargetIterator()
{
if (!$this->directory) {
throw new RuntimeException('A directory is required');
}
if (!is_dir($this->directory) && !mkdir($this->directory, 0777, true)) {
// @codeCoverageIgnoreStart
throw new RuntimeException('Unable to create root download directory: ' . $this->directory);
// @codeCoverageIgnoreEnd
}
return $this->filterIterator(
new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($this->directory))
);
}
protected function getDefaultSourceConverter()
{
return new KeyConverter(
"s3://{$this->bucket}/{$this->baseDir}",
$this->directory . DIRECTORY_SEPARATOR, $this->delimiter
);
}
protected function getDefaultTargetConverter()
{
return new KeyConverter("s3://{$this->bucket}/{$this->baseDir}", '', $this->delimiter);
}
protected function assertFileIteratorSet()
{
$this->sourceIterator = $this->sourceIterator ?: $this->createS3Iterator();
}
protected function addDebugListener(AbstractSync $sync, $resource)
{
$sync->getEventDispatcher()->addListener(UploadSync::BEFORE_TRANSFER, function (Event $e) use ($resource) {
if ($e['command'] instanceof CommandInterface) {
$from = $e['command']['Bucket'] . '/' . $e['command']['Key'];
$to = $e['command']['SaveAs'] instanceof EntityBodyInterface
? $e['command']['SaveAs']->getUri()
: $e['command']['SaveAs'];
fwrite($resource, "Downloading {$from} -> {$to}\n");
} elseif ($e['command'] instanceof ResumableDownload) {
$from = $e['command']->getBucket() . '/' . $e['command']->getKey();
$to = $e['command']->getFilename();
fwrite($resource, "Resuming {$from} -> {$to}\n");
}
});
}
}
sdk-2.5.2/Aws/S3/Sync/FilenameConverterInterface.php 0000644 115327001610067500000001625 12272324173 017310 0 ustar baseDir = (string) $baseDir;
$this->prefix = $prefix;
$this->delimiter = $delimiter;
}
public function convert($filename)
{
$key = $filename;
// Remove base directory from the key (only the first occurrence)
if ($this->baseDir && (false !== $pos = strpos($filename, $this->baseDir))) {
$key = substr_replace($key, '', $pos, strlen($this->baseDir));
}
// Replace Windows directory separators to become Unix style, and convert that to the custom dir separator
$key = str_replace('/', $this->delimiter, str_replace('\\', '/', $key));
// Add the key prefix and remove double slashes that are not in the protocol (e.g. prefixed with ":")
$delim = preg_quote($this->delimiter);
$key = preg_replace(
"#(?delimiter,
$this->prefix . $key
);
return $key;
}
}
sdk-2.5.2/Aws/S3/Sync/UploadSync.php 0000644 115327001610067500000005620 12272324173 014137 0 ustar options['multipart_upload_size']) {
$this->options['multipart_upload_size'] = AbstractTransfer::MIN_PART_SIZE;
}
}
protected function createTransferAction(\SplFileInfo $file)
{
// Open the file for reading
$filename = $file->getPathName();
if (!($resource = fopen($filename, 'r'))) {
// @codeCoverageIgnoreStart
throw new RuntimeException("Could not open {$filename} for reading");
// @codeCoverageIgnoreEnd
}
$key = $this->options['source_converter']->convert($filename);
$body = EntityBody::factory($resource);
// Determine how the ACL should be applied
if ($acl = $this->options['acl']) {
$aclType = is_string($this->options['acl']) ? 'ACL' : 'ACP';
} else {
$acl = 'private';
$aclType = 'ACL';
}
// Use a multi-part upload if the file is larger than the cutoff size and is a regular file
if ($body->getWrapper() == 'plainfile' && $file->getSize() >= $this->options['multipart_upload_size']) {
$builder = UploadBuilder::newInstance()
->setBucket($this->options['bucket'])
->setKey($key)
->setMinPartSize($this->options['multipart_upload_size'])
->setOption($aclType, $acl)
->setClient($this->options['client'])
->setSource($body)
->setConcurrency($this->options['concurrency']);
$this->dispatch(
self::BEFORE_MULTIPART_BUILD,
array('builder' => $builder, 'file' => $file)
);
return $builder->build();
}
return $this->options['client']->getCommand('PutObject', array(
'Bucket' => $this->options['bucket'],
'Key' => $key,
'Body' => $body,
$aclType => $acl
));
}
}
sdk-2.5.2/Aws/S3/Sync/UploadSyncBuilder.php 0000644 115327001610067500000013203 12272324173 015442 0 ustar baseDir = $path;
$this->sourceIterator = $this->filterIterator(new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator(
$path,
FI::SKIP_DOTS | FI::UNIX_PATHS | FI::FOLLOW_SYMLINKS
)));
return $this;
}
/**
* Set a glob expression that will match files to upload to Amazon S3
*
* @param string $glob Glob expression
*
* @return self
* @link http://www.php.net/manual/en/function.glob.php
*/
public function uploadFromGlob($glob)
{
$this->sourceIterator = $this->filterIterator(
new \GlobIterator($glob, FI::SKIP_DOTS | FI::UNIX_PATHS | FI::FOLLOW_SYMLINKS)
);
return $this;
}
/**
* Set a canned ACL to apply to each uploaded object
*
* @param string $acl Canned ACL for each upload
*
* @return self
*/
public function setAcl($acl)
{
$this->acp = $acl;
return $this;
}
/**
* Set an Access Control Policy to apply to each uploaded object
*
* @param Acp $acp Access control policy
*
* @return self
*/
public function setAcp(Acp $acp)
{
$this->acp = $acp;
return $this;
}
/**
* Set the multipart upload size threshold. When the size of a file exceeds this value, the file will be uploaded
* using a multipart upload.
*
* @param int $size Size threshold
*
* @return self
*/
public function setMultipartUploadSize($size)
{
$this->multipartUploadSize = $size;
return $this;
}
protected function specificBuild()
{
$sync = new UploadSync(array(
'client' => $this->client,
'bucket' => $this->bucket,
'iterator' => $this->sourceIterator,
'source_converter' => $this->sourceConverter,
'target_converter' => $this->targetConverter,
'concurrency' => $this->concurrency,
'multipart_upload_size' => $this->multipartUploadSize,
'acl' => $this->acp
));
return $sync;
}
protected function addCustomParamListener(HasDispatcherInterface $sync)
{
// Handle the special multi-part upload event
parent::addCustomParamListener($sync);
$params = $this->params;
$sync->getEventDispatcher()->addListener(
UploadSync::BEFORE_MULTIPART_BUILD,
function (Event $e) use ($params) {
foreach ($params as $k => $v) {
$e['builder']->setOption($k, $v);
}
}
);
}
protected function getTargetIterator()
{
return $this->createS3Iterator();
}
protected function getDefaultSourceConverter()
{
return new KeyConverter($this->baseDir, $this->keyPrefix . $this->delimiter, $this->delimiter);
}
protected function getDefaultTargetConverter()
{
return new KeyConverter('s3://' . $this->bucket . '/', '', DIRECTORY_SEPARATOR);
}
protected function addDebugListener(AbstractSync $sync, $resource)
{
$sync->getEventDispatcher()->addListener(UploadSync::BEFORE_TRANSFER, function (Event $e) use ($resource) {
$c = $e['command'];
if ($c instanceof CommandInterface) {
$uri = $c['Body']->getUri();
$size = $c['Body']->getSize();
fwrite($resource, "Uploading {$uri} -> {$c['Key']} ({$size} bytes)\n");
return;
}
// Multipart upload
$body = $c->getSource();
$totalSize = $body->getSize();
$progress = 0;
fwrite($resource, "Beginning multipart upload: " . $body->getUri() . ' -> ');
fwrite($resource, $c->getState()->getFromId('Key') . " ({$totalSize} bytes)\n");
$c->getEventDispatcher()->addListener(
AbstractTransfer::BEFORE_PART_UPLOAD,
function ($e) use (&$progress, $totalSize, $resource) {
$command = $e['command'];
$size = $command['Body']->getContentLength();
$percentage = number_format(($progress / $totalSize) * 100, 2);
fwrite($resource, "- Part {$command['PartNumber']} ({$size} bytes, {$percentage}%)\n");
$progress += $size;
}
);
});
}
}
sdk-2.5.2/Aws/Ses/SesClient.php 0000644 115327001610067500000010264 12272324173 013300 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/ses-%s.php',
Options::SIGNATURE_SERVICE => 'ses',
))
->build();
}
}
sdk-2.5.2/Aws/Ses/Enum/IdentityType.php 0000644 115327001610067500000001435 12272324173 014746 0 ustar '2010-12-01',
'endpointPrefix' => 'email',
'serviceFullName' => 'Amazon Simple Email Service',
'serviceAbbreviation' => 'Amazon SES',
'serviceType' => 'query',
'resultWrapped' => true,
'signatureVersion' => 'v4',
'namespace' => 'Ses',
'regions' => array(
'us-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'email.us-east-1.amazonaws.com',
),
'us-west-2' => array(
'http' => false,
'https' => true,
'hostname' => 'email.us-west-2.amazonaws.com',
),
'eu-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'email.eu-west-1.amazonaws.com',
),
),
'operations' => array(
'DeleteIdentity' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteIdentity',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'Identity' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'DeleteVerifiedEmailAddress' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'deprecated' => true,
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteVerifiedEmailAddress',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'EmailAddress' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'GetIdentityDkimAttributes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetIdentityDkimAttributesResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetIdentityDkimAttributes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'Identities' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Identities.member',
'items' => array(
'name' => 'Identity',
'type' => 'string',
),
),
),
),
'GetIdentityNotificationAttributes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetIdentityNotificationAttributesResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetIdentityNotificationAttributes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'Identities' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Identities.member',
'items' => array(
'name' => 'Identity',
'type' => 'string',
),
),
),
),
'GetIdentityVerificationAttributes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetIdentityVerificationAttributesResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetIdentityVerificationAttributes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'Identities' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Identities.member',
'items' => array(
'name' => 'Identity',
'type' => 'string',
),
),
),
),
'GetSendQuota' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetSendQuotaResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetSendQuota',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
),
),
'GetSendStatistics' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetSendStatisticsResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetSendStatistics',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
),
),
'ListIdentities' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListIdentitiesResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListIdentities',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'IdentityType' => array(
'type' => 'string',
'location' => 'aws.query',
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MaxItems' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
),
),
'ListVerifiedEmailAddresses' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListVerifiedEmailAddressesResponse',
'responseType' => 'model',
'deprecated' => true,
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListVerifiedEmailAddresses',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
),
),
'SendEmail' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'SendEmailResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'SendEmail',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'Source' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Destination' => array(
'required' => true,
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'ToAddresses' => array(
'type' => 'array',
'sentAs' => 'ToAddresses.member',
'items' => array(
'name' => 'Address',
'type' => 'string',
),
),
'CcAddresses' => array(
'type' => 'array',
'sentAs' => 'CcAddresses.member',
'items' => array(
'name' => 'Address',
'type' => 'string',
),
),
'BccAddresses' => array(
'type' => 'array',
'sentAs' => 'BccAddresses.member',
'items' => array(
'name' => 'Address',
'type' => 'string',
),
),
),
),
'Message' => array(
'required' => true,
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Subject' => array(
'required' => true,
'type' => 'object',
'properties' => array(
'Data' => array(
'required' => true,
'type' => 'string',
),
'Charset' => array(
'type' => 'string',
),
),
),
'Body' => array(
'required' => true,
'type' => 'object',
'properties' => array(
'Text' => array(
'type' => 'object',
'properties' => array(
'Data' => array(
'required' => true,
'type' => 'string',
),
'Charset' => array(
'type' => 'string',
),
),
),
'Html' => array(
'type' => 'object',
'properties' => array(
'Data' => array(
'required' => true,
'type' => 'string',
),
'Charset' => array(
'type' => 'string',
),
),
),
),
),
),
),
'ReplyToAddresses' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ReplyToAddresses.member',
'items' => array(
'name' => 'Address',
'type' => 'string',
),
),
'ReturnPath' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that the action failed, and the message could not be sent. Check the error stack for more information about what caused the error.',
'class' => 'MessageRejectedException',
),
),
),
'SendRawEmail' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'SendRawEmailResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'SendRawEmail',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'Source' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Destinations' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Destinations.member',
'items' => array(
'name' => 'Address',
'type' => 'string',
),
),
'RawMessage' => array(
'required' => true,
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Data' => array(
'required' => true,
'type' => 'string',
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that the action failed, and the message could not be sent. Check the error stack for more information about what caused the error.',
'class' => 'MessageRejectedException',
),
),
),
'SetIdentityDkimEnabled' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'SetIdentityDkimEnabled',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'Identity' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'DkimEnabled' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
),
'SetIdentityFeedbackForwardingEnabled' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'SetIdentityFeedbackForwardingEnabled',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'Identity' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'ForwardingEnabled' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
),
'SetIdentityNotificationTopic' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'SetIdentityNotificationTopic',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'Identity' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'NotificationType' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'SnsTopic' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'VerifyDomainDkim' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'VerifyDomainDkimResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'VerifyDomainDkim',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'Domain' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'VerifyDomainIdentity' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'VerifyDomainIdentityResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'VerifyDomainIdentity',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'Domain' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'VerifyEmailAddress' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'deprecated' => true,
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'VerifyEmailAddress',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'EmailAddress' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'VerifyEmailIdentity' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'VerifyEmailIdentity',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-12-01',
),
'EmailAddress' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
),
'models' => array(
'EmptyOutput' => array(
'type' => 'object',
'additionalProperties' => true,
),
'GetIdentityDkimAttributesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'DkimAttributes' => array(
'type' => 'array',
'location' => 'xml',
'filters' => array(
array(
'method' => 'Aws\\Common\\Command\\XmlResponseLocationVisitor::xmlMap',
'args' => array(
'@value',
'entry',
'key',
'value',
),
),
),
'items' => array(
'name' => 'entry',
'type' => 'object',
'sentAs' => 'entry',
'additionalProperties' => true,
'properties' => array(
'key' => array(
'type' => 'string',
),
'value' => array(
'type' => 'object',
'properties' => array(
'DkimEnabled' => array(
'type' => 'boolean',
),
'DkimVerificationStatus' => array(
'type' => 'string',
),
'DkimTokens' => array(
'type' => 'array',
'items' => array(
'name' => 'VerificationToken',
'type' => 'string',
'sentAs' => 'member',
),
),
),
),
),
),
'additionalProperties' => false,
),
),
),
'GetIdentityNotificationAttributesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'NotificationAttributes' => array(
'type' => 'array',
'location' => 'xml',
'filters' => array(
array(
'method' => 'Aws\\Common\\Command\\XmlResponseLocationVisitor::xmlMap',
'args' => array(
'@value',
'entry',
'key',
'value',
),
),
),
'items' => array(
'name' => 'entry',
'type' => 'object',
'sentAs' => 'entry',
'additionalProperties' => true,
'properties' => array(
'key' => array(
'type' => 'string',
),
'value' => array(
'type' => 'object',
'properties' => array(
'BounceTopic' => array(
'type' => 'string',
),
'ComplaintTopic' => array(
'type' => 'string',
),
'ForwardingEnabled' => array(
'type' => 'boolean',
),
),
),
),
),
'additionalProperties' => false,
),
),
),
'GetIdentityVerificationAttributesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'VerificationAttributes' => array(
'type' => 'array',
'location' => 'xml',
'filters' => array(
array(
'method' => 'Aws\\Common\\Command\\XmlResponseLocationVisitor::xmlMap',
'args' => array(
'@value',
'entry',
'key',
'value',
),
),
),
'items' => array(
'name' => 'entry',
'type' => 'object',
'sentAs' => 'entry',
'additionalProperties' => true,
'properties' => array(
'key' => array(
'type' => 'string',
),
'value' => array(
'type' => 'object',
'properties' => array(
'VerificationStatus' => array(
'type' => 'string',
),
'VerificationToken' => array(
'type' => 'string',
),
),
),
),
),
'additionalProperties' => false,
),
),
),
'GetSendQuotaResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Max24HourSend' => array(
'type' => 'numeric',
'location' => 'xml',
),
'MaxSendRate' => array(
'type' => 'numeric',
'location' => 'xml',
),
'SentLast24Hours' => array(
'type' => 'numeric',
'location' => 'xml',
),
),
),
'GetSendStatisticsResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'SendDataPoints' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'SendDataPoint',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'Timestamp' => array(
'type' => 'string',
),
'DeliveryAttempts' => array(
'type' => 'numeric',
),
'Bounces' => array(
'type' => 'numeric',
),
'Complaints' => array(
'type' => 'numeric',
),
'Rejects' => array(
'type' => 'numeric',
),
),
),
),
),
),
'ListIdentitiesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Identities' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Identity',
'type' => 'string',
'sentAs' => 'member',
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ListVerifiedEmailAddressesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'VerifiedEmailAddresses' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Address',
'type' => 'string',
'sentAs' => 'member',
),
),
),
),
'SendEmailResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'MessageId' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'SendRawEmailResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'MessageId' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'VerifyDomainDkimResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'DkimTokens' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'VerificationToken',
'type' => 'string',
'sentAs' => 'member',
),
),
),
),
'VerifyDomainIdentityResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'VerificationToken' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
),
'iterators' => array(
'operations' => array(
'ListIdentities' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'limit_key' => 'MaxItems',
'result_key' => 'Identities',
),
'ListVerifiedEmailAddresses' => array(
'result_key' => 'VerifiedEmailAddresses',
),
),
),
'waiters' => array(
'__default__' => array(
'interval' => 3,
'max_attempts' => 20,
),
'IdentityExists' => array(
'operation' => 'GetIdentityVerificationAttributes',
'success.type' => 'output',
'success.path' => 'VerificationAttributes/*/VerificationStatus',
'success.value' => true,
),
),
);
sdk-2.5.2/Aws/SimpleDb/SimpleDbClient.php 0000644 115327001610067500000006770 12272324173 015221 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/simpledb-%s.php'
))
->setIteratorsConfig(array(
'token_key' => 'NextToken',
'token_param' => 'NextToken',
'operations' => array(
'ListDomains' => array(
'result_key' => 'DomainNames',
'limit_key' => 'MaxNumberOfDomains'
),
'Select' => array(
'result_key' => 'Items'
)
)
))
->build();
}
}
sdk-2.5.2/Aws/SimpleDb/Exception/AttributeDoesNotExistException.php 0000644 115327001610067500000001350 12272324173 022441 0 ustar '2009-04-15',
'endpointPrefix' => 'sdb',
'serviceFullName' => 'Amazon SimpleDB',
'serviceType' => 'query',
'resultWrapped' => true,
'signatureVersion' => 'v2',
'namespace' => 'SimpleDb',
'regions' => array(
'us-east-1' => array(
'http' => true,
'https' => true,
'hostname' => 'sdb.amazonaws.com',
),
'us-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'sdb.us-west-1.amazonaws.com',
),
'us-west-2' => array(
'http' => true,
'https' => true,
'hostname' => 'sdb.us-west-2.amazonaws.com',
),
'eu-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'sdb.eu-west-1.amazonaws.com',
),
'ap-northeast-1' => array(
'http' => true,
'https' => true,
'hostname' => 'sdb.ap-northeast-1.amazonaws.com',
),
'ap-southeast-1' => array(
'http' => true,
'https' => true,
'hostname' => 'sdb.ap-southeast-1.amazonaws.com',
),
'ap-southeast-2' => array(
'http' => true,
'https' => true,
'hostname' => 'sdb.ap-southeast-2.amazonaws.com',
),
'sa-east-1' => array(
'http' => true,
'https' => true,
'hostname' => 'sdb.sa-east-1.amazonaws.com',
),
),
'operations' => array(
'BatchDeleteAttributes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'BatchDeleteAttributes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2009-04-15',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Items' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Item',
'items' => array(
'name' => 'Item',
'type' => 'object',
'properties' => array(
'Name' => array(
'required' => true,
'type' => 'string',
'sentAs' => 'ItemName',
),
'Attributes' => array(
'type' => 'array',
'sentAs' => 'Attribute',
'items' => array(
'name' => 'Attribute',
'type' => 'object',
'properties' => array(
'Name' => array(
'required' => true,
'type' => 'string',
),
'AlternateNameEncoding' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
'AlternateValueEncoding' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'BatchPutAttributes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'BatchPutAttributes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2009-04-15',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Items' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Item',
'items' => array(
'name' => 'Item',
'type' => 'object',
'properties' => array(
'Name' => array(
'required' => true,
'type' => 'string',
'sentAs' => 'ItemName',
),
'Attributes' => array(
'required' => true,
'type' => 'array',
'sentAs' => 'Attribute',
'items' => array(
'name' => 'Attribute',
'type' => 'object',
'properties' => array(
'Name' => array(
'required' => true,
'type' => 'string',
),
'Value' => array(
'required' => true,
'type' => 'string',
),
'Replace' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'The item name was specified more than once.',
'class' => 'DuplicateItemNameException',
),
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'The request must contain the specified missing parameter.',
'class' => 'MissingParameterException',
),
array(
'reason' => 'The specified domain does not exist.',
'class' => 'NoSuchDomainException',
),
array(
'reason' => 'Too many attributes in this item.',
'class' => 'NumberItemAttributesExceededException',
),
array(
'reason' => 'Too many attributes in this domain.',
'class' => 'NumberDomainAttributesExceededException',
),
array(
'reason' => 'Too many bytes in this domain.',
'class' => 'NumberDomainBytesExceededException',
),
array(
'reason' => 'Too many items exist in a single call.',
'class' => 'NumberSubmittedItemsExceededException',
),
array(
'reason' => 'Too many attributes exist in a single call.',
'class' => 'NumberSubmittedAttributesExceededException',
),
),
),
'CreateDomain' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateDomain',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2009-04-15',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'The request must contain the specified missing parameter.',
'class' => 'MissingParameterException',
),
array(
'reason' => 'Too many domains exist per this account.',
'class' => 'NumberDomainsExceededException',
),
),
),
'DeleteAttributes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteAttributes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2009-04-15',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'ItemName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Attributes' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Attribute',
'items' => array(
'name' => 'Attribute',
'type' => 'object',
'properties' => array(
'Name' => array(
'required' => true,
'type' => 'string',
),
'AlternateNameEncoding' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
'AlternateValueEncoding' => array(
'type' => 'string',
),
),
),
),
'Expected' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
'Exists' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'The request must contain the specified missing parameter.',
'class' => 'MissingParameterException',
),
array(
'reason' => 'The specified domain does not exist.',
'class' => 'NoSuchDomainException',
),
array(
'reason' => 'The specified attribute does not exist.',
'class' => 'AttributeDoesNotExistException',
),
),
),
'DeleteDomain' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteDomain',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2009-04-15',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The request must contain the specified missing parameter.',
'class' => 'MissingParameterException',
),
),
),
'DomainMetadata' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DomainMetadataResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DomainMetadata',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2009-04-15',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The request must contain the specified missing parameter.',
'class' => 'MissingParameterException',
),
array(
'reason' => 'The specified domain does not exist.',
'class' => 'NoSuchDomainException',
),
),
),
'GetAttributes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetAttributesResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetAttributes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2009-04-15',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'ItemName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'AttributeNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'AttributeName',
'items' => array(
'name' => 'AttributeName',
'type' => 'string',
),
),
'ConsistentRead' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'The request must contain the specified missing parameter.',
'class' => 'MissingParameterException',
),
array(
'reason' => 'The specified domain does not exist.',
'class' => 'NoSuchDomainException',
),
),
),
'ListDomains' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListDomainsResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListDomains',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2009-04-15',
),
'MaxNumberOfDomains' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'The specified NextToken is not valid.',
'class' => 'InvalidNextTokenException',
),
),
),
'PutAttributes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'PutAttributes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2009-04-15',
),
'DomainName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'ItemName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Attributes' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'Attribute',
'items' => array(
'name' => 'Attribute',
'type' => 'object',
'properties' => array(
'Name' => array(
'required' => true,
'type' => 'string',
),
'Value' => array(
'required' => true,
'type' => 'string',
),
'Replace' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
'Expected' => array(
'type' => 'object',
'location' => 'aws.query',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
'Exists' => array(
'type' => 'boolean',
'format' => 'boolean-string',
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'The request must contain the specified missing parameter.',
'class' => 'MissingParameterException',
),
array(
'reason' => 'The specified domain does not exist.',
'class' => 'NoSuchDomainException',
),
array(
'reason' => 'Too many attributes in this domain.',
'class' => 'NumberDomainAttributesExceededException',
),
array(
'reason' => 'Too many bytes in this domain.',
'class' => 'NumberDomainBytesExceededException',
),
array(
'reason' => 'Too many attributes in this item.',
'class' => 'NumberItemAttributesExceededException',
),
array(
'reason' => 'The specified attribute does not exist.',
'class' => 'AttributeDoesNotExistException',
),
),
),
'Select' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'SelectResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'Select',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2009-04-15',
),
'SelectExpression' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
'ConsistentRead' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The value for a parameter is invalid.',
'class' => 'InvalidParameterValueException',
),
array(
'reason' => 'The specified NextToken is not valid.',
'class' => 'InvalidNextTokenException',
),
array(
'reason' => 'Too many predicates exist in the query expression.',
'class' => 'InvalidNumberPredicatesException',
),
array(
'reason' => 'Too many predicates exist in the query expression.',
'class' => 'InvalidNumberValueTestsException',
),
array(
'reason' => 'The specified query expression syntax is not valid.',
'class' => 'InvalidQueryExpressionException',
),
array(
'reason' => 'The request must contain the specified missing parameter.',
'class' => 'MissingParameterException',
),
array(
'reason' => 'The specified domain does not exist.',
'class' => 'NoSuchDomainException',
),
array(
'reason' => 'A timeout occurred when attempting to query the specified domain with specified query expression.',
'class' => 'RequestTimeoutException',
),
array(
'reason' => 'Too many attributes requested.',
'class' => 'TooManyRequestedAttributesException',
),
),
),
),
'models' => array(
'EmptyOutput' => array(
'type' => 'object',
'additionalProperties' => true,
),
'DomainMetadataResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ItemCount' => array(
'type' => 'numeric',
'location' => 'xml',
),
'ItemNamesSizeBytes' => array(
'type' => 'numeric',
'location' => 'xml',
),
'AttributeNameCount' => array(
'type' => 'numeric',
'location' => 'xml',
),
'AttributeNamesSizeBytes' => array(
'type' => 'numeric',
'location' => 'xml',
),
'AttributeValueCount' => array(
'type' => 'numeric',
'location' => 'xml',
),
'AttributeValuesSizeBytes' => array(
'type' => 'numeric',
'location' => 'xml',
),
'Timestamp' => array(
'type' => 'numeric',
'location' => 'xml',
),
),
),
'GetAttributesResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Attributes' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'Attribute',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'name' => 'Attribute',
'type' => 'object',
'sentAs' => 'Attribute',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'AlternateNameEncoding' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
'AlternateValueEncoding' => array(
'type' => 'string',
),
),
),
),
),
),
'ListDomainsResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'DomainNames' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'DomainName',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'name' => 'DomainName',
'type' => 'string',
'sentAs' => 'DomainName',
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'SelectResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Items' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'Item',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'name' => 'Item',
'type' => 'object',
'sentAs' => 'Item',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'AlternateNameEncoding' => array(
'type' => 'string',
),
'Attributes' => array(
'type' => 'array',
'sentAs' => 'Attribute',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'name' => 'Attribute',
'type' => 'object',
'sentAs' => 'Attribute',
'properties' => array(
'Name' => array(
'type' => 'string',
),
'AlternateNameEncoding' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
'AlternateValueEncoding' => array(
'type' => 'string',
),
),
),
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
),
);
sdk-2.5.2/Aws/Sns/SnsClient.php 0000644 115327001610067500000012042 12272324173 013316 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/sns-%s.php'
))
->build();
}
}
sdk-2.5.2/Aws/Sns/Exception/AuthorizationErrorException.php 0000644 115327001610067500000001375 12272324173 021112 0 ustar array(
'Message',
'MessageId',
'Timestamp',
'TopicArn',
'Type',
'Signature',
'SigningCertURL',
),
'SubscriptionConfirmation' => array(
'SubscribeURL',
'Token'
),
'UnsubscribeConfirmation' => array(
'SubscribeURL',
'Token'
),
);
protected static $signableKeys = array(
'Message',
'MessageId',
'Subject',
'SubscribeURL',
'Timestamp',
'Token',
'TopicArn',
'Type',
);
/**
* @var Collection The message data
*/
protected $data;
/**
* Creates a Message object from an array of raw message data
*
* @param array $data The message data
*
* @return Message
* @throws InvalidArgumentException If a valid type is not provided or there are other required keys missing
*/
public static function fromArray(array $data)
{
// Make sure the type key is set
if (!isset($data['Type'])) {
throw new InvalidArgumentException('The "Type" key must be provided to instantiate a Message object.');
}
// Determine required keys and create a collection from the message data
$requiredKeys = array_merge(
self::$requiredKeys['__default'],
isset(self::$requiredKeys[$data['Type']]) ? self::$requiredKeys[$data['Type']] : array()
);
$data = Collection::fromConfig($data, array(), $requiredKeys);
return new self($data);
}
/**
* Creates a message object from the raw POST data
*
* @return Message
* @throws UnexpectedValueException If the POST data is absent, or not a valid JSON document
*/
public static function fromRawPostData()
{
$data = json_decode(file_get_contents('php://input'), true);
if (!is_array($data)) {
throw new UnexpectedValueException('POST data absent, or not a valid JSON document', json_last_error());
}
return self::fromArray($data);
}
/**
* @param Collection $data A Collection of message data with all required keys
*/
public function __construct(Collection $data)
{
$this->data = $data;
}
/**
* Get the entire message data as a Collection
*
* @return Collection
*/
public function getData()
{
return $this->data;
}
/**
* Gets a single key from the message data
*
* @return string
*/
public function get($key)
{
return $this->data->get($key);
}
/**
* Builds a newline delimited string to sign according to the specs
*
* @return string
* @link http://docs.aws.amazon.com/sns/latest/gsg/SendMessageToHttp.verify.signature.html
*/
public function getStringToSign()
{
$stringToSign = '';
$data = $this->data->toArray();
ksort($data);
foreach ($data as $key => $value) {
if (in_array($key, self::$signableKeys)) {
$stringToSign .= "{$key}\n{$value}\n";
}
}
return $stringToSign;
}
}
sdk-2.5.2/Aws/Sns/MessageValidator/MessageValidator.php 0000644 115327001610067500000007366 12272324173 020115 0 ustar client = $client ?: new Client();
}
/**
* Validates a message from SNS to ensure that it was delivered by AWS
*
* @param Message $message The message to validate
*
* @throws CannotGetPublicKeyFromCertificateException If the certificate cannot be retrieved
* @throws CertificateFromUnrecognizedSourceException If the certificate's source cannot be verified
* @throws InvalidMessageSignatureException If the message's signature is invalid
*/
public function validate(Message $message)
{
// Get the cert's URL and ensure it is from AWS
$certUrl = Url::factory($message->get('SigningCertURL'));
if ('.amazonaws.com' != substr($certUrl->getHost(), -14)) {
throw new CertificateFromUnrecognizedSourceException();
}
// Get the cert itself and extract the public key
$certificate = $this->client->get((string) $certUrl)->send()->getBody();
$publicKey = openssl_get_publickey($certificate);
if (!$publicKey) {
throw new CannotGetPublicKeyFromCertificateException();
}
// Verify the signature of the message
$stringToSign = $message->getStringToSign();
$incomingSignature = base64_decode($message->get('Signature'));
if (!openssl_verify($stringToSign, $incomingSignature, $publicKey, OPENSSL_ALGO_SHA1)) {
throw new InvalidMessageSignatureException();
}
}
/**
* Determines if a message is valid and that is was delivered by AWS. This method does not throw exceptions and
* returns a simple boolean value.
*
* @param Message $message The message to validate
*
* @return bool
*/
public function isValid(Message $message)
{
try {
$this->validate($message);
return true;
} catch (SnsMessageValidatorException $e) {
return false;
}
}
}
sdk-2.5.2/Aws/Sns/MessageValidator/Exception/CannotGetPublicKeyFromCertificateException.php 0000644 115327001610067500000001564 12272324173 027153 0 ustar '2010-03-31',
'endpointPrefix' => 'sns',
'serviceFullName' => 'Amazon Simple Notification Service',
'serviceAbbreviation' => 'Amazon SNS',
'serviceType' => 'query',
'resultWrapped' => true,
'signatureVersion' => 'v4',
'namespace' => 'Sns',
'regions' => array(
'us-east-1' => array(
'http' => true,
'https' => true,
'hostname' => 'sns.us-east-1.amazonaws.com',
),
'us-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'sns.us-west-1.amazonaws.com',
),
'us-west-2' => array(
'http' => true,
'https' => true,
'hostname' => 'sns.us-west-2.amazonaws.com',
),
'eu-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'sns.eu-west-1.amazonaws.com',
),
'ap-northeast-1' => array(
'http' => true,
'https' => true,
'hostname' => 'sns.ap-northeast-1.amazonaws.com',
),
'ap-southeast-1' => array(
'http' => true,
'https' => true,
'hostname' => 'sns.ap-southeast-1.amazonaws.com',
),
'ap-southeast-2' => array(
'http' => true,
'https' => true,
'hostname' => 'sns.ap-southeast-2.amazonaws.com',
),
'sa-east-1' => array(
'http' => true,
'https' => true,
'hostname' => 'sns.sa-east-1.amazonaws.com',
),
'cn-north-1' => array(
'http' => true,
'https' => true,
'hostname' => 'sns.cn-north-1.amazonaws.com.cn',
),
'us-gov-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'sns.us-gov-west-1.amazonaws.com',
),
),
'operations' => array(
'AddPermission' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'AddPermission',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-03-31',
),
'TopicArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Label' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'AWSAccountId' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'AWSAccountId.member',
'items' => array(
'name' => 'delegate',
'type' => 'string',
),
),
'ActionName' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ActionName.member',
'items' => array(
'name' => 'action',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request parameter does not comply with the associated constraints.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'Indicates an internal service error.',
'class' => 'InternalErrorException',
),
array(
'reason' => 'Indicates that the user has been denied access to the requested resource.',
'class' => 'AuthorizationErrorException',
),
array(
'reason' => 'Indicates that the requested resource does not exist.',
'class' => 'NotFoundException',
),
),
),
'ConfirmSubscription' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ConfirmSubscriptionResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ConfirmSubscription',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-03-31',
),
'TopicArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Token' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'AuthenticateOnUnsubscribe' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that the customer already owns the maximum allowed number of subscriptions.',
'class' => 'SubscriptionLimitExceededException',
),
array(
'reason' => 'Indicates that a request parameter does not comply with the associated constraints.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'Indicates that the requested resource does not exist.',
'class' => 'NotFoundException',
),
array(
'reason' => 'Indicates an internal service error.',
'class' => 'InternalErrorException',
),
array(
'reason' => 'Indicates that the user has been denied access to the requested resource.',
'class' => 'AuthorizationErrorException',
),
),
),
'CreatePlatformApplication' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreatePlatformApplicationResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreatePlatformApplication',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-03-31',
),
'Name' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Platform' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Attributes' => array(
'required' => true,
'type' => 'object',
'location' => 'aws.query',
'sentAs' => 'Attributes.entry',
'additionalProperties' => array(
'type' => 'string',
'data' => array(
'shape_name' => 'String',
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request parameter does not comply with the associated constraints.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'Indicates an internal service error.',
'class' => 'InternalErrorException',
),
array(
'reason' => 'Indicates that the user has been denied access to the requested resource.',
'class' => 'AuthorizationErrorException',
),
),
),
'CreatePlatformEndpoint' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateEndpointResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreatePlatformEndpoint',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-03-31',
),
'PlatformApplicationArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Token' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'CustomUserData' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Attributes' => array(
'type' => 'object',
'location' => 'aws.query',
'sentAs' => 'Attributes.entry',
'additionalProperties' => array(
'type' => 'string',
'data' => array(
'shape_name' => 'String',
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request parameter does not comply with the associated constraints.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'Indicates an internal service error.',
'class' => 'InternalErrorException',
),
array(
'reason' => 'Indicates that the user has been denied access to the requested resource.',
'class' => 'AuthorizationErrorException',
),
array(
'reason' => 'Indicates that the requested resource does not exist.',
'class' => 'NotFoundException',
),
),
),
'CreateTopic' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateTopicResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateTopic',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-03-31',
),
'Name' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request parameter does not comply with the associated constraints.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'Indicates that the customer already owns the maximum allowed number of topics.',
'class' => 'TopicLimitExceededException',
),
array(
'reason' => 'Indicates an internal service error.',
'class' => 'InternalErrorException',
),
array(
'reason' => 'Indicates that the user has been denied access to the requested resource.',
'class' => 'AuthorizationErrorException',
),
),
),
'DeleteEndpoint' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteEndpoint',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-03-31',
),
'EndpointArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request parameter does not comply with the associated constraints.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'Indicates an internal service error.',
'class' => 'InternalErrorException',
),
array(
'reason' => 'Indicates that the user has been denied access to the requested resource.',
'class' => 'AuthorizationErrorException',
),
),
),
'DeletePlatformApplication' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeletePlatformApplication',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-03-31',
),
'PlatformApplicationArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request parameter does not comply with the associated constraints.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'Indicates an internal service error.',
'class' => 'InternalErrorException',
),
array(
'reason' => 'Indicates that the user has been denied access to the requested resource.',
'class' => 'AuthorizationErrorException',
),
),
),
'DeleteTopic' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteTopic',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-03-31',
),
'TopicArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request parameter does not comply with the associated constraints.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'Indicates an internal service error.',
'class' => 'InternalErrorException',
),
array(
'reason' => 'Indicates that the user has been denied access to the requested resource.',
'class' => 'AuthorizationErrorException',
),
array(
'reason' => 'Indicates that the requested resource does not exist.',
'class' => 'NotFoundException',
),
),
),
'GetEndpointAttributes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetEndpointAttributesResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetEndpointAttributes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-03-31',
),
'EndpointArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request parameter does not comply with the associated constraints.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'Indicates an internal service error.',
'class' => 'InternalErrorException',
),
array(
'reason' => 'Indicates that the user has been denied access to the requested resource.',
'class' => 'AuthorizationErrorException',
),
array(
'reason' => 'Indicates that the requested resource does not exist.',
'class' => 'NotFoundException',
),
),
),
'GetPlatformApplicationAttributes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetPlatformApplicationAttributesResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetPlatformApplicationAttributes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-03-31',
),
'PlatformApplicationArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request parameter does not comply with the associated constraints.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'Indicates an internal service error.',
'class' => 'InternalErrorException',
),
array(
'reason' => 'Indicates that the user has been denied access to the requested resource.',
'class' => 'AuthorizationErrorException',
),
array(
'reason' => 'Indicates that the requested resource does not exist.',
'class' => 'NotFoundException',
),
),
),
'GetSubscriptionAttributes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetSubscriptionAttributesResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetSubscriptionAttributes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-03-31',
),
'SubscriptionArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request parameter does not comply with the associated constraints.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'Indicates an internal service error.',
'class' => 'InternalErrorException',
),
array(
'reason' => 'Indicates that the requested resource does not exist.',
'class' => 'NotFoundException',
),
array(
'reason' => 'Indicates that the user has been denied access to the requested resource.',
'class' => 'AuthorizationErrorException',
),
),
),
'GetTopicAttributes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetTopicAttributesResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetTopicAttributes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-03-31',
),
'TopicArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request parameter does not comply with the associated constraints.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'Indicates an internal service error.',
'class' => 'InternalErrorException',
),
array(
'reason' => 'Indicates that the requested resource does not exist.',
'class' => 'NotFoundException',
),
array(
'reason' => 'Indicates that the user has been denied access to the requested resource.',
'class' => 'AuthorizationErrorException',
),
),
),
'ListEndpointsByPlatformApplication' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListEndpointsByPlatformApplicationResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListEndpointsByPlatformApplication',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-03-31',
),
'PlatformApplicationArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request parameter does not comply with the associated constraints.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'Indicates an internal service error.',
'class' => 'InternalErrorException',
),
array(
'reason' => 'Indicates that the user has been denied access to the requested resource.',
'class' => 'AuthorizationErrorException',
),
array(
'reason' => 'Indicates that the requested resource does not exist.',
'class' => 'NotFoundException',
),
),
),
'ListPlatformApplications' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListPlatformApplicationsResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListPlatformApplications',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-03-31',
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request parameter does not comply with the associated constraints.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'Indicates an internal service error.',
'class' => 'InternalErrorException',
),
array(
'reason' => 'Indicates that the user has been denied access to the requested resource.',
'class' => 'AuthorizationErrorException',
),
),
),
'ListSubscriptions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListSubscriptionsResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListSubscriptions',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-03-31',
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request parameter does not comply with the associated constraints.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'Indicates an internal service error.',
'class' => 'InternalErrorException',
),
array(
'reason' => 'Indicates that the user has been denied access to the requested resource.',
'class' => 'AuthorizationErrorException',
),
),
),
'ListSubscriptionsByTopic' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListSubscriptionsByTopicResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListSubscriptionsByTopic',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-03-31',
),
'TopicArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request parameter does not comply with the associated constraints.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'Indicates an internal service error.',
'class' => 'InternalErrorException',
),
array(
'reason' => 'Indicates that the requested resource does not exist.',
'class' => 'NotFoundException',
),
array(
'reason' => 'Indicates that the user has been denied access to the requested resource.',
'class' => 'AuthorizationErrorException',
),
),
),
'ListTopics' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListTopicsResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListTopics',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-03-31',
),
'NextToken' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request parameter does not comply with the associated constraints.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'Indicates an internal service error.',
'class' => 'InternalErrorException',
),
array(
'reason' => 'Indicates that the user has been denied access to the requested resource.',
'class' => 'AuthorizationErrorException',
),
),
),
'Publish' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'PublishResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'Publish',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-03-31',
),
'TopicArn' => array(
'type' => 'string',
'location' => 'aws.query',
),
'TargetArn' => array(
'type' => 'string',
'location' => 'aws.query',
),
'Message' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Subject' => array(
'type' => 'string',
'location' => 'aws.query',
),
'MessageStructure' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request parameter does not comply with the associated constraints.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'Indicates an internal service error.',
'class' => 'InternalErrorException',
),
array(
'reason' => 'Indicates that the requested resource does not exist.',
'class' => 'NotFoundException',
),
array(
'reason' => 'Exception error indicating endpoint disabled.',
'class' => 'EndpointDisabledException',
),
array(
'reason' => 'Exception error indicating platform application disabled.',
'class' => 'PlatformApplicationDisabledException',
),
array(
'reason' => 'Indicates that the user has been denied access to the requested resource.',
'class' => 'AuthorizationErrorException',
),
),
),
'RemovePermission' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RemovePermission',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-03-31',
),
'TopicArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Label' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request parameter does not comply with the associated constraints.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'Indicates an internal service error.',
'class' => 'InternalErrorException',
),
array(
'reason' => 'Indicates that the user has been denied access to the requested resource.',
'class' => 'AuthorizationErrorException',
),
array(
'reason' => 'Indicates that the requested resource does not exist.',
'class' => 'NotFoundException',
),
),
),
'SetEndpointAttributes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'SetEndpointAttributes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-03-31',
),
'EndpointArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Attributes' => array(
'required' => true,
'type' => 'object',
'location' => 'aws.query',
'sentAs' => 'Attributes.entry',
'additionalProperties' => array(
'type' => 'string',
'data' => array(
'shape_name' => 'String',
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request parameter does not comply with the associated constraints.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'Indicates an internal service error.',
'class' => 'InternalErrorException',
),
array(
'reason' => 'Indicates that the user has been denied access to the requested resource.',
'class' => 'AuthorizationErrorException',
),
array(
'reason' => 'Indicates that the requested resource does not exist.',
'class' => 'NotFoundException',
),
),
),
'SetPlatformApplicationAttributes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'SetPlatformApplicationAttributes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-03-31',
),
'PlatformApplicationArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Attributes' => array(
'required' => true,
'type' => 'object',
'location' => 'aws.query',
'sentAs' => 'Attributes.entry',
'additionalProperties' => array(
'type' => 'string',
'data' => array(
'shape_name' => 'String',
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request parameter does not comply with the associated constraints.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'Indicates an internal service error.',
'class' => 'InternalErrorException',
),
array(
'reason' => 'Indicates that the user has been denied access to the requested resource.',
'class' => 'AuthorizationErrorException',
),
array(
'reason' => 'Indicates that the requested resource does not exist.',
'class' => 'NotFoundException',
),
),
),
'SetSubscriptionAttributes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'SetSubscriptionAttributes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-03-31',
),
'SubscriptionArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'AttributeName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'AttributeValue' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request parameter does not comply with the associated constraints.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'Indicates an internal service error.',
'class' => 'InternalErrorException',
),
array(
'reason' => 'Indicates that the requested resource does not exist.',
'class' => 'NotFoundException',
),
array(
'reason' => 'Indicates that the user has been denied access to the requested resource.',
'class' => 'AuthorizationErrorException',
),
),
),
'SetTopicAttributes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'SetTopicAttributes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-03-31',
),
'TopicArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'AttributeName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'AttributeValue' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request parameter does not comply with the associated constraints.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'Indicates an internal service error.',
'class' => 'InternalErrorException',
),
array(
'reason' => 'Indicates that the requested resource does not exist.',
'class' => 'NotFoundException',
),
array(
'reason' => 'Indicates that the user has been denied access to the requested resource.',
'class' => 'AuthorizationErrorException',
),
),
),
'Subscribe' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'SubscribeResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'Subscribe',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-03-31',
),
'TopicArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Protocol' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Endpoint' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that the customer already owns the maximum allowed number of subscriptions.',
'class' => 'SubscriptionLimitExceededException',
),
array(
'reason' => 'Indicates that a request parameter does not comply with the associated constraints.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'Indicates an internal service error.',
'class' => 'InternalErrorException',
),
array(
'reason' => 'Indicates that the requested resource does not exist.',
'class' => 'NotFoundException',
),
array(
'reason' => 'Indicates that the user has been denied access to the requested resource.',
'class' => 'AuthorizationErrorException',
),
),
),
'Unsubscribe' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'Unsubscribe',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2010-03-31',
),
'SubscriptionArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'Indicates that a request parameter does not comply with the associated constraints.',
'class' => 'InvalidParameterException',
),
array(
'reason' => 'Indicates an internal service error.',
'class' => 'InternalErrorException',
),
array(
'reason' => 'Indicates that the user has been denied access to the requested resource.',
'class' => 'AuthorizationErrorException',
),
array(
'reason' => 'Indicates that the requested resource does not exist.',
'class' => 'NotFoundException',
),
),
),
),
'models' => array(
'EmptyOutput' => array(
'type' => 'object',
'additionalProperties' => true,
),
'ConfirmSubscriptionResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'SubscriptionArn' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'CreatePlatformApplicationResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'PlatformApplicationArn' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'CreateEndpointResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'EndpointArn' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'CreateTopicResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'TopicArn' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'GetEndpointAttributesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Attributes' => array(
'type' => 'array',
'location' => 'xml',
'filters' => array(
array(
'method' => 'Aws\\Common\\Command\\XmlResponseLocationVisitor::xmlMap',
'args' => array(
'@value',
'entry',
'key',
'value',
),
),
),
'items' => array(
'name' => 'entry',
'type' => 'object',
'sentAs' => 'entry',
'additionalProperties' => true,
'properties' => array(
'key' => array(
'type' => 'string',
),
'value' => array(
'type' => 'string',
),
),
),
'additionalProperties' => false,
),
),
),
'GetPlatformApplicationAttributesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Attributes' => array(
'type' => 'array',
'location' => 'xml',
'filters' => array(
array(
'method' => 'Aws\\Common\\Command\\XmlResponseLocationVisitor::xmlMap',
'args' => array(
'@value',
'entry',
'key',
'value',
),
),
),
'items' => array(
'name' => 'entry',
'type' => 'object',
'sentAs' => 'entry',
'additionalProperties' => true,
'properties' => array(
'key' => array(
'type' => 'string',
),
'value' => array(
'type' => 'string',
),
),
),
'additionalProperties' => false,
),
),
),
'GetSubscriptionAttributesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Attributes' => array(
'type' => 'array',
'location' => 'xml',
'filters' => array(
array(
'method' => 'Aws\\Common\\Command\\XmlResponseLocationVisitor::xmlMap',
'args' => array(
'@value',
'entry',
'key',
'value',
),
),
),
'items' => array(
'name' => 'entry',
'type' => 'object',
'sentAs' => 'entry',
'additionalProperties' => true,
'properties' => array(
'key' => array(
'type' => 'string',
),
'value' => array(
'type' => 'string',
),
),
),
'additionalProperties' => false,
),
),
),
'GetTopicAttributesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Attributes' => array(
'type' => 'array',
'location' => 'xml',
'filters' => array(
array(
'method' => 'Aws\\Common\\Command\\XmlResponseLocationVisitor::xmlMap',
'args' => array(
'@value',
'entry',
'key',
'value',
),
),
),
'items' => array(
'name' => 'entry',
'type' => 'object',
'sentAs' => 'entry',
'additionalProperties' => true,
'properties' => array(
'key' => array(
'type' => 'string',
),
'value' => array(
'type' => 'string',
),
),
),
'additionalProperties' => false,
),
),
),
'ListEndpointsByPlatformApplicationResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Endpoints' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Endpoint',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'EndpointArn' => array(
'type' => 'string',
),
'Attributes' => array(
'type' => 'array',
'filters' => array(
array(
'method' => 'Aws\\Common\\Command\\XmlResponseLocationVisitor::xmlMap',
'args' => array(
'@value',
'entry',
'key',
'value',
),
),
),
'items' => array(
'name' => 'entry',
'type' => 'object',
'sentAs' => 'entry',
'additionalProperties' => true,
'properties' => array(
'key' => array(
'type' => 'string',
),
'value' => array(
'type' => 'string',
),
),
),
'additionalProperties' => false,
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ListPlatformApplicationsResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'PlatformApplications' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'PlatformApplication',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'PlatformApplicationArn' => array(
'type' => 'string',
),
'Attributes' => array(
'type' => 'array',
'filters' => array(
array(
'method' => 'Aws\\Common\\Command\\XmlResponseLocationVisitor::xmlMap',
'args' => array(
'@value',
'entry',
'key',
'value',
),
),
),
'items' => array(
'name' => 'entry',
'type' => 'object',
'sentAs' => 'entry',
'additionalProperties' => true,
'properties' => array(
'key' => array(
'type' => 'string',
),
'value' => array(
'type' => 'string',
),
),
),
'additionalProperties' => false,
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ListSubscriptionsResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Subscriptions' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Subscription',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'SubscriptionArn' => array(
'type' => 'string',
),
'Owner' => array(
'type' => 'string',
),
'Protocol' => array(
'type' => 'string',
),
'Endpoint' => array(
'type' => 'string',
),
'TopicArn' => array(
'type' => 'string',
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ListSubscriptionsByTopicResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Subscriptions' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Subscription',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'SubscriptionArn' => array(
'type' => 'string',
),
'Owner' => array(
'type' => 'string',
),
'Protocol' => array(
'type' => 'string',
),
'Endpoint' => array(
'type' => 'string',
),
'TopicArn' => array(
'type' => 'string',
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ListTopicsResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Topics' => array(
'type' => 'array',
'location' => 'xml',
'items' => array(
'name' => 'Topic',
'type' => 'object',
'sentAs' => 'member',
'properties' => array(
'TopicArn' => array(
'type' => 'string',
),
),
),
),
'NextToken' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'PublishResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'MessageId' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'SubscribeResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'SubscriptionArn' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
),
'iterators' => array(
'operations' => array(
'ListEndpointsByPlatformApplication' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'result_key' => 'Endpoints',
),
'ListPlatformApplications' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'result_key' => 'PlatformApplications',
),
'ListSubscriptions' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'result_key' => 'Subscriptions',
),
'ListSubscriptionsByTopic' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'result_key' => 'Subscriptions',
),
'ListTopics' => array(
'token_param' => 'NextToken',
'token_key' => 'NextToken',
'result_key' => 'Topics/*/TopicArn',
),
),
),
);
sdk-2.5.2/Aws/Sqs/Md5ValidatorListener.php 0000644 115327001610067500000003267 12272324173 015431 0 ustar array('onCommandBeforeSend', -255));
}
/**
* Validates the MD5OfBody attribute against the body
*
* @param Event $event Event emitted
* @throws SqsException when an MD5 mismatch occurs
*/
public function onCommandBeforeSend(Event $event)
{
if ($event['command']->getName() != 'ReceiveMessage') {
return;
}
$result = $event['command']->getResult();
if (isset($result['Messages'])) {
foreach ($result['Messages'] as $message) {
if ($message['MD5OfBody'] != md5($message['Body'])) {
throw new SqsException('Body MD5 mismatch for ' . var_export($message, true));
}
}
}
}
}
sdk-2.5.2/Aws/Sqs/QueueUrlListener.php 0000644 115327001610067500000003106 12272324173 014675 0 ustar array('onCommandBeforeSend', -255));
}
/**
* Updates the request URL to use the Queue URL
*
* @param Event $event Event emitted
*/
public function onCommandBeforeSend(Event $event)
{
/** @var $command AbstractCommand */
$command = $event['command'];
if ($command->hasKey('QueueUrl')) {
$request = $command->getRequest();
$requestUrl = $request->getUrl(true);
$request->setUrl($requestUrl->combine($command->get('QueueUrl')));
$request->getParams()->remove('QueueUrl');
}
}
}
sdk-2.5.2/Aws/Sqs/SqsClient.php 0000644 115327001610067500000010377 12272324173 013335 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/sqs-%s.php'
))
->build();
$client->addSubscriber(new QueueUrlListener());
$client->addSubscriber(new Md5ValidatorListener());
return $client;
}
/**
* Converts a queue URL into a queue ARN.
*
* @param string $queueUrl The queue URL to perform the action on. Retrieved when the queue is first created.
*
* @return string An ARN representation of the queue URL.
*/
public function getQueueArn($queueUrl)
{
return strtr($queueUrl, array(
'http://' => 'arn:aws:',
'https://' => 'arn:aws:',
'.amazonaws.com' => '',
'/' => ':',
'.' => ':',
));
}
}
sdk-2.5.2/Aws/Sqs/Enum/MessageAttribute.php 0000644 115327001610067500000001730 12272324173 015575 0 ustar '2012-11-05',
'endpointPrefix' => 'sqs',
'serviceFullName' => 'Amazon Simple Queue Service',
'serviceAbbreviation' => 'Amazon SQS',
'serviceType' => 'query',
'resultWrapped' => true,
'signatureVersion' => 'v4',
'namespace' => 'Sqs',
'regions' => array(
'us-east-1' => array(
'http' => true,
'https' => true,
'hostname' => 'sqs.us-east-1.amazonaws.com',
),
'us-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'sqs.us-west-1.amazonaws.com',
),
'us-west-2' => array(
'http' => true,
'https' => true,
'hostname' => 'sqs.us-west-2.amazonaws.com',
),
'eu-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'sqs.eu-west-1.amazonaws.com',
),
'ap-northeast-1' => array(
'http' => true,
'https' => true,
'hostname' => 'sqs.ap-northeast-1.amazonaws.com',
),
'ap-southeast-1' => array(
'http' => true,
'https' => true,
'hostname' => 'sqs.ap-southeast-1.amazonaws.com',
),
'ap-southeast-2' => array(
'http' => true,
'https' => true,
'hostname' => 'sqs.ap-southeast-2.amazonaws.com',
),
'sa-east-1' => array(
'http' => true,
'https' => true,
'hostname' => 'sqs.sa-east-1.amazonaws.com',
),
'cn-north-1' => array(
'http' => true,
'https' => true,
'hostname' => 'sqs.cn-north-1.amazonaws.com.cn',
),
'us-gov-west-1' => array(
'http' => true,
'https' => true,
'hostname' => 'sqs.us-gov-west-1.amazonaws.com',
),
),
'operations' => array(
'AddPermission' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'AddPermission',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-11-05',
),
'QueueUrl' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Label' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'AWSAccountIds' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'AWSAccountId',
'items' => array(
'name' => 'AWSAccountId',
'type' => 'string',
),
),
'Actions' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ActionName',
'items' => array(
'name' => 'ActionName',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'The action that you requested would violate a limit. For example, ReceiveMessage returns this error if the maximum number of messages inflight has already been reached. AddPermission returns this error if the maximum number of permissions for the queue has already been reached.',
'class' => 'OverLimitException',
),
),
),
'ChangeMessageVisibility' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ChangeMessageVisibility',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-11-05',
),
'QueueUrl' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'ReceiptHandle' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'VisibilityTimeout' => array(
'required' => true,
'type' => 'numeric',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The message referred to is not in flight.',
'class' => 'MessageNotInflightException',
),
array(
'reason' => 'The receipt handle provided is not valid.',
'class' => 'ReceiptHandleIsInvalidException',
),
),
),
'ChangeMessageVisibilityBatch' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ChangeMessageVisibilityBatchResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ChangeMessageVisibilityBatch',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-11-05',
),
'QueueUrl' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Entries' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'ChangeMessageVisibilityBatchRequestEntry',
'items' => array(
'name' => 'ChangeMessageVisibilityBatchRequestEntry',
'type' => 'object',
'properties' => array(
'Id' => array(
'required' => true,
'type' => 'string',
),
'ReceiptHandle' => array(
'required' => true,
'type' => 'string',
),
'VisibilityTimeout' => array(
'type' => 'numeric',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Batch request contains more number of entries than permissible.',
'class' => 'TooManyEntriesInBatchRequestException',
),
array(
'reason' => 'Batch request does not contain an entry.',
'class' => 'EmptyBatchRequestException',
),
array(
'reason' => 'Two or more batch entries have the same Id in the request.',
'class' => 'BatchEntryIdsNotDistinctException',
),
array(
'reason' => 'The Id of a batch entry in a batch request does not abide by the specification.',
'class' => 'InvalidBatchEntryIdException',
),
),
),
'CreateQueue' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'CreateQueueResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'CreateQueue',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-11-05',
),
'QueueName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Attributes' => array(
'type' => 'object',
'location' => 'aws.query',
'sentAs' => 'Attribute',
'data' => array(
'keyName' => 'Name',
'valueName' => 'Value',
),
'additionalProperties' => array(
'type' => 'string',
'data' => array(
'shape_name' => 'QueueAttributeName',
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'You must wait 60 seconds after deleting a queue before you can create another with the same name.',
'class' => 'QueueDeletedRecentlyException',
),
array(
'reason' => 'A queue already exists with this name. Amazon SQS returns this error only if the request includes attributes whose values differ from those of the existing queue.',
'class' => 'QueueNameExistsException',
),
),
),
'DeleteMessage' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteMessage',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-11-05',
),
'QueueUrl' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'ReceiptHandle' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The receipt handle is not valid for the current version.',
'class' => 'InvalidIdFormatException',
),
array(
'reason' => 'The receipt handle provided is not valid.',
'class' => 'ReceiptHandleIsInvalidException',
),
),
),
'DeleteMessageBatch' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DeleteMessageBatchResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteMessageBatch',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-11-05',
),
'QueueUrl' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Entries' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'DeleteMessageBatchRequestEntry',
'items' => array(
'name' => 'DeleteMessageBatchRequestEntry',
'type' => 'object',
'properties' => array(
'Id' => array(
'required' => true,
'type' => 'string',
),
'ReceiptHandle' => array(
'required' => true,
'type' => 'string',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Batch request contains more number of entries than permissible.',
'class' => 'TooManyEntriesInBatchRequestException',
),
array(
'reason' => 'Batch request does not contain an entry.',
'class' => 'EmptyBatchRequestException',
),
array(
'reason' => 'Two or more batch entries have the same Id in the request.',
'class' => 'BatchEntryIdsNotDistinctException',
),
array(
'reason' => 'The Id of a batch entry in a batch request does not abide by the specification.',
'class' => 'InvalidBatchEntryIdException',
),
),
),
'DeleteQueue' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DeleteQueue',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-11-05',
),
'QueueUrl' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'GetQueueAttributes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetQueueAttributesResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetQueueAttributes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-11-05',
),
'QueueUrl' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'AttributeNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'AttributeName',
'items' => array(
'name' => 'AttributeName',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'The attribute referred to does not exist.',
'class' => 'InvalidAttributeNameException',
),
),
),
'GetQueueUrl' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetQueueUrlResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetQueueUrl',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-11-05',
),
'QueueName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'QueueOwnerAWSAccountId' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The queue referred to does not exist.',
'class' => 'QueueDoesNotExistException',
),
),
),
'ListDeadLetterSourceQueues' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListDeadLetterSourceQueuesResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListDeadLetterSourceQueues',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-11-05',
),
'QueueUrl' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The queue referred to does not exist.',
'class' => 'QueueDoesNotExistException',
),
),
),
'ListQueues' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ListQueuesResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ListQueues',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-11-05',
),
'QueueNamePrefix' => array(
'type' => 'string',
'location' => 'aws.query',
),
),
),
'ReceiveMessage' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'ReceiveMessageResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'ReceiveMessage',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-11-05',
),
'QueueUrl' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'AttributeNames' => array(
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'AttributeName',
'items' => array(
'name' => 'AttributeName',
'type' => 'string',
),
),
'MaxNumberOfMessages' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'VisibilityTimeout' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
'WaitTimeSeconds' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The action that you requested would violate a limit. For example, ReceiveMessage returns this error if the maximum number of messages inflight has already been reached. AddPermission returns this error if the maximum number of permissions for the queue has already been reached.',
'class' => 'OverLimitException',
),
),
),
'RemovePermission' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'RemovePermission',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-11-05',
),
'QueueUrl' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Label' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
),
),
'SendMessage' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'SendMessageResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'SendMessage',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-11-05',
),
'QueueUrl' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'MessageBody' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'DelaySeconds' => array(
'type' => 'numeric',
'location' => 'aws.query',
),
),
'errorResponses' => array(
array(
'reason' => 'The message contains characters outside the allowed set.',
'class' => 'InvalidMessageContentsException',
),
),
),
'SendMessageBatch' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'SendMessageBatchResult',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'SendMessageBatch',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-11-05',
),
'QueueUrl' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Entries' => array(
'required' => true,
'type' => 'array',
'location' => 'aws.query',
'sentAs' => 'SendMessageBatchRequestEntry',
'items' => array(
'name' => 'SendMessageBatchRequestEntry',
'type' => 'object',
'properties' => array(
'Id' => array(
'required' => true,
'type' => 'string',
),
'MessageBody' => array(
'required' => true,
'type' => 'string',
),
'DelaySeconds' => array(
'type' => 'numeric',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Batch request contains more number of entries than permissible.',
'class' => 'TooManyEntriesInBatchRequestException',
),
array(
'reason' => 'Batch request does not contain an entry.',
'class' => 'EmptyBatchRequestException',
),
array(
'reason' => 'Two or more batch entries have the same Id in the request.',
'class' => 'BatchEntryIdsNotDistinctException',
),
array(
'reason' => 'The length of all the messages put together is more than the limit.',
'class' => 'BatchRequestTooLongException',
),
array(
'reason' => 'The Id of a batch entry in a batch request does not abide by the specification.',
'class' => 'InvalidBatchEntryIdException',
),
),
),
'SetQueueAttributes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'SetQueueAttributes',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2012-11-05',
),
'QueueUrl' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
),
'Attributes' => array(
'required' => true,
'type' => 'object',
'location' => 'aws.query',
'sentAs' => 'Attribute',
'data' => array(
'keyName' => 'Name',
'valueName' => 'Value',
),
'additionalProperties' => array(
'type' => 'string',
'data' => array(
'shape_name' => 'QueueAttributeName',
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'The attribute referred to does not exist.',
'class' => 'InvalidAttributeNameException',
),
),
),
),
'models' => array(
'EmptyOutput' => array(
'type' => 'object',
'additionalProperties' => true,
),
'ChangeMessageVisibilityBatchResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Successful' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'ChangeMessageVisibilityBatchResultEntry',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'name' => 'ChangeMessageVisibilityBatchResultEntry',
'type' => 'object',
'sentAs' => 'ChangeMessageVisibilityBatchResultEntry',
'properties' => array(
'Id' => array(
'type' => 'string',
),
),
),
),
'Failed' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'BatchResultErrorEntry',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'name' => 'BatchResultErrorEntry',
'type' => 'object',
'sentAs' => 'BatchResultErrorEntry',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'SenderFault' => array(
'type' => 'boolean',
),
'Code' => array(
'type' => 'string',
),
'Message' => array(
'type' => 'string',
),
),
),
),
),
),
'CreateQueueResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'QueueUrl' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'DeleteMessageBatchResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Successful' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'DeleteMessageBatchResultEntry',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'name' => 'DeleteMessageBatchResultEntry',
'type' => 'object',
'sentAs' => 'DeleteMessageBatchResultEntry',
'properties' => array(
'Id' => array(
'type' => 'string',
),
),
),
),
'Failed' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'BatchResultErrorEntry',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'name' => 'BatchResultErrorEntry',
'type' => 'object',
'sentAs' => 'BatchResultErrorEntry',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'SenderFault' => array(
'type' => 'boolean',
),
'Code' => array(
'type' => 'string',
),
'Message' => array(
'type' => 'string',
),
),
),
),
),
),
'GetQueueAttributesResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Attributes' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'Attribute',
'data' => array(
'xmlFlattened' => true,
'xmlMap' => array(
'Policy',
'VisibilityTimeout',
'MaximumMessageSize',
'MessageRetentionPeriod',
'ApproximateNumberOfMessages',
'ApproximateNumberOfMessagesNotVisible',
'CreatedTimestamp',
'LastModifiedTimestamp',
'QueueArn',
'ApproximateNumberOfMessagesDelayed',
'DelaySeconds',
'ReceiveMessageWaitTimeSeconds',
'RedrivePolicy',
),
),
'filters' => array(
array(
'method' => 'Aws\\Common\\Command\\XmlResponseLocationVisitor::xmlMap',
'args' => array(
'@value',
'Attribute',
'Name',
'Value',
),
),
),
'items' => array(
'name' => 'Attribute',
'type' => 'object',
'sentAs' => 'Attribute',
'additionalProperties' => true,
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
'additionalProperties' => false,
),
),
),
'GetQueueUrlResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'QueueUrl' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'ListDeadLetterSourceQueuesResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'queueUrls' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'QueueUrl',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'name' => 'QueueUrl',
'type' => 'string',
'sentAs' => 'QueueUrl',
),
),
),
),
'ListQueuesResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'QueueUrls' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'QueueUrl',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'name' => 'QueueUrl',
'type' => 'string',
'sentAs' => 'QueueUrl',
),
),
),
),
'ReceiveMessageResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Messages' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'Message',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'name' => 'Message',
'type' => 'object',
'sentAs' => 'Message',
'properties' => array(
'MessageId' => array(
'type' => 'string',
),
'ReceiptHandle' => array(
'type' => 'string',
),
'MD5OfBody' => array(
'type' => 'string',
),
'Body' => array(
'type' => 'string',
),
'Attributes' => array(
'type' => 'array',
'sentAs' => 'Attribute',
'data' => array(
'xmlFlattened' => true,
'xmlMap' => array(
'Policy',
'VisibilityTimeout',
'MaximumMessageSize',
'MessageRetentionPeriod',
'ApproximateNumberOfMessages',
'ApproximateNumberOfMessagesNotVisible',
'CreatedTimestamp',
'LastModifiedTimestamp',
'QueueArn',
'ApproximateNumberOfMessagesDelayed',
'DelaySeconds',
'ReceiveMessageWaitTimeSeconds',
'RedrivePolicy',
),
),
'filters' => array(
array(
'method' => 'Aws\\Common\\Command\\XmlResponseLocationVisitor::xmlMap',
'args' => array(
'@value',
'Attribute',
'Name',
'Value',
),
),
),
'items' => array(
'name' => 'Attribute',
'type' => 'object',
'sentAs' => 'Attribute',
'additionalProperties' => true,
'properties' => array(
'Name' => array(
'type' => 'string',
),
'Value' => array(
'type' => 'string',
),
),
),
'additionalProperties' => false,
),
),
),
),
),
),
'SendMessageResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'MD5OfMessageBody' => array(
'type' => 'string',
'location' => 'xml',
),
'MessageId' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'SendMessageBatchResult' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Successful' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'SendMessageBatchResultEntry',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'name' => 'SendMessageBatchResultEntry',
'type' => 'object',
'sentAs' => 'SendMessageBatchResultEntry',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'MessageId' => array(
'type' => 'string',
),
'MD5OfMessageBody' => array(
'type' => 'string',
),
),
),
),
'Failed' => array(
'type' => 'array',
'location' => 'xml',
'sentAs' => 'BatchResultErrorEntry',
'data' => array(
'xmlFlattened' => true,
),
'items' => array(
'name' => 'BatchResultErrorEntry',
'type' => 'object',
'sentAs' => 'BatchResultErrorEntry',
'properties' => array(
'Id' => array(
'type' => 'string',
),
'SenderFault' => array(
'type' => 'boolean',
),
'Code' => array(
'type' => 'string',
),
'Message' => array(
'type' => 'string',
),
),
),
),
),
),
),
'iterators' => array(
'operations' => array(
'ListDeadLetterSourceQueues' => array(
'result_key' => 'queueUrls',
),
'ListQueues' => array(
'result_key' => 'QueueUrls',
),
),
),
);
sdk-2.5.2/Aws/StorageGateway/StorageGatewayClient.php 0000644 115327001610067500000021026 12272324173 017666 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/storagegateway-%s.php'
))
->setExceptionParser(new JsonQueryExceptionParser())
->build();
}
}
sdk-2.5.2/Aws/StorageGateway/Enum/BandwidthType.php 0000644 115327001610067500000001470 12272324173 017254 0 ustar '2013-06-30',
'endpointPrefix' => 'storagegateway',
'serviceFullName' => 'AWS Storage Gateway',
'serviceType' => 'json',
'jsonVersion' => '1.1',
'targetPrefix' => 'StorageGateway_20130630.',
'signatureVersion' => 'v4',
'namespace' => 'StorageGateway',
'regions' => array(
'us-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'storagegateway.us-east-1.amazonaws.com',
),
'us-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'storagegateway.us-west-1.amazonaws.com',
),
'us-west-2' => array(
'http' => false,
'https' => true,
'hostname' => 'storagegateway.us-west-2.amazonaws.com',
),
'eu-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'storagegateway.eu-west-1.amazonaws.com',
),
'ap-northeast-1' => array(
'http' => false,
'https' => true,
'hostname' => 'storagegateway.ap-northeast-1.amazonaws.com',
),
'ap-southeast-1' => array(
'http' => false,
'https' => true,
'hostname' => 'storagegateway.ap-southeast-1.amazonaws.com',
),
'ap-southeast-2' => array(
'http' => false,
'https' => true,
'hostname' => 'storagegateway.ap-southeast-2.amazonaws.com',
),
'sa-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'storagegateway.sa-east-1.amazonaws.com',
),
'cn-north-1' => array(
'http' => false,
'https' => true,
'hostname' => 'storagegateway.cn-north-1.amazonaws.com.cn',
),
),
'operations' => array(
'ActivateGateway' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ActivateGatewayOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.ActivateGateway',
),
'ActivationKey' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 50,
),
'GatewayName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 2,
'maxLength' => 255,
),
'GatewayTimezone' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 3,
'maxLength' => 10,
),
'GatewayRegion' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 25,
),
'GatewayType' => array(
'type' => 'string',
'location' => 'json',
'minLength' => 2,
'maxLength' => 20,
),
'TapeDriveType' => array(
'type' => 'string',
'location' => 'json',
'minLength' => 2,
'maxLength' => 50,
),
'MediumChangerType' => array(
'type' => 'string',
'location' => 'json',
'minLength' => 2,
'maxLength' => 50,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'AddCache' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'AddCacheOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.AddCache',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
'DiskIds' => array(
'required' => true,
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'DiskId',
'type' => 'string',
'minLength' => 1,
'maxLength' => 300,
),
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'AddUploadBuffer' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'AddUploadBufferOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.AddUploadBuffer',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
'DiskIds' => array(
'required' => true,
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'DiskId',
'type' => 'string',
'minLength' => 1,
'maxLength' => 300,
),
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'AddWorkingStorage' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'AddWorkingStorageOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.AddWorkingStorage',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
'DiskIds' => array(
'required' => true,
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'DiskId',
'type' => 'string',
'minLength' => 1,
'maxLength' => 300,
),
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'CancelArchival' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'CancelArchivalOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.CancelArchival',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
'TapeARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'CancelRetrieval' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'CancelRetrievalOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.CancelRetrieval',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
'TapeARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'CreateCachediSCSIVolume' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'CreateCachediSCSIVolumeOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.CreateCachediSCSIVolume',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
'VolumeSizeInBytes' => array(
'required' => true,
'type' => 'numeric',
'location' => 'json',
),
'SnapshotId' => array(
'type' => 'string',
'location' => 'json',
),
'TargetName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 200,
),
'NetworkInterfaceId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'ClientToken' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 5,
'maxLength' => 100,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'CreateSnapshot' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'CreateSnapshotOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.CreateSnapshot',
),
'VolumeARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
'SnapshotDescription' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 255,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'CreateSnapshotFromVolumeRecoveryPoint' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'CreateSnapshotFromVolumeRecoveryPointOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.CreateSnapshotFromVolumeRecoveryPoint',
),
'VolumeARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
'SnapshotDescription' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 255,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'CreateStorediSCSIVolume' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'CreateStorediSCSIVolumeOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.CreateStorediSCSIVolume',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
'DiskId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 300,
),
'SnapshotId' => array(
'type' => 'string',
'location' => 'json',
),
'PreserveExistingData' => array(
'required' => true,
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'TargetName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 200,
),
'NetworkInterfaceId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'CreateTapes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'CreateTapesOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.CreateTapes',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
'TapeSizeInBytes' => array(
'required' => true,
'type' => 'numeric',
'location' => 'json',
'minimum' => 107374182400,
'maximum' => 2748779069440,
),
'ClientToken' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 5,
'maxLength' => 100,
),
'NumTapesToCreate' => array(
'required' => true,
'type' => 'numeric',
'location' => 'json',
'minimum' => 1,
'maximum' => 10,
),
'TapeBarcodePrefix' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 4,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'DeleteBandwidthRateLimit' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DeleteBandwidthRateLimitOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.DeleteBandwidthRateLimit',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
'BandwidthType' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 3,
'maxLength' => 25,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'DeleteChapCredentials' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DeleteChapCredentialsOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.DeleteChapCredentials',
),
'TargetARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 800,
),
'InitiatorName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 255,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'DeleteGateway' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DeleteGatewayOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.DeleteGateway',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'DeleteSnapshotSchedule' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DeleteSnapshotScheduleOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.DeleteSnapshotSchedule',
),
'VolumeARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'DeleteTape' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DeleteTapeOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.DeleteTape',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
'TapeARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'DeleteTapeArchive' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DeleteTapeArchiveOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.DeleteTapeArchive',
),
'TapeARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'DeleteVolume' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DeleteVolumeOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.DeleteVolume',
),
'VolumeARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'DescribeBandwidthRateLimit' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeBandwidthRateLimitOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.DescribeBandwidthRateLimit',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'DescribeCache' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeCacheOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.DescribeCache',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'DescribeCachediSCSIVolumes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeCachediSCSIVolumesOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.DescribeCachediSCSIVolumes',
),
'VolumeARNs' => array(
'required' => true,
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'VolumeARN',
'type' => 'string',
'minLength' => 50,
'maxLength' => 500,
),
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'DescribeChapCredentials' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeChapCredentialsOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.DescribeChapCredentials',
),
'TargetARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 800,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'DescribeGatewayInformation' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeGatewayInformationOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.DescribeGatewayInformation',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'DescribeMaintenanceStartTime' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeMaintenanceStartTimeOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.DescribeMaintenanceStartTime',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'DescribeSnapshotSchedule' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeSnapshotScheduleOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.DescribeSnapshotSchedule',
),
'VolumeARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'DescribeStorediSCSIVolumes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeStorediSCSIVolumesOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.DescribeStorediSCSIVolumes',
),
'VolumeARNs' => array(
'required' => true,
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'VolumeARN',
'type' => 'string',
'minLength' => 50,
'maxLength' => 500,
),
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'DescribeTapeArchives' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeTapeArchivesOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.DescribeTapeArchives',
),
'TapeARNs' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'TapeARN',
'type' => 'string',
'minLength' => 50,
'maxLength' => 500,
),
),
'Marker' => array(
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 1000,
),
'Limit' => array(
'type' => 'numeric',
'location' => 'json',
'minimum' => 1,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'DescribeTapeRecoveryPoints' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeTapeRecoveryPointsOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.DescribeTapeRecoveryPoints',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
'Marker' => array(
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 1000,
),
'Limit' => array(
'type' => 'numeric',
'location' => 'json',
'minimum' => 1,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'DescribeTapes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeTapesOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.DescribeTapes',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
'TapeARNs' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'TapeARN',
'type' => 'string',
'minLength' => 50,
'maxLength' => 500,
),
),
'Marker' => array(
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 1000,
),
'Limit' => array(
'type' => 'numeric',
'location' => 'json',
'minimum' => 1,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'DescribeUploadBuffer' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeUploadBufferOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.DescribeUploadBuffer',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'DescribeVTLDevices' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeVTLDevicesOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.DescribeVTLDevices',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
'VTLDeviceARNs' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'VTLDeviceARN',
'type' => 'string',
'minLength' => 50,
'maxLength' => 500,
),
),
'Marker' => array(
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 1000,
),
'Limit' => array(
'type' => 'numeric',
'location' => 'json',
'minimum' => 1,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'DescribeWorkingStorage' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeWorkingStorageOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.DescribeWorkingStorage',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'DisableGateway' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DisableGatewayOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.DisableGateway',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'ListGateways' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ListGatewaysOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.ListGateways',
),
'Marker' => array(
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 1000,
),
'Limit' => array(
'type' => 'numeric',
'location' => 'json',
'minimum' => 1,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'ListLocalDisks' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ListLocalDisksOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.ListLocalDisks',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'ListVolumeRecoveryPoints' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ListVolumeRecoveryPointsOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.ListVolumeRecoveryPoints',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'ListVolumes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ListVolumesOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.ListVolumes',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
'Marker' => array(
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 1000,
),
'Limit' => array(
'type' => 'numeric',
'location' => 'json',
'minimum' => 1,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'RetrieveTapeArchive' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'RetrieveTapeArchiveOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.RetrieveTapeArchive',
),
'TapeARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'RetrieveTapeRecoveryPoint' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'RetrieveTapeRecoveryPointOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.RetrieveTapeRecoveryPoint',
),
'TapeARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'ShutdownGateway' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ShutdownGatewayOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.ShutdownGateway',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'StartGateway' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'StartGatewayOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.StartGateway',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'UpdateBandwidthRateLimit' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'UpdateBandwidthRateLimitOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.UpdateBandwidthRateLimit',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
'AverageUploadRateLimitInBitsPerSec' => array(
'type' => 'numeric',
'location' => 'json',
'minimum' => 51200,
),
'AverageDownloadRateLimitInBitsPerSec' => array(
'type' => 'numeric',
'location' => 'json',
'minimum' => 102400,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'UpdateChapCredentials' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'UpdateChapCredentialsOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.UpdateChapCredentials',
),
'TargetARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 800,
),
'SecretToAuthenticateInitiator' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 12,
'maxLength' => 16,
),
'InitiatorName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 255,
),
'SecretToAuthenticateTarget' => array(
'type' => 'string',
'location' => 'json',
'minLength' => 12,
'maxLength' => 16,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'UpdateGatewayInformation' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'UpdateGatewayInformationOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.UpdateGatewayInformation',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
'GatewayName' => array(
'type' => 'string',
'location' => 'json',
'minLength' => 2,
'maxLength' => 255,
),
'GatewayTimezone' => array(
'type' => 'string',
'location' => 'json',
'minLength' => 3,
'maxLength' => 10,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'UpdateGatewaySoftwareNow' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'UpdateGatewaySoftwareNowOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.UpdateGatewaySoftwareNow',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'UpdateMaintenanceStartTime' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'UpdateMaintenanceStartTimeOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.UpdateMaintenanceStartTime',
),
'GatewayARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
'HourOfDay' => array(
'required' => true,
'type' => 'numeric',
'location' => 'json',
'maximum' => 23,
),
'MinuteOfHour' => array(
'required' => true,
'type' => 'numeric',
'location' => 'json',
'maximum' => 59,
),
'DayOfWeek' => array(
'required' => true,
'type' => 'numeric',
'location' => 'json',
'maximum' => 6,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
'UpdateSnapshotSchedule' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'UpdateSnapshotScheduleOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'StorageGateway_20130630.UpdateSnapshotSchedule',
),
'VolumeARN' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 50,
'maxLength' => 500,
),
'StartAt' => array(
'required' => true,
'type' => 'numeric',
'location' => 'json',
'maximum' => 23,
),
'RecurrenceInHours' => array(
'required' => true,
'type' => 'numeric',
'location' => 'json',
'minimum' => 1,
'maximum' => 24,
),
'Description' => array(
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 255,
),
),
'errorResponses' => array(
array(
'reason' => 'An exception occurred because an invalid gateway request was issued to the service. See the error and message fields for more information.',
'class' => 'InvalidGatewayRequestException',
),
array(
'reason' => 'An internal server error has occurred during the request. See the error and message fields for more information.',
'class' => 'InternalServerErrorException',
),
),
),
),
'models' => array(
'ActivateGatewayOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'GatewayARN' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'AddCacheOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'GatewayARN' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'AddUploadBufferOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'GatewayARN' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'AddWorkingStorageOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'GatewayARN' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'CancelArchivalOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'TapeARN' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'CancelRetrievalOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'TapeARN' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'CreateCachediSCSIVolumeOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'VolumeARN' => array(
'type' => 'string',
'location' => 'json',
),
'TargetARN' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'CreateSnapshotOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'VolumeARN' => array(
'type' => 'string',
'location' => 'json',
),
'SnapshotId' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'CreateSnapshotFromVolumeRecoveryPointOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'SnapshotId' => array(
'type' => 'string',
'location' => 'json',
),
'VolumeARN' => array(
'type' => 'string',
'location' => 'json',
),
'VolumeRecoveryPointTime' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'CreateStorediSCSIVolumeOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'VolumeARN' => array(
'type' => 'string',
'location' => 'json',
),
'VolumeSizeInBytes' => array(
'type' => 'numeric',
'location' => 'json',
),
'TargetARN' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'CreateTapesOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'TapeARNs' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'TapeARN',
'type' => 'string',
),
),
),
),
'DeleteBandwidthRateLimitOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'GatewayARN' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'DeleteChapCredentialsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'TargetARN' => array(
'type' => 'string',
'location' => 'json',
),
'InitiatorName' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'DeleteGatewayOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'GatewayARN' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'DeleteSnapshotScheduleOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'VolumeARN' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'DeleteTapeOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'TapeARN' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'DeleteTapeArchiveOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'TapeARN' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'DeleteVolumeOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'VolumeARN' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'DescribeBandwidthRateLimitOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'GatewayARN' => array(
'type' => 'string',
'location' => 'json',
),
'AverageUploadRateLimitInBitsPerSec' => array(
'type' => 'numeric',
'location' => 'json',
),
'AverageDownloadRateLimitInBitsPerSec' => array(
'type' => 'numeric',
'location' => 'json',
),
),
),
'DescribeCacheOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'GatewayARN' => array(
'type' => 'string',
'location' => 'json',
),
'DiskIds' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'DiskId',
'type' => 'string',
),
),
'CacheAllocatedInBytes' => array(
'type' => 'numeric',
'location' => 'json',
),
'CacheUsedPercentage' => array(
'type' => 'numeric',
'location' => 'json',
),
'CacheDirtyPercentage' => array(
'type' => 'numeric',
'location' => 'json',
),
'CacheHitPercentage' => array(
'type' => 'numeric',
'location' => 'json',
),
'CacheMissPercentage' => array(
'type' => 'numeric',
'location' => 'json',
),
),
),
'DescribeCachediSCSIVolumesOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'CachediSCSIVolumes' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'CachediSCSIVolume',
'type' => 'object',
'properties' => array(
'VolumeARN' => array(
'type' => 'string',
),
'VolumeId' => array(
'type' => 'string',
),
'VolumeType' => array(
'type' => 'string',
),
'VolumeStatus' => array(
'type' => 'string',
),
'VolumeSizeInBytes' => array(
'type' => 'numeric',
),
'VolumeProgress' => array(
'type' => 'numeric',
),
'SourceSnapshotId' => array(
'type' => 'string',
),
'VolumeiSCSIAttributes' => array(
'type' => 'object',
'properties' => array(
'TargetARN' => array(
'type' => 'string',
),
'NetworkInterfaceId' => array(
'type' => 'string',
),
'NetworkInterfacePort' => array(
'type' => 'numeric',
),
'LunNumber' => array(
'type' => 'numeric',
),
'ChapEnabled' => array(
'type' => 'boolean',
),
),
),
),
),
),
),
),
'DescribeChapCredentialsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'ChapCredentials' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'ChapInfo',
'type' => 'object',
'properties' => array(
'TargetARN' => array(
'type' => 'string',
),
'SecretToAuthenticateInitiator' => array(
'type' => 'string',
),
'InitiatorName' => array(
'type' => 'string',
),
'SecretToAuthenticateTarget' => array(
'type' => 'string',
),
),
),
),
),
),
'DescribeGatewayInformationOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'GatewayARN' => array(
'type' => 'string',
'location' => 'json',
),
'GatewayId' => array(
'type' => 'string',
'location' => 'json',
),
'GatewayTimezone' => array(
'type' => 'string',
'location' => 'json',
),
'GatewayState' => array(
'type' => 'string',
'location' => 'json',
),
'GatewayNetworkInterfaces' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'NetworkInterface',
'type' => 'object',
'properties' => array(
'Ipv4Address' => array(
'type' => 'string',
),
'MacAddress' => array(
'type' => 'string',
),
'Ipv6Address' => array(
'type' => 'string',
),
),
),
),
'GatewayType' => array(
'type' => 'string',
'location' => 'json',
),
'NextUpdateAvailabilityDate' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'DescribeMaintenanceStartTimeOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'GatewayARN' => array(
'type' => 'string',
'location' => 'json',
),
'HourOfDay' => array(
'type' => 'numeric',
'location' => 'json',
),
'MinuteOfHour' => array(
'type' => 'numeric',
'location' => 'json',
),
'DayOfWeek' => array(
'type' => 'numeric',
'location' => 'json',
),
'Timezone' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'DescribeSnapshotScheduleOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'VolumeARN' => array(
'type' => 'string',
'location' => 'json',
),
'StartAt' => array(
'type' => 'numeric',
'location' => 'json',
),
'RecurrenceInHours' => array(
'type' => 'numeric',
'location' => 'json',
),
'Description' => array(
'type' => 'string',
'location' => 'json',
),
'Timezone' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'DescribeStorediSCSIVolumesOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'StorediSCSIVolumes' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'StorediSCSIVolume',
'type' => 'object',
'properties' => array(
'VolumeARN' => array(
'type' => 'string',
),
'VolumeId' => array(
'type' => 'string',
),
'VolumeType' => array(
'type' => 'string',
),
'VolumeStatus' => array(
'type' => 'string',
),
'VolumeSizeInBytes' => array(
'type' => 'numeric',
),
'VolumeProgress' => array(
'type' => 'numeric',
),
'VolumeDiskId' => array(
'type' => 'string',
),
'SourceSnapshotId' => array(
'type' => 'string',
),
'PreservedExistingData' => array(
'type' => 'boolean',
),
'VolumeiSCSIAttributes' => array(
'type' => 'object',
'properties' => array(
'TargetARN' => array(
'type' => 'string',
),
'NetworkInterfaceId' => array(
'type' => 'string',
),
'NetworkInterfacePort' => array(
'type' => 'numeric',
),
'LunNumber' => array(
'type' => 'numeric',
),
'ChapEnabled' => array(
'type' => 'boolean',
),
),
),
),
),
),
),
),
'DescribeTapeArchivesOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'TapeArchives' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'TapeArchive',
'type' => 'object',
'properties' => array(
'TapeARN' => array(
'type' => 'string',
),
'TapeBarcode' => array(
'type' => 'string',
),
'TapeSizeInBytes' => array(
'type' => 'numeric',
),
'CompletionTime' => array(
'type' => 'string',
),
'RetrievedTo' => array(
'type' => 'string',
),
'TapeStatus' => array(
'type' => 'string',
),
),
),
),
'Marker' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'DescribeTapeRecoveryPointsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'GatewayARN' => array(
'type' => 'string',
'location' => 'json',
),
'TapeRecoveryPointInfos' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'TapeRecoveryPointInfo',
'type' => 'object',
'properties' => array(
'TapeARN' => array(
'type' => 'string',
),
'TapeRecoveryPointTime' => array(
'type' => 'string',
),
'TapeSizeInBytes' => array(
'type' => 'numeric',
),
'TapeStatus' => array(
'type' => 'string',
),
),
),
),
'Marker' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'DescribeTapesOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Tapes' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'Tape',
'type' => 'object',
'properties' => array(
'TapeARN' => array(
'type' => 'string',
),
'TapeBarcode' => array(
'type' => 'string',
),
'TapeSizeInBytes' => array(
'type' => 'numeric',
),
'TapeStatus' => array(
'type' => 'string',
),
'VTLDevice' => array(
'type' => 'string',
),
'Progress' => array(
'type' => 'numeric',
),
),
),
),
'Marker' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'DescribeUploadBufferOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'GatewayARN' => array(
'type' => 'string',
'location' => 'json',
),
'DiskIds' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'DiskId',
'type' => 'string',
),
),
'UploadBufferUsedInBytes' => array(
'type' => 'numeric',
'location' => 'json',
),
'UploadBufferAllocatedInBytes' => array(
'type' => 'numeric',
'location' => 'json',
),
),
),
'DescribeVTLDevicesOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'GatewayARN' => array(
'type' => 'string',
'location' => 'json',
),
'VTLDevices' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'VTLDevice',
'type' => 'object',
'properties' => array(
'VTLDeviceARN' => array(
'type' => 'string',
),
'VTLDeviceType' => array(
'type' => 'string',
),
'VTLDeviceVendor' => array(
'type' => 'string',
),
'VTLDeviceProductIdentifier' => array(
'type' => 'string',
),
'DeviceiSCSIAttributes' => array(
'type' => 'object',
'properties' => array(
'TargetARN' => array(
'type' => 'string',
),
'NetworkInterfaceId' => array(
'type' => 'string',
),
'NetworkInterfacePort' => array(
'type' => 'numeric',
),
'ChapEnabled' => array(
'type' => 'boolean',
),
),
),
),
),
),
'Marker' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'DescribeWorkingStorageOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'GatewayARN' => array(
'type' => 'string',
'location' => 'json',
),
'DiskIds' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'DiskId',
'type' => 'string',
),
),
'WorkingStorageUsedInBytes' => array(
'type' => 'numeric',
'location' => 'json',
),
'WorkingStorageAllocatedInBytes' => array(
'type' => 'numeric',
'location' => 'json',
),
),
),
'DisableGatewayOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'GatewayARN' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'ListGatewaysOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Gateways' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'GatewayInfo',
'type' => 'object',
'properties' => array(
'GatewayARN' => array(
'type' => 'string',
),
'GatewayType' => array(
'type' => 'string',
),
'GatewayOperationalState' => array(
'type' => 'string',
),
),
),
),
'Marker' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'ListLocalDisksOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'GatewayARN' => array(
'type' => 'string',
'location' => 'json',
),
'Disks' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'Disk',
'type' => 'object',
'properties' => array(
'DiskId' => array(
'type' => 'string',
),
'DiskPath' => array(
'type' => 'string',
),
'DiskNode' => array(
'type' => 'string',
),
'DiskSizeInBytes' => array(
'type' => 'numeric',
),
'DiskAllocationType' => array(
'type' => 'string',
),
'DiskAllocationResource' => array(
'type' => 'string',
),
),
),
),
),
),
'ListVolumeRecoveryPointsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'GatewayARN' => array(
'type' => 'string',
'location' => 'json',
),
'VolumeRecoveryPointInfos' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'VolumeRecoveryPointInfo',
'type' => 'object',
'properties' => array(
'VolumeARN' => array(
'type' => 'string',
),
'VolumeSizeInBytes' => array(
'type' => 'numeric',
),
'VolumeUsageInBytes' => array(
'type' => 'numeric',
),
'VolumeRecoveryPointTime' => array(
'type' => 'string',
),
),
),
),
),
),
'ListVolumesOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'GatewayARN' => array(
'type' => 'string',
'location' => 'json',
),
'Marker' => array(
'type' => 'string',
'location' => 'json',
),
'VolumeInfos' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'VolumeInfo',
'type' => 'object',
'properties' => array(
'VolumeARN' => array(
'type' => 'string',
),
'VolumeType' => array(
'type' => 'string',
),
),
),
),
),
),
'RetrieveTapeArchiveOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'TapeARN' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'RetrieveTapeRecoveryPointOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'TapeARN' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'ShutdownGatewayOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'GatewayARN' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'StartGatewayOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'GatewayARN' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'UpdateBandwidthRateLimitOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'GatewayARN' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'UpdateChapCredentialsOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'TargetARN' => array(
'type' => 'string',
'location' => 'json',
),
'InitiatorName' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'UpdateGatewayInformationOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'GatewayARN' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'UpdateGatewaySoftwareNowOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'GatewayARN' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'UpdateMaintenanceStartTimeOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'GatewayARN' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'UpdateSnapshotScheduleOutput' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'VolumeARN' => array(
'type' => 'string',
'location' => 'json',
),
),
),
),
'iterators' => array(
'operations' => array(
'DescribeCachediSCSIVolumes' => array(
'result_key' => 'CachediSCSIVolumes',
),
'DescribeStorediSCSIVolumes' => array(
'result_key' => 'StorediSCSIVolumes',
),
'DescribeTapeArchives' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'Limit',
'result_key' => 'TapeArchives',
),
'DescribeTapeRecoveryPoints' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'Limit',
'result_key' => 'TapeRecoveryPointInfos',
),
'DescribeTapes' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'Limit',
'result_key' => 'Tapes',
),
'DescribeVTLDevices' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'Limit',
'result_key' => 'VTLDevices',
),
'ListGateways' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'Limit',
'result_key' => 'Gateways',
),
'ListLocalDisks' => array(
'result_key' => 'Disks',
),
'ListVolumeRecoveryPoints' => array(
'result_key' => 'VolumeRecoveryPointInfos',
),
'ListVolumes' => array(
'token_param' => 'Marker',
'token_key' => 'Marker',
'limit_key' => 'Limit',
'result_key' => 'VolumeInfos',
),
),
),
);
sdk-2.5.2/Aws/Sts/StsClient.php 0000644 115327001610067500000011205 12272324173 013332 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/sts-%s.php'
))
->build();
// Attach a listener to prevent AssumeRoleWithWebIdentity requests from being signed
$client->getEventDispatcher()->addListener('command.before_send', function(Event $event) {
/** @var AbstractCommand $command */
$command = $event['command'];
if ($command->getName() === 'AssumeRoleWithWebIdentity') {
/** @var EventDispatcher $dispatcher */
$dispatcher = $command->getRequest()->getEventDispatcher();
foreach ($dispatcher->getListeners('request.before_send') as $listener) {
if (is_array($listener) && $listener[0] instanceof SignatureListener) {
$dispatcher->removeListener('request.before_send', $listener);
break;
}
}
}
});
return $client;
}
/**
* Creates a credentials object from the credential data return by an STS operation
*
* @param Model $result The result of an STS operation
*
* @return Credentials
* @throws InvalidArgumentException if the result does not contain credential data
*/
public function createCredentials(Model $result)
{
if (!$result->hasKey('Credentials')) {
throw new InvalidArgumentException('The modeled result provided contained no credentials.');
}
return new Credentials(
$result->getPath('Credentials/AccessKeyId'),
$result->getPath('Credentials/SecretAccessKey'),
$result->getPath('Credentials/SessionToken'),
$result->getPath('Credentials/Expiration')
);
}
}
sdk-2.5.2/Aws/Sts/Exception/ExpiredTokenException.php 0000644 115327001610067500000001500 12272324173 017635 0 ustar '2011-06-15',
'endpointPrefix' => 'sts',
'serviceFullName' => 'AWS Security Token Service',
'serviceAbbreviation' => 'AWS STS',
'serviceType' => 'query',
'globalEndpoint' => 'sts.amazonaws.com',
'resultWrapped' => true,
'signatureVersion' => 'v4',
'namespace' => 'Sts',
'regions' => array(
'us-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'sts.amazonaws.com',
),
'us-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'sts.amazonaws.com',
),
'us-west-2' => array(
'http' => false,
'https' => true,
'hostname' => 'sts.amazonaws.com',
),
'eu-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'sts.amazonaws.com',
),
'ap-northeast-1' => array(
'http' => false,
'https' => true,
'hostname' => 'sts.amazonaws.com',
),
'ap-southeast-1' => array(
'http' => false,
'https' => true,
'hostname' => 'sts.amazonaws.com',
),
'ap-southeast-2' => array(
'http' => false,
'https' => true,
'hostname' => 'sts.amazonaws.com',
),
'sa-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'sts.amazonaws.com',
),
'cn-north-1' => array(
'http' => false,
'https' => true,
'hostname' => 'sts.cn-north-1.amazonaws.com.cn',
),
'us-gov-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'sts.us-gov-west-1.amazonaws.com',
),
),
'operations' => array(
'AssumeRole' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'AssumeRoleResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'AssumeRole',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-06-15',
),
'RoleArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 20,
'maxLength' => 2048,
),
'RoleSessionName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 2,
'maxLength' => 32,
),
'Policy' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 2048,
),
'DurationSeconds' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 900,
'maximum' => 3600,
),
'ExternalId' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 2,
'maxLength' => 96,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because the policy document was malformed. The error message describes the specific error.',
'class' => 'MalformedPolicyDocumentException',
),
array(
'reason' => 'The request was rejected because the policy document was too large. The error message describes how big the policy document is, in packed form, as a percentage of what the API allows.',
'class' => 'PackedPolicyTooLargeException',
),
),
),
'AssumeRoleWithSAML' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'AssumeRoleWithSAMLResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'AssumeRoleWithSAML',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-06-15',
),
'RoleArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 20,
'maxLength' => 2048,
),
'PrincipalArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 20,
'maxLength' => 2048,
),
'SAMLAssertion' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 4,
'maxLength' => 50000,
),
'Policy' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 2048,
),
'DurationSeconds' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 900,
'maximum' => 129600,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because the policy document was malformed. The error message describes the specific error.',
'class' => 'MalformedPolicyDocumentException',
),
array(
'reason' => 'The request was rejected because the policy document was too large. The error message describes how big the policy document is, in packed form, as a percentage of what the API allows.',
'class' => 'PackedPolicyTooLargeException',
),
array(
'reason' => 'The identity provider (IdP) reported that authentication failed. This might be because the claim is invalid. If this error is returned for the AssumeRoleWithWebIdentity operation, it can also mean that the claim has expired or has been explicitly revoked.',
'class' => 'IDPRejectedClaimException',
),
array(
'reason' => 'The web identity token that was passed could not be validated by AWS. Get a new identity token from the identity provider and then retry the request.',
'class' => 'InvalidIdentityTokenException',
),
array(
'reason' => 'The web identity token that was passed is expired or is not valid. Get a new identity token from the identity provider and then retry the request.',
'class' => 'ExpiredTokenException',
),
),
),
'AssumeRoleWithWebIdentity' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'AssumeRoleWithWebIdentityResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'AssumeRoleWithWebIdentity',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-06-15',
),
'RoleArn' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 20,
'maxLength' => 2048,
),
'RoleSessionName' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 2,
'maxLength' => 32,
),
'WebIdentityToken' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 4,
'maxLength' => 2048,
),
'ProviderId' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 4,
'maxLength' => 2048,
),
'Policy' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 2048,
),
'DurationSeconds' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 900,
'maximum' => 129600,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because the policy document was malformed. The error message describes the specific error.',
'class' => 'MalformedPolicyDocumentException',
),
array(
'reason' => 'The request was rejected because the policy document was too large. The error message describes how big the policy document is, in packed form, as a percentage of what the API allows.',
'class' => 'PackedPolicyTooLargeException',
),
array(
'reason' => 'The identity provider (IdP) reported that authentication failed. This might be because the claim is invalid. If this error is returned for the AssumeRoleWithWebIdentity operation, it can also mean that the claim has expired or has been explicitly revoked.',
'class' => 'IDPRejectedClaimException',
),
array(
'reason' => 'The request could not be fulfilled because the non-AWS identity provider (IDP) that was asked to verify the incoming identity token could not be reached. This is often a transient error caused by network conditions. Retry the request a limited number of times so that you don\'t exceed the request rate. If the error persists, the non-AWS identity provider might be down or not responding.',
'class' => 'IDPCommunicationErrorException',
),
array(
'reason' => 'The web identity token that was passed could not be validated by AWS. Get a new identity token from the identity provider and then retry the request.',
'class' => 'InvalidIdentityTokenException',
),
array(
'reason' => 'The web identity token that was passed is expired or is not valid. Get a new identity token from the identity provider and then retry the request.',
'class' => 'ExpiredTokenException',
),
),
),
'DecodeAuthorizationMessage' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'DecodeAuthorizationMessageResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'DecodeAuthorizationMessage',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-06-15',
),
'EncodedMessage' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 10240,
),
),
'errorResponses' => array(
array(
'reason' => 'The error returned if the message passed to DecodeAuthorizationMessage was invalid. This can happen if the token contains invalid characters, such as linebreaks.',
'class' => 'InvalidAuthorizationMessageException',
),
),
),
'GetFederationToken' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetFederationTokenResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetFederationToken',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-06-15',
),
'Name' => array(
'required' => true,
'type' => 'string',
'location' => 'aws.query',
'minLength' => 2,
'maxLength' => 32,
),
'Policy' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 1,
'maxLength' => 2048,
),
'DurationSeconds' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 900,
'maximum' => 129600,
),
),
'errorResponses' => array(
array(
'reason' => 'The request was rejected because the policy document was malformed. The error message describes the specific error.',
'class' => 'MalformedPolicyDocumentException',
),
array(
'reason' => 'The request was rejected because the policy document was too large. The error message describes how big the policy document is, in packed form, as a percentage of what the API allows.',
'class' => 'PackedPolicyTooLargeException',
),
),
),
'GetSessionToken' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\QueryCommand',
'responseClass' => 'GetSessionTokenResponse',
'responseType' => 'model',
'parameters' => array(
'Action' => array(
'static' => true,
'location' => 'aws.query',
'default' => 'GetSessionToken',
),
'Version' => array(
'static' => true,
'location' => 'aws.query',
'default' => '2011-06-15',
),
'DurationSeconds' => array(
'type' => 'numeric',
'location' => 'aws.query',
'minimum' => 900,
'maximum' => 129600,
),
'SerialNumber' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 9,
'maxLength' => 256,
),
'TokenCode' => array(
'type' => 'string',
'location' => 'aws.query',
'minLength' => 6,
'maxLength' => 6,
),
),
),
),
'models' => array(
'AssumeRoleResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Credentials' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'AccessKeyId' => array(
'type' => 'string',
),
'SecretAccessKey' => array(
'type' => 'string',
),
'SessionToken' => array(
'type' => 'string',
),
'Expiration' => array(
'type' => 'string',
),
),
),
'AssumedRoleUser' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'AssumedRoleId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
),
),
'PackedPolicySize' => array(
'type' => 'numeric',
'location' => 'xml',
),
),
),
'AssumeRoleWithSAMLResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Credentials' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'AccessKeyId' => array(
'type' => 'string',
),
'SecretAccessKey' => array(
'type' => 'string',
),
'SessionToken' => array(
'type' => 'string',
),
'Expiration' => array(
'type' => 'string',
),
),
),
'AssumedRoleUser' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'AssumedRoleId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
),
),
'PackedPolicySize' => array(
'type' => 'numeric',
'location' => 'xml',
),
),
),
'AssumeRoleWithWebIdentityResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Credentials' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'AccessKeyId' => array(
'type' => 'string',
),
'SecretAccessKey' => array(
'type' => 'string',
),
'SessionToken' => array(
'type' => 'string',
),
'Expiration' => array(
'type' => 'string',
),
),
),
'SubjectFromWebIdentityToken' => array(
'type' => 'string',
'location' => 'xml',
),
'AssumedRoleUser' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'AssumedRoleId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
),
),
'PackedPolicySize' => array(
'type' => 'numeric',
'location' => 'xml',
),
),
),
'DecodeAuthorizationMessageResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'DecodedMessage' => array(
'type' => 'string',
'location' => 'xml',
),
),
),
'GetFederationTokenResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Credentials' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'AccessKeyId' => array(
'type' => 'string',
),
'SecretAccessKey' => array(
'type' => 'string',
),
'SessionToken' => array(
'type' => 'string',
),
'Expiration' => array(
'type' => 'string',
),
),
),
'FederatedUser' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'FederatedUserId' => array(
'type' => 'string',
),
'Arn' => array(
'type' => 'string',
),
),
),
'PackedPolicySize' => array(
'type' => 'numeric',
'location' => 'xml',
),
),
),
'GetSessionTokenResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'Credentials' => array(
'type' => 'object',
'location' => 'xml',
'properties' => array(
'AccessKeyId' => array(
'type' => 'string',
),
'SecretAccessKey' => array(
'type' => 'string',
),
'SessionToken' => array(
'type' => 'string',
),
'Expiration' => array(
'type' => 'string',
),
),
),
),
),
),
);
sdk-2.5.2/Aws/Support/SupportClient.php 0000644 115327001610067500000010704 12272324173 015143 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/support-%s.php'
))
->setExceptionParser(new JsonQueryExceptionParser())
->build();
}
}
sdk-2.5.2/Aws/Support/Exception/CaseCreationLimitExceededException.php 0000644 115327001610067500000001412 12272324173 023127 0 ustar '2013-04-15',
'endpointPrefix' => 'support',
'serviceFullName' => 'AWS Support',
'serviceType' => 'json',
'jsonVersion' => '1.1',
'targetPrefix' => 'AWSSupport_20130415.',
'signatureVersion' => 'v4',
'namespace' => 'Support',
'regions' => array(
'us-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'support.us-east-1.amazonaws.com',
),
),
'operations' => array(
'AddCommunicationToCase' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'AddCommunicationToCaseResponse',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'AWSSupport_20130415.AddCommunicationToCase',
),
'caseId' => array(
'type' => 'string',
'location' => 'json',
),
'communicationBody' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 8000,
),
'ccEmailAddresses' => array(
'type' => 'array',
'location' => 'json',
'maxItems' => 10,
'items' => array(
'name' => 'CcEmailAddress',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'Returns HTTP error 500.',
'class' => 'InternalServerErrorException',
),
array(
'reason' => 'Returned when the CaseId requested could not be located.',
'class' => 'CaseIdNotFoundException',
),
),
),
'CreateCase' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'CreateCaseResponse',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'AWSSupport_20130415.CreateCase',
),
'subject' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'serviceCode' => array(
'type' => 'string',
'location' => 'json',
),
'severityCode' => array(
'type' => 'string',
'location' => 'json',
),
'categoryCode' => array(
'type' => 'string',
'location' => 'json',
),
'communicationBody' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 8000,
),
'ccEmailAddresses' => array(
'type' => 'array',
'location' => 'json',
'maxItems' => 10,
'items' => array(
'name' => 'CcEmailAddress',
'type' => 'string',
),
),
'language' => array(
'type' => 'string',
'location' => 'json',
),
'issueType' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Returns HTTP error 500.',
'class' => 'InternalServerErrorException',
),
array(
'reason' => 'Returned when you have exceeded the case creation limit for an account.',
'class' => 'CaseCreationLimitExceededException',
),
),
),
'DescribeCases' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeCasesResponse',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'AWSSupport_20130415.DescribeCases',
),
'caseIdList' => array(
'type' => 'array',
'location' => 'json',
'maxItems' => 100,
'items' => array(
'name' => 'CaseId',
'type' => 'string',
),
),
'displayId' => array(
'type' => 'string',
'location' => 'json',
),
'afterTime' => array(
'type' => 'string',
'location' => 'json',
),
'beforeTime' => array(
'type' => 'string',
'location' => 'json',
),
'includeResolvedCases' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'nextToken' => array(
'type' => 'string',
'location' => 'json',
),
'maxResults' => array(
'type' => 'numeric',
'location' => 'json',
'minimum' => 10,
'maximum' => 100,
),
'language' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Returns HTTP error 500.',
'class' => 'InternalServerErrorException',
),
array(
'reason' => 'Returned when the CaseId requested could not be located.',
'class' => 'CaseIdNotFoundException',
),
),
),
'DescribeCommunications' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeCommunicationsResponse',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'AWSSupport_20130415.DescribeCommunications',
),
'caseId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'beforeTime' => array(
'type' => 'string',
'location' => 'json',
),
'afterTime' => array(
'type' => 'string',
'location' => 'json',
),
'nextToken' => array(
'type' => 'string',
'location' => 'json',
),
'maxResults' => array(
'type' => 'numeric',
'location' => 'json',
'minimum' => 10,
'maximum' => 100,
),
),
'errorResponses' => array(
array(
'reason' => 'Returns HTTP error 500.',
'class' => 'InternalServerErrorException',
),
array(
'reason' => 'Returned when the CaseId requested could not be located.',
'class' => 'CaseIdNotFoundException',
),
),
),
'DescribeServices' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeServicesResponse',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'AWSSupport_20130415.DescribeServices',
),
'serviceCodeList' => array(
'type' => 'array',
'location' => 'json',
'maxItems' => 100,
'items' => array(
'name' => 'ServiceCode',
'type' => 'string',
),
),
'language' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Returns HTTP error 500.',
'class' => 'InternalServerErrorException',
),
),
),
'DescribeSeverityLevels' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeSeverityLevelsResponse',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'AWSSupport_20130415.DescribeSeverityLevels',
),
'language' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Returns HTTP error 500.',
'class' => 'InternalServerErrorException',
),
),
),
'DescribeTrustedAdvisorCheckRefreshStatuses' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeTrustedAdvisorCheckRefreshStatusesResponse',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'AWSSupport_20130415.DescribeTrustedAdvisorCheckRefreshStatuses',
),
'checkIds' => array(
'required' => true,
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'Returns HTTP error 500.',
'class' => 'InternalServerErrorException',
),
),
),
'DescribeTrustedAdvisorCheckResult' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeTrustedAdvisorCheckResultResponse',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'AWSSupport_20130415.DescribeTrustedAdvisorCheckResult',
),
'checkId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
'language' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Returns HTTP error 500.',
'class' => 'InternalServerErrorException',
),
),
),
'DescribeTrustedAdvisorCheckSummaries' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeTrustedAdvisorCheckSummariesResponse',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'AWSSupport_20130415.DescribeTrustedAdvisorCheckSummaries',
),
'checkIds' => array(
'required' => true,
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
'errorResponses' => array(
array(
'reason' => 'Returns HTTP error 500.',
'class' => 'InternalServerErrorException',
),
),
),
'DescribeTrustedAdvisorChecks' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DescribeTrustedAdvisorChecksResponse',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'AWSSupport_20130415.DescribeTrustedAdvisorChecks',
),
'language' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Returns HTTP error 500.',
'class' => 'InternalServerErrorException',
),
),
),
'RefreshTrustedAdvisorCheck' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'RefreshTrustedAdvisorCheckResponse',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'AWSSupport_20130415.RefreshTrustedAdvisorCheck',
),
'checkId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Returns HTTP error 500.',
'class' => 'InternalServerErrorException',
),
),
),
'ResolveCase' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ResolveCaseResponse',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.1',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'AWSSupport_20130415.ResolveCase',
),
'caseId' => array(
'type' => 'string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Returns HTTP error 500.',
'class' => 'InternalServerErrorException',
),
array(
'reason' => 'Returned when the CaseId requested could not be located.',
'class' => 'CaseIdNotFoundException',
),
),
),
),
'models' => array(
'AddCommunicationToCaseResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'result' => array(
'type' => 'boolean',
'location' => 'json',
),
),
),
'CreateCaseResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'caseId' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'DescribeCasesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'cases' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'CaseDetails',
'type' => 'object',
'properties' => array(
'caseId' => array(
'type' => 'string',
),
'displayId' => array(
'type' => 'string',
),
'subject' => array(
'type' => 'string',
),
'status' => array(
'type' => 'string',
),
'serviceCode' => array(
'type' => 'string',
),
'categoryCode' => array(
'type' => 'string',
),
'severityCode' => array(
'type' => 'string',
),
'submittedBy' => array(
'type' => 'string',
),
'timeCreated' => array(
'type' => 'string',
),
'recentCommunications' => array(
'type' => 'object',
'properties' => array(
'communications' => array(
'type' => 'array',
'items' => array(
'name' => 'Communication',
'type' => 'object',
'properties' => array(
'caseId' => array(
'type' => 'string',
),
'body' => array(
'type' => 'string',
),
'submittedBy' => array(
'type' => 'string',
),
'timeCreated' => array(
'type' => 'string',
),
),
),
),
'nextToken' => array(
'type' => 'string',
),
),
),
'ccEmailAddresses' => array(
'type' => 'array',
'items' => array(
'name' => 'CcEmailAddress',
'type' => 'string',
),
),
'language' => array(
'type' => 'string',
),
),
),
),
'nextToken' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'DescribeCommunicationsResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'communications' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'Communication',
'type' => 'object',
'properties' => array(
'caseId' => array(
'type' => 'string',
),
'body' => array(
'type' => 'string',
),
'submittedBy' => array(
'type' => 'string',
),
'timeCreated' => array(
'type' => 'string',
),
),
),
),
'nextToken' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'DescribeServicesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'services' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'Service',
'type' => 'object',
'properties' => array(
'code' => array(
'type' => 'string',
),
'name' => array(
'type' => 'string',
),
'categories' => array(
'type' => 'array',
'items' => array(
'name' => 'Category',
'type' => 'object',
'properties' => array(
'code' => array(
'type' => 'string',
),
'name' => array(
'type' => 'string',
),
),
),
),
),
),
),
),
),
'DescribeSeverityLevelsResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'severityLevels' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'SeverityLevel',
'type' => 'object',
'properties' => array(
'code' => array(
'type' => 'string',
),
'name' => array(
'type' => 'string',
),
),
),
),
),
),
'DescribeTrustedAdvisorCheckRefreshStatusesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'statuses' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'TrustedAdvisorCheckRefreshStatus',
'type' => 'object',
'properties' => array(
'checkId' => array(
'type' => 'string',
),
'status' => array(
'type' => 'string',
),
'millisUntilNextRefreshable' => array(
'type' => 'numeric',
),
),
),
),
),
),
'DescribeTrustedAdvisorCheckResultResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'result' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'checkId' => array(
'type' => 'string',
),
'timestamp' => array(
'type' => 'string',
),
'status' => array(
'type' => 'string',
),
'resourcesSummary' => array(
'type' => 'object',
'properties' => array(
'resourcesProcessed' => array(
'type' => 'numeric',
),
'resourcesFlagged' => array(
'type' => 'numeric',
),
'resourcesIgnored' => array(
'type' => 'numeric',
),
'resourcesSuppressed' => array(
'type' => 'numeric',
),
),
),
'categorySpecificSummary' => array(
'type' => 'object',
'properties' => array(
'costOptimizing' => array(
'type' => 'object',
'properties' => array(
'estimatedMonthlySavings' => array(
'type' => 'numeric',
),
'estimatedPercentMonthlySavings' => array(
'type' => 'numeric',
),
),
),
),
),
'flaggedResources' => array(
'type' => 'array',
'items' => array(
'name' => 'TrustedAdvisorResourceDetail',
'type' => 'object',
'properties' => array(
'status' => array(
'type' => 'string',
),
'region' => array(
'type' => 'string',
),
'resourceId' => array(
'type' => 'string',
),
'isSuppressed' => array(
'type' => 'boolean',
),
'metadata' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
),
),
),
),
),
),
'DescribeTrustedAdvisorCheckSummariesResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'summaries' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'TrustedAdvisorCheckSummary',
'type' => 'object',
'properties' => array(
'checkId' => array(
'type' => 'string',
),
'timestamp' => array(
'type' => 'string',
),
'status' => array(
'type' => 'string',
),
'hasFlaggedResources' => array(
'type' => 'boolean',
),
'resourcesSummary' => array(
'type' => 'object',
'properties' => array(
'resourcesProcessed' => array(
'type' => 'numeric',
),
'resourcesFlagged' => array(
'type' => 'numeric',
),
'resourcesIgnored' => array(
'type' => 'numeric',
),
'resourcesSuppressed' => array(
'type' => 'numeric',
),
),
),
'categorySpecificSummary' => array(
'type' => 'object',
'properties' => array(
'costOptimizing' => array(
'type' => 'object',
'properties' => array(
'estimatedMonthlySavings' => array(
'type' => 'numeric',
),
'estimatedPercentMonthlySavings' => array(
'type' => 'numeric',
),
),
),
),
),
),
),
),
),
),
'DescribeTrustedAdvisorChecksResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'checks' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'TrustedAdvisorCheckDescription',
'type' => 'object',
'properties' => array(
'id' => array(
'type' => 'string',
),
'name' => array(
'type' => 'string',
),
'description' => array(
'type' => 'string',
),
'category' => array(
'type' => 'string',
),
'metadata' => array(
'type' => 'array',
'items' => array(
'name' => 'String',
'type' => 'string',
),
),
),
),
),
),
),
'RefreshTrustedAdvisorCheckResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'status' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'checkId' => array(
'type' => 'string',
),
'status' => array(
'type' => 'string',
),
'millisUntilNextRefreshable' => array(
'type' => 'numeric',
),
),
),
),
),
'ResolveCaseResponse' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'initialCaseStatus' => array(
'type' => 'string',
'location' => 'json',
),
'finalCaseStatus' => array(
'type' => 'string',
'location' => 'json',
),
),
),
),
'iterators' => array(
'operations' => array(
'DescribeCases' => array(
'token_param' => 'nextToken',
'token_key' => 'nextToken',
'limit_key' => 'maxResults',
'result_key' => 'cases',
),
'DescribeCommunications' => array(
'token_param' => 'nextToken',
'token_key' => 'nextToken',
'limit_key' => 'maxResults',
'result_key' => 'communications',
),
'DescribeServices' => array(
'result_key' => 'services',
),
'DescribeTrustedAdvisorCheckRefreshStatuses' => array(
'result_key' => 'statuses',
),
'DescribeTrustedAdvisorCheckSummaries' => array(
'result_key' => 'summaries',
),
'DescribeSeverityLevels' => array(
'result_key' => 'severityLevelsList',
),
'DescribeTrustedAdvisorChecks' => array(
'result_key' => 'checks',
),
),
),
);
sdk-2.5.2/Aws/Swf/SwfClient.php 0000644 115327001610067500000014327 12272324173 013316 0 ustar setConfig($config)
->setConfigDefaults(array(
Options::VERSION => self::LATEST_API_VERSION,
Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/swf-%s.php'
))
->setExceptionParser(new JsonQueryExceptionParser())
->build();
}
}
sdk-2.5.2/Aws/Swf/Enum/ActivityTaskTimeoutType.php 0000644 115327001610067500000001642 12272324173 017150 0 ustar '2012-01-25',
'endpointPrefix' => 'swf',
'serviceFullName' => 'Amazon Simple Workflow Service',
'serviceAbbreviation' => 'Amazon SWF',
'serviceType' => 'json',
'jsonVersion' => '1.0',
'targetPrefix' => 'SimpleWorkflowService.',
'timestampFormat' => 'unixTimestamp',
'signatureVersion' => 'v4',
'namespace' => 'Swf',
'regions' => array(
'us-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'swf.us-east-1.amazonaws.com',
),
'us-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'swf.us-west-1.amazonaws.com',
),
'us-west-2' => array(
'http' => false,
'https' => true,
'hostname' => 'swf.us-west-2.amazonaws.com',
),
'eu-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'swf.eu-west-1.amazonaws.com',
),
'ap-northeast-1' => array(
'http' => false,
'https' => true,
'hostname' => 'swf.ap-northeast-1.amazonaws.com',
),
'ap-southeast-1' => array(
'http' => false,
'https' => true,
'hostname' => 'swf.ap-southeast-1.amazonaws.com',
),
'ap-southeast-2' => array(
'http' => false,
'https' => true,
'hostname' => 'swf.ap-southeast-2.amazonaws.com',
),
'sa-east-1' => array(
'http' => false,
'https' => true,
'hostname' => 'swf.sa-east-1.amazonaws.com',
),
'cn-north-1' => array(
'http' => false,
'https' => true,
'hostname' => 'swf.cn-north-1.amazonaws.com.cn',
),
'us-gov-west-1' => array(
'http' => false,
'https' => true,
'hostname' => 'swf.us-gov-west-1.amazonaws.com',
),
),
'operations' => array(
'CountClosedWorkflowExecutions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'WorkflowExecutionCount',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.CountClosedWorkflowExecutions',
),
'domain' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'startTimeFilter' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'oldestDate' => array(
'required' => true,
'type' => array(
'object',
'string',
'integer',
),
'format' => 'timestamp',
),
'latestDate' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'timestamp',
),
),
),
'closeTimeFilter' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'oldestDate' => array(
'required' => true,
'type' => array(
'object',
'string',
'integer',
),
'format' => 'timestamp',
),
'latestDate' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'timestamp',
),
),
),
'executionFilter' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'workflowId' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
),
),
'typeFilter' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
'version' => array(
'type' => 'string',
'maxLength' => 64,
),
),
),
'tagFilter' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'tag' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
),
),
'closeStatusFilter' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'status' => array(
'required' => true,
'type' => 'string',
'enum' => array(
'COMPLETED',
'FAILED',
'CANCELED',
'TERMINATED',
'CONTINUED_AS_NEW',
'TIMED_OUT',
),
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
),
),
'CountOpenWorkflowExecutions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'WorkflowExecutionCount',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.CountOpenWorkflowExecutions',
),
'domain' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'startTimeFilter' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'properties' => array(
'oldestDate' => array(
'required' => true,
'type' => array(
'object',
'string',
'integer',
),
'format' => 'timestamp',
),
'latestDate' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'timestamp',
),
),
),
'typeFilter' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
'version' => array(
'type' => 'string',
'maxLength' => 64,
),
),
),
'tagFilter' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'tag' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
),
),
'executionFilter' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'workflowId' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
),
),
'CountPendingActivityTasks' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'PendingTaskCount',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.CountPendingActivityTasks',
),
'domain' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'taskList' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'properties' => array(
'name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
),
),
'CountPendingDecisionTasks' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'PendingTaskCount',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.CountPendingDecisionTasks',
),
'domain' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'taskList' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'properties' => array(
'name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
),
),
'DeprecateActivityType' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.DeprecateActivityType',
),
'domain' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'activityType' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'properties' => array(
'name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
'version' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 64,
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
array(
'reason' => 'Returned when the specified activity or workflow type was already deprecated.',
'class' => 'TypeDeprecatedException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
),
),
'DeprecateDomain' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.DeprecateDomain',
),
'name' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
array(
'reason' => 'Returned when the specified domain has been deprecated.',
'class' => 'DomainDeprecatedException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
),
),
'DeprecateWorkflowType' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.DeprecateWorkflowType',
),
'domain' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'workflowType' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'properties' => array(
'name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
'version' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 64,
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
array(
'reason' => 'Returned when the specified activity or workflow type was already deprecated.',
'class' => 'TypeDeprecatedException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
),
),
'DescribeActivityType' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ActivityTypeDetail',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.DescribeActivityType',
),
'domain' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'activityType' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'properties' => array(
'name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
'version' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 64,
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
),
),
'DescribeDomain' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DomainDetail',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.DescribeDomain',
),
'name' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
),
),
'DescribeWorkflowExecution' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'WorkflowExecutionDetail',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.DescribeWorkflowExecution',
),
'domain' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'execution' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'properties' => array(
'workflowId' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
'runId' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 64,
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
),
),
'DescribeWorkflowType' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'WorkflowTypeDetail',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.DescribeWorkflowType',
),
'domain' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'workflowType' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'properties' => array(
'name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
'version' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 64,
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
),
),
'GetWorkflowExecutionHistory' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'History',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.GetWorkflowExecutionHistory',
),
'domain' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'execution' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'properties' => array(
'workflowId' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
'runId' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 64,
),
),
),
'nextPageToken' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 2048,
),
'maximumPageSize' => array(
'type' => 'numeric',
'location' => 'json',
'maximum' => 1000,
),
'reverseOrder' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
),
),
'ListActivityTypes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ActivityTypeInfos',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.ListActivityTypes',
),
'domain' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'name' => array(
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'registrationStatus' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'enum' => array(
'REGISTERED',
'DEPRECATED',
),
),
'nextPageToken' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 2048,
),
'maximumPageSize' => array(
'type' => 'numeric',
'location' => 'json',
'maximum' => 1000,
),
'reverseOrder' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
),
),
'ListClosedWorkflowExecutions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'WorkflowExecutionInfos',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.ListClosedWorkflowExecutions',
),
'domain' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'startTimeFilter' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'oldestDate' => array(
'required' => true,
'type' => array(
'object',
'string',
'integer',
),
'format' => 'timestamp',
),
'latestDate' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'timestamp',
),
),
),
'closeTimeFilter' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'oldestDate' => array(
'required' => true,
'type' => array(
'object',
'string',
'integer',
),
'format' => 'timestamp',
),
'latestDate' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'timestamp',
),
),
),
'executionFilter' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'workflowId' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
),
),
'closeStatusFilter' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'status' => array(
'required' => true,
'type' => 'string',
'enum' => array(
'COMPLETED',
'FAILED',
'CANCELED',
'TERMINATED',
'CONTINUED_AS_NEW',
'TIMED_OUT',
),
),
),
),
'typeFilter' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
'version' => array(
'type' => 'string',
'maxLength' => 64,
),
),
),
'tagFilter' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'tag' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
),
),
'nextPageToken' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 2048,
),
'maximumPageSize' => array(
'type' => 'numeric',
'location' => 'json',
'maximum' => 1000,
),
'reverseOrder' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
),
),
'ListDomains' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DomainInfos',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.ListDomains',
),
'nextPageToken' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 2048,
),
'registrationStatus' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'enum' => array(
'REGISTERED',
'DEPRECATED',
),
),
'maximumPageSize' => array(
'type' => 'numeric',
'location' => 'json',
'maximum' => 1000,
),
'reverseOrder' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
),
),
'ListOpenWorkflowExecutions' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'WorkflowExecutionInfos',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.ListOpenWorkflowExecutions',
),
'domain' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'startTimeFilter' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'properties' => array(
'oldestDate' => array(
'required' => true,
'type' => array(
'object',
'string',
'integer',
),
'format' => 'timestamp',
),
'latestDate' => array(
'type' => array(
'object',
'string',
'integer',
),
'format' => 'timestamp',
),
),
),
'typeFilter' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
'version' => array(
'type' => 'string',
'maxLength' => 64,
),
),
),
'tagFilter' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'tag' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
),
),
'nextPageToken' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 2048,
),
'maximumPageSize' => array(
'type' => 'numeric',
'location' => 'json',
'maximum' => 1000,
),
'reverseOrder' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
'executionFilter' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'workflowId' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
),
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
),
),
'ListWorkflowTypes' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'WorkflowTypeInfos',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.ListWorkflowTypes',
),
'domain' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'name' => array(
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'registrationStatus' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'enum' => array(
'REGISTERED',
'DEPRECATED',
),
),
'nextPageToken' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 2048,
),
'maximumPageSize' => array(
'type' => 'numeric',
'location' => 'json',
'maximum' => 1000,
),
'reverseOrder' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
),
),
'PollForActivityTask' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ActivityTask',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.PollForActivityTask',
),
'domain' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'taskList' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'properties' => array(
'name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
),
),
'identity' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 256,
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
array(
'reason' => 'Returned by any operation if a system imposed limitation has been reached. To address this fault you should either clean up unused resources or increase the limit by contacting AWS.',
'class' => 'LimitExceededException',
),
),
),
'PollForDecisionTask' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'DecisionTask',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.PollForDecisionTask',
),
'domain' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'taskList' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'properties' => array(
'name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
),
),
'identity' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 256,
),
'nextPageToken' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 2048,
),
'maximumPageSize' => array(
'type' => 'numeric',
'location' => 'json',
'maximum' => 1000,
),
'reverseOrder' => array(
'type' => 'boolean',
'format' => 'boolean-string',
'location' => 'json',
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
array(
'reason' => 'Returned by any operation if a system imposed limitation has been reached. To address this fault you should either clean up unused resources or increase the limit by contacting AWS.',
'class' => 'LimitExceededException',
),
),
),
'RecordActivityTaskHeartbeat' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'ActivityTaskStatus',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.RecordActivityTaskHeartbeat',
),
'taskToken' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 1024,
),
'details' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 2048,
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
),
),
'RegisterActivityType' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.RegisterActivityType',
),
'domain' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'name' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'version' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 64,
),
'description' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 1024,
),
'defaultTaskStartToCloseTimeout' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 8,
),
'defaultTaskHeartbeatTimeout' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 8,
),
'defaultTaskList' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
),
),
'defaultTaskScheduleToStartTimeout' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 8,
),
'defaultTaskScheduleToCloseTimeout' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 8,
),
),
'errorResponses' => array(
array(
'reason' => 'Returned if the type already exists in the specified domain. You will get this fault even if the existing type is in deprecated status. You can specify another version if the intent is to create a new distinct version of the type.',
'class' => 'TypeAlreadyExistsException',
),
array(
'reason' => 'Returned by any operation if a system imposed limitation has been reached. To address this fault you should either clean up unused resources or increase the limit by contacting AWS.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
),
),
'RegisterDomain' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.RegisterDomain',
),
'name' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'description' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 1024,
),
'workflowExecutionRetentionPeriodInDays' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 8,
),
),
'errorResponses' => array(
array(
'reason' => 'Returned if the specified domain already exists. You will get this fault even if the existing domain is in deprecated status.',
'class' => 'DomainAlreadyExistsException',
),
array(
'reason' => 'Returned by any operation if a system imposed limitation has been reached. To address this fault you should either clean up unused resources or increase the limit by contacting AWS.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
),
),
'RegisterWorkflowType' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.RegisterWorkflowType',
),
'domain' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'name' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'version' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 64,
),
'description' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 1024,
),
'defaultTaskStartToCloseTimeout' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 8,
),
'defaultExecutionStartToCloseTimeout' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 8,
),
'defaultTaskList' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
),
),
'defaultChildPolicy' => array(
'type' => 'string',
'location' => 'json',
'enum' => array(
'TERMINATE',
'REQUEST_CANCEL',
'ABANDON',
),
),
),
'errorResponses' => array(
array(
'reason' => 'Returned if the type already exists in the specified domain. You will get this fault even if the existing type is in deprecated status. You can specify another version if the intent is to create a new distinct version of the type.',
'class' => 'TypeAlreadyExistsException',
),
array(
'reason' => 'Returned by any operation if a system imposed limitation has been reached. To address this fault you should either clean up unused resources or increase the limit by contacting AWS.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
),
),
'RequestCancelWorkflowExecution' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.RequestCancelWorkflowExecution',
),
'domain' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'workflowId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'runId' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 64,
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
),
),
'RespondActivityTaskCanceled' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.RespondActivityTaskCanceled',
),
'taskToken' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 1024,
),
'details' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 32768,
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
),
),
'RespondActivityTaskCompleted' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.RespondActivityTaskCompleted',
),
'taskToken' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 1024,
),
'result' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 32768,
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
),
),
'RespondActivityTaskFailed' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.RespondActivityTaskFailed',
),
'taskToken' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 1024,
),
'reason' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 256,
),
'details' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 32768,
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
),
),
'RespondDecisionTaskCompleted' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.RespondDecisionTaskCompleted',
),
'taskToken' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 1024,
),
'decisions' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'Decision',
'type' => 'object',
'properties' => array(
'decisionType' => array(
'required' => true,
'type' => 'string',
'enum' => array(
'ScheduleActivityTask',
'RequestCancelActivityTask',
'CompleteWorkflowExecution',
'FailWorkflowExecution',
'CancelWorkflowExecution',
'ContinueAsNewWorkflowExecution',
'RecordMarker',
'StartTimer',
'CancelTimer',
'SignalExternalWorkflowExecution',
'RequestCancelExternalWorkflowExecution',
'StartChildWorkflowExecution',
),
),
'scheduleActivityTaskDecisionAttributes' => array(
'type' => 'object',
'properties' => array(
'activityType' => array(
'required' => true,
'type' => 'object',
'properties' => array(
'name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
'version' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 64,
),
),
),
'activityId' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
'control' => array(
'type' => 'string',
'maxLength' => 32768,
),
'input' => array(
'type' => 'string',
'maxLength' => 32768,
),
'scheduleToCloseTimeout' => array(
'type' => 'string',
'maxLength' => 8,
),
'taskList' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
),
),
'scheduleToStartTimeout' => array(
'type' => 'string',
'maxLength' => 8,
),
'startToCloseTimeout' => array(
'type' => 'string',
'maxLength' => 8,
),
'heartbeatTimeout' => array(
'type' => 'string',
'maxLength' => 8,
),
),
),
'requestCancelActivityTaskDecisionAttributes' => array(
'type' => 'object',
'properties' => array(
'activityId' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
),
),
'completeWorkflowExecutionDecisionAttributes' => array(
'type' => 'object',
'properties' => array(
'result' => array(
'type' => 'string',
'maxLength' => 32768,
),
),
),
'failWorkflowExecutionDecisionAttributes' => array(
'type' => 'object',
'properties' => array(
'reason' => array(
'type' => 'string',
'maxLength' => 256,
),
'details' => array(
'type' => 'string',
'maxLength' => 32768,
),
),
),
'cancelWorkflowExecutionDecisionAttributes' => array(
'type' => 'object',
'properties' => array(
'details' => array(
'type' => 'string',
'maxLength' => 32768,
),
),
),
'continueAsNewWorkflowExecutionDecisionAttributes' => array(
'type' => 'object',
'properties' => array(
'input' => array(
'type' => 'string',
'maxLength' => 32768,
),
'executionStartToCloseTimeout' => array(
'type' => 'string',
'maxLength' => 8,
),
'taskList' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
),
),
'taskStartToCloseTimeout' => array(
'type' => 'string',
'maxLength' => 8,
),
'childPolicy' => array(
'type' => 'string',
'enum' => array(
'TERMINATE',
'REQUEST_CANCEL',
'ABANDON',
),
),
'tagList' => array(
'type' => 'array',
'maxItems' => 5,
'items' => array(
'name' => 'Tag',
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
),
'workflowTypeVersion' => array(
'type' => 'string',
'minLength' => 1,
'maxLength' => 64,
),
),
),
'recordMarkerDecisionAttributes' => array(
'type' => 'object',
'properties' => array(
'markerName' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
'details' => array(
'type' => 'string',
'maxLength' => 32768,
),
),
),
'startTimerDecisionAttributes' => array(
'type' => 'object',
'properties' => array(
'timerId' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
'control' => array(
'type' => 'string',
'maxLength' => 32768,
),
'startToFireTimeout' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 8,
),
),
),
'cancelTimerDecisionAttributes' => array(
'type' => 'object',
'properties' => array(
'timerId' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
),
),
'signalExternalWorkflowExecutionDecisionAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
'runId' => array(
'type' => 'string',
'maxLength' => 64,
),
'signalName' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
'input' => array(
'type' => 'string',
'maxLength' => 32768,
),
'control' => array(
'type' => 'string',
'maxLength' => 32768,
),
),
),
'requestCancelExternalWorkflowExecutionDecisionAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
'runId' => array(
'type' => 'string',
'maxLength' => 64,
),
'control' => array(
'type' => 'string',
'maxLength' => 32768,
),
),
),
'startChildWorkflowExecutionDecisionAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowType' => array(
'required' => true,
'type' => 'object',
'properties' => array(
'name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
'version' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 64,
),
),
),
'workflowId' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
'control' => array(
'type' => 'string',
'maxLength' => 32768,
),
'input' => array(
'type' => 'string',
'maxLength' => 32768,
),
'executionStartToCloseTimeout' => array(
'type' => 'string',
'maxLength' => 8,
),
'taskList' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
),
),
'taskStartToCloseTimeout' => array(
'type' => 'string',
'maxLength' => 8,
),
'childPolicy' => array(
'type' => 'string',
'enum' => array(
'TERMINATE',
'REQUEST_CANCEL',
'ABANDON',
),
),
'tagList' => array(
'type' => 'array',
'maxItems' => 5,
'items' => array(
'name' => 'Tag',
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
),
),
),
),
),
),
'executionContext' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 32768,
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
),
),
'SignalWorkflowExecution' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.SignalWorkflowExecution',
),
'domain' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'workflowId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'runId' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 64,
),
'signalName' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'input' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 32768,
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
),
),
'StartWorkflowExecution' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'Run',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.StartWorkflowExecution',
),
'domain' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'workflowId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'workflowType' => array(
'required' => true,
'type' => 'object',
'location' => 'json',
'properties' => array(
'name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
'version' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 64,
),
),
),
'taskList' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'name' => array(
'required' => true,
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
),
),
'input' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 32768,
),
'executionStartToCloseTimeout' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 8,
),
'tagList' => array(
'type' => 'array',
'location' => 'json',
'maxItems' => 5,
'items' => array(
'name' => 'Tag',
'type' => 'string',
'minLength' => 1,
'maxLength' => 256,
),
),
'taskStartToCloseTimeout' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 8,
),
'childPolicy' => array(
'type' => 'string',
'location' => 'json',
'enum' => array(
'TERMINATE',
'REQUEST_CANCEL',
'ABANDON',
),
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
array(
'reason' => 'Returned when the specified activity or workflow type was already deprecated.',
'class' => 'TypeDeprecatedException',
),
array(
'reason' => 'Returned by StartWorkflowExecution when an open execution with the same workflowId is already running in the specified domain.',
'class' => 'WorkflowExecutionAlreadyStartedException',
),
array(
'reason' => 'Returned by any operation if a system imposed limitation has been reached. To address this fault you should either clean up unused resources or increase the limit by contacting AWS.',
'class' => 'LimitExceededException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
array(
'class' => 'DefaultUndefinedException',
),
),
),
'TerminateWorkflowExecution' => array(
'httpMethod' => 'POST',
'uri' => '/',
'class' => 'Aws\\Common\\Command\\JsonCommand',
'responseClass' => 'EmptyOutput',
'responseType' => 'model',
'parameters' => array(
'Content-Type' => array(
'static' => true,
'location' => 'header',
'default' => 'application/x-amz-json-1.0',
),
'command.expects' => array(
'static' => true,
'default' => 'application/json',
),
'X-Amz-Target' => array(
'static' => true,
'location' => 'header',
'default' => 'SimpleWorkflowService.TerminateWorkflowExecution',
),
'domain' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'workflowId' => array(
'required' => true,
'type' => 'string',
'location' => 'json',
'minLength' => 1,
'maxLength' => 256,
),
'runId' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 64,
),
'reason' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 256,
),
'details' => array(
'type' => 'string',
'location' => 'json',
'maxLength' => 32768,
),
'childPolicy' => array(
'type' => 'string',
'location' => 'json',
'enum' => array(
'TERMINATE',
'REQUEST_CANCEL',
'ABANDON',
),
),
),
'errorResponses' => array(
array(
'reason' => 'Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.',
'class' => 'UnknownResourceException',
),
array(
'reason' => 'Returned when the caller does not have sufficient permissions to invoke the action.',
'class' => 'OperationNotPermittedException',
),
),
),
),
'models' => array(
'WorkflowExecutionCount' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'count' => array(
'type' => 'numeric',
'location' => 'json',
),
'truncated' => array(
'type' => 'boolean',
'location' => 'json',
),
),
),
'PendingTaskCount' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'count' => array(
'type' => 'numeric',
'location' => 'json',
),
'truncated' => array(
'type' => 'boolean',
'location' => 'json',
),
),
),
'EmptyOutput' => array(
'type' => 'object',
'additionalProperties' => true,
),
'ActivityTypeDetail' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'typeInfo' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'activityType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'status' => array(
'type' => 'string',
),
'description' => array(
'type' => 'string',
),
'creationDate' => array(
'type' => 'string',
),
'deprecationDate' => array(
'type' => 'string',
),
),
),
'configuration' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'defaultTaskStartToCloseTimeout' => array(
'type' => 'string',
),
'defaultTaskHeartbeatTimeout' => array(
'type' => 'string',
),
'defaultTaskList' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
),
),
'defaultTaskScheduleToStartTimeout' => array(
'type' => 'string',
),
'defaultTaskScheduleToCloseTimeout' => array(
'type' => 'string',
),
),
),
),
),
'DomainDetail' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'domainInfo' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'name' => array(
'type' => 'string',
),
'status' => array(
'type' => 'string',
),
'description' => array(
'type' => 'string',
),
),
),
'configuration' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'workflowExecutionRetentionPeriodInDays' => array(
'type' => 'string',
),
),
),
),
),
'WorkflowExecutionDetail' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'executionInfo' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'execution' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'workflowType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'startTimestamp' => array(
'type' => 'string',
),
'closeTimestamp' => array(
'type' => 'string',
),
'executionStatus' => array(
'type' => 'string',
),
'closeStatus' => array(
'type' => 'string',
),
'parent' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'tagList' => array(
'type' => 'array',
'items' => array(
'name' => 'Tag',
'type' => 'string',
),
),
'cancelRequested' => array(
'type' => 'boolean',
),
),
),
'executionConfiguration' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'taskStartToCloseTimeout' => array(
'type' => 'string',
),
'executionStartToCloseTimeout' => array(
'type' => 'string',
),
'taskList' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
),
),
'childPolicy' => array(
'type' => 'string',
),
),
),
'openCounts' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'openActivityTasks' => array(
'type' => 'numeric',
),
'openDecisionTasks' => array(
'type' => 'numeric',
),
'openTimers' => array(
'type' => 'numeric',
),
'openChildWorkflowExecutions' => array(
'type' => 'numeric',
),
),
),
'latestActivityTaskTimestamp' => array(
'type' => 'string',
'location' => 'json',
),
'latestExecutionContext' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'WorkflowTypeDetail' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'typeInfo' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'workflowType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'status' => array(
'type' => 'string',
),
'description' => array(
'type' => 'string',
),
'creationDate' => array(
'type' => 'string',
),
'deprecationDate' => array(
'type' => 'string',
),
),
),
'configuration' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'defaultTaskStartToCloseTimeout' => array(
'type' => 'string',
),
'defaultExecutionStartToCloseTimeout' => array(
'type' => 'string',
),
'defaultTaskList' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
),
),
'defaultChildPolicy' => array(
'type' => 'string',
),
),
),
),
),
'History' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'events' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'HistoryEvent',
'type' => 'object',
'properties' => array(
'eventTimestamp' => array(
'type' => 'string',
),
'eventType' => array(
'type' => 'string',
),
'eventId' => array(
'type' => 'numeric',
),
'workflowExecutionStartedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'input' => array(
'type' => 'string',
),
'executionStartToCloseTimeout' => array(
'type' => 'string',
),
'taskStartToCloseTimeout' => array(
'type' => 'string',
),
'childPolicy' => array(
'type' => 'string',
),
'taskList' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
),
),
'workflowType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'tagList' => array(
'type' => 'array',
'items' => array(
'name' => 'Tag',
'type' => 'string',
),
),
'continuedExecutionRunId' => array(
'type' => 'string',
),
'parentWorkflowExecution' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'parentInitiatedEventId' => array(
'type' => 'numeric',
),
),
),
'workflowExecutionCompletedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'result' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'completeWorkflowExecutionFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'cause' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'workflowExecutionFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'reason' => array(
'type' => 'string',
),
'details' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'failWorkflowExecutionFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'cause' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'workflowExecutionTimedOutEventAttributes' => array(
'type' => 'object',
'properties' => array(
'timeoutType' => array(
'type' => 'string',
),
'childPolicy' => array(
'type' => 'string',
),
),
),
'workflowExecutionCanceledEventAttributes' => array(
'type' => 'object',
'properties' => array(
'details' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'cancelWorkflowExecutionFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'cause' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'workflowExecutionContinuedAsNewEventAttributes' => array(
'type' => 'object',
'properties' => array(
'input' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
'newExecutionRunId' => array(
'type' => 'string',
),
'executionStartToCloseTimeout' => array(
'type' => 'string',
),
'taskList' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
),
),
'taskStartToCloseTimeout' => array(
'type' => 'string',
),
'childPolicy' => array(
'type' => 'string',
),
'tagList' => array(
'type' => 'array',
'items' => array(
'name' => 'Tag',
'type' => 'string',
),
),
'workflowType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
),
),
'continueAsNewWorkflowExecutionFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'cause' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'workflowExecutionTerminatedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'reason' => array(
'type' => 'string',
),
'details' => array(
'type' => 'string',
),
'childPolicy' => array(
'type' => 'string',
),
'cause' => array(
'type' => 'string',
),
),
),
'workflowExecutionCancelRequestedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'externalWorkflowExecution' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'externalInitiatedEventId' => array(
'type' => 'numeric',
),
'cause' => array(
'type' => 'string',
),
),
),
'decisionTaskScheduledEventAttributes' => array(
'type' => 'object',
'properties' => array(
'taskList' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
),
),
'startToCloseTimeout' => array(
'type' => 'string',
),
),
),
'decisionTaskStartedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'identity' => array(
'type' => 'string',
),
'scheduledEventId' => array(
'type' => 'numeric',
),
),
),
'decisionTaskCompletedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'executionContext' => array(
'type' => 'string',
),
'scheduledEventId' => array(
'type' => 'numeric',
),
'startedEventId' => array(
'type' => 'numeric',
),
),
),
'decisionTaskTimedOutEventAttributes' => array(
'type' => 'object',
'properties' => array(
'timeoutType' => array(
'type' => 'string',
),
'scheduledEventId' => array(
'type' => 'numeric',
),
'startedEventId' => array(
'type' => 'numeric',
),
),
),
'activityTaskScheduledEventAttributes' => array(
'type' => 'object',
'properties' => array(
'activityType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'activityId' => array(
'type' => 'string',
),
'input' => array(
'type' => 'string',
),
'control' => array(
'type' => 'string',
),
'scheduleToStartTimeout' => array(
'type' => 'string',
),
'scheduleToCloseTimeout' => array(
'type' => 'string',
),
'startToCloseTimeout' => array(
'type' => 'string',
),
'taskList' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
),
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
'heartbeatTimeout' => array(
'type' => 'string',
),
),
),
'activityTaskStartedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'identity' => array(
'type' => 'string',
),
'scheduledEventId' => array(
'type' => 'numeric',
),
),
),
'activityTaskCompletedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'result' => array(
'type' => 'string',
),
'scheduledEventId' => array(
'type' => 'numeric',
),
'startedEventId' => array(
'type' => 'numeric',
),
),
),
'activityTaskFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'reason' => array(
'type' => 'string',
),
'details' => array(
'type' => 'string',
),
'scheduledEventId' => array(
'type' => 'numeric',
),
'startedEventId' => array(
'type' => 'numeric',
),
),
),
'activityTaskTimedOutEventAttributes' => array(
'type' => 'object',
'properties' => array(
'timeoutType' => array(
'type' => 'string',
),
'scheduledEventId' => array(
'type' => 'numeric',
),
'startedEventId' => array(
'type' => 'numeric',
),
'details' => array(
'type' => 'string',
),
),
),
'activityTaskCanceledEventAttributes' => array(
'type' => 'object',
'properties' => array(
'details' => array(
'type' => 'string',
),
'scheduledEventId' => array(
'type' => 'numeric',
),
'startedEventId' => array(
'type' => 'numeric',
),
'latestCancelRequestedEventId' => array(
'type' => 'numeric',
),
),
),
'activityTaskCancelRequestedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
'activityId' => array(
'type' => 'string',
),
),
),
'workflowExecutionSignaledEventAttributes' => array(
'type' => 'object',
'properties' => array(
'signalName' => array(
'type' => 'string',
),
'input' => array(
'type' => 'string',
),
'externalWorkflowExecution' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'externalInitiatedEventId' => array(
'type' => 'numeric',
),
),
),
'markerRecordedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'markerName' => array(
'type' => 'string',
),
'details' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'recordMarkerFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'markerName' => array(
'type' => 'string',
),
'cause' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'timerStartedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'timerId' => array(
'type' => 'string',
),
'control' => array(
'type' => 'string',
),
'startToFireTimeout' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'timerFiredEventAttributes' => array(
'type' => 'object',
'properties' => array(
'timerId' => array(
'type' => 'string',
),
'startedEventId' => array(
'type' => 'numeric',
),
),
),
'timerCanceledEventAttributes' => array(
'type' => 'object',
'properties' => array(
'timerId' => array(
'type' => 'string',
),
'startedEventId' => array(
'type' => 'numeric',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'startChildWorkflowExecutionInitiatedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'workflowType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'control' => array(
'type' => 'string',
),
'input' => array(
'type' => 'string',
),
'executionStartToCloseTimeout' => array(
'type' => 'string',
),
'taskList' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
),
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
'childPolicy' => array(
'type' => 'string',
),
'taskStartToCloseTimeout' => array(
'type' => 'string',
),
'tagList' => array(
'type' => 'array',
'items' => array(
'name' => 'Tag',
'type' => 'string',
),
),
),
),
'childWorkflowExecutionStartedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowExecution' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'workflowType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'initiatedEventId' => array(
'type' => 'numeric',
),
),
),
'childWorkflowExecutionCompletedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowExecution' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'workflowType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'result' => array(
'type' => 'string',
),
'initiatedEventId' => array(
'type' => 'numeric',
),
'startedEventId' => array(
'type' => 'numeric',
),
),
),
'childWorkflowExecutionFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowExecution' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'workflowType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'reason' => array(
'type' => 'string',
),
'details' => array(
'type' => 'string',
),
'initiatedEventId' => array(
'type' => 'numeric',
),
'startedEventId' => array(
'type' => 'numeric',
),
),
),
'childWorkflowExecutionTimedOutEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowExecution' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'workflowType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'timeoutType' => array(
'type' => 'string',
),
'initiatedEventId' => array(
'type' => 'numeric',
),
'startedEventId' => array(
'type' => 'numeric',
),
),
),
'childWorkflowExecutionCanceledEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowExecution' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'workflowType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'details' => array(
'type' => 'string',
),
'initiatedEventId' => array(
'type' => 'numeric',
),
'startedEventId' => array(
'type' => 'numeric',
),
),
),
'childWorkflowExecutionTerminatedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowExecution' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'workflowType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'initiatedEventId' => array(
'type' => 'numeric',
),
'startedEventId' => array(
'type' => 'numeric',
),
),
),
'signalExternalWorkflowExecutionInitiatedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
'signalName' => array(
'type' => 'string',
),
'input' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
'control' => array(
'type' => 'string',
),
),
),
'externalWorkflowExecutionSignaledEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowExecution' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'initiatedEventId' => array(
'type' => 'numeric',
),
),
),
'signalExternalWorkflowExecutionFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
'cause' => array(
'type' => 'string',
),
'initiatedEventId' => array(
'type' => 'numeric',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
'control' => array(
'type' => 'string',
),
),
),
'externalWorkflowExecutionCancelRequestedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowExecution' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'initiatedEventId' => array(
'type' => 'numeric',
),
),
),
'requestCancelExternalWorkflowExecutionInitiatedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
'control' => array(
'type' => 'string',
),
),
),
'requestCancelExternalWorkflowExecutionFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
'cause' => array(
'type' => 'string',
),
'initiatedEventId' => array(
'type' => 'numeric',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
'control' => array(
'type' => 'string',
),
),
),
'scheduleActivityTaskFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'activityType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'activityId' => array(
'type' => 'string',
),
'cause' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'requestCancelActivityTaskFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'activityId' => array(
'type' => 'string',
),
'cause' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'startTimerFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'timerId' => array(
'type' => 'string',
),
'cause' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'cancelTimerFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'timerId' => array(
'type' => 'string',
),
'cause' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'startChildWorkflowExecutionFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'cause' => array(
'type' => 'string',
),
'workflowId' => array(
'type' => 'string',
),
'initiatedEventId' => array(
'type' => 'numeric',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
'control' => array(
'type' => 'string',
),
),
),
),
),
),
'nextPageToken' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'ActivityTypeInfos' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'typeInfos' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'ActivityTypeInfo',
'type' => 'object',
'properties' => array(
'activityType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'status' => array(
'type' => 'string',
),
'description' => array(
'type' => 'string',
),
'creationDate' => array(
'type' => 'string',
),
'deprecationDate' => array(
'type' => 'string',
),
),
),
),
'nextPageToken' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'WorkflowExecutionInfos' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'executionInfos' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'WorkflowExecutionInfo',
'type' => 'object',
'properties' => array(
'execution' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'workflowType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'startTimestamp' => array(
'type' => 'string',
),
'closeTimestamp' => array(
'type' => 'string',
),
'executionStatus' => array(
'type' => 'string',
),
'closeStatus' => array(
'type' => 'string',
),
'parent' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'tagList' => array(
'type' => 'array',
'items' => array(
'name' => 'Tag',
'type' => 'string',
),
),
'cancelRequested' => array(
'type' => 'boolean',
),
),
),
),
'nextPageToken' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'DomainInfos' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'domainInfos' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'DomainInfo',
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'status' => array(
'type' => 'string',
),
'description' => array(
'type' => 'string',
),
),
),
),
'nextPageToken' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'WorkflowTypeInfos' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'typeInfos' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'WorkflowTypeInfo',
'type' => 'object',
'properties' => array(
'workflowType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'status' => array(
'type' => 'string',
),
'description' => array(
'type' => 'string',
),
'creationDate' => array(
'type' => 'string',
),
'deprecationDate' => array(
'type' => 'string',
),
),
),
),
'nextPageToken' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'ActivityTask' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'taskToken' => array(
'type' => 'string',
'location' => 'json',
),
'activityId' => array(
'type' => 'string',
'location' => 'json',
),
'startedEventId' => array(
'type' => 'numeric',
'location' => 'json',
),
'workflowExecution' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'activityType' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'input' => array(
'type' => 'string',
'location' => 'json',
),
),
),
'DecisionTask' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'taskToken' => array(
'type' => 'string',
'location' => 'json',
),
'startedEventId' => array(
'type' => 'numeric',
'location' => 'json',
),
'workflowExecution' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'workflowType' => array(
'type' => 'object',
'location' => 'json',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'events' => array(
'type' => 'array',
'location' => 'json',
'items' => array(
'name' => 'HistoryEvent',
'type' => 'object',
'properties' => array(
'eventTimestamp' => array(
'type' => 'string',
),
'eventType' => array(
'type' => 'string',
),
'eventId' => array(
'type' => 'numeric',
),
'workflowExecutionStartedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'input' => array(
'type' => 'string',
),
'executionStartToCloseTimeout' => array(
'type' => 'string',
),
'taskStartToCloseTimeout' => array(
'type' => 'string',
),
'childPolicy' => array(
'type' => 'string',
),
'taskList' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
),
),
'workflowType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'tagList' => array(
'type' => 'array',
'items' => array(
'name' => 'Tag',
'type' => 'string',
),
),
'continuedExecutionRunId' => array(
'type' => 'string',
),
'parentWorkflowExecution' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'parentInitiatedEventId' => array(
'type' => 'numeric',
),
),
),
'workflowExecutionCompletedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'result' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'completeWorkflowExecutionFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'cause' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'workflowExecutionFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'reason' => array(
'type' => 'string',
),
'details' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'failWorkflowExecutionFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'cause' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'workflowExecutionTimedOutEventAttributes' => array(
'type' => 'object',
'properties' => array(
'timeoutType' => array(
'type' => 'string',
),
'childPolicy' => array(
'type' => 'string',
),
),
),
'workflowExecutionCanceledEventAttributes' => array(
'type' => 'object',
'properties' => array(
'details' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'cancelWorkflowExecutionFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'cause' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'workflowExecutionContinuedAsNewEventAttributes' => array(
'type' => 'object',
'properties' => array(
'input' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
'newExecutionRunId' => array(
'type' => 'string',
),
'executionStartToCloseTimeout' => array(
'type' => 'string',
),
'taskList' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
),
),
'taskStartToCloseTimeout' => array(
'type' => 'string',
),
'childPolicy' => array(
'type' => 'string',
),
'tagList' => array(
'type' => 'array',
'items' => array(
'name' => 'Tag',
'type' => 'string',
),
),
'workflowType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
),
),
'continueAsNewWorkflowExecutionFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'cause' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'workflowExecutionTerminatedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'reason' => array(
'type' => 'string',
),
'details' => array(
'type' => 'string',
),
'childPolicy' => array(
'type' => 'string',
),
'cause' => array(
'type' => 'string',
),
),
),
'workflowExecutionCancelRequestedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'externalWorkflowExecution' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'externalInitiatedEventId' => array(
'type' => 'numeric',
),
'cause' => array(
'type' => 'string',
),
),
),
'decisionTaskScheduledEventAttributes' => array(
'type' => 'object',
'properties' => array(
'taskList' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
),
),
'startToCloseTimeout' => array(
'type' => 'string',
),
),
),
'decisionTaskStartedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'identity' => array(
'type' => 'string',
),
'scheduledEventId' => array(
'type' => 'numeric',
),
),
),
'decisionTaskCompletedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'executionContext' => array(
'type' => 'string',
),
'scheduledEventId' => array(
'type' => 'numeric',
),
'startedEventId' => array(
'type' => 'numeric',
),
),
),
'decisionTaskTimedOutEventAttributes' => array(
'type' => 'object',
'properties' => array(
'timeoutType' => array(
'type' => 'string',
),
'scheduledEventId' => array(
'type' => 'numeric',
),
'startedEventId' => array(
'type' => 'numeric',
),
),
),
'activityTaskScheduledEventAttributes' => array(
'type' => 'object',
'properties' => array(
'activityType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'activityId' => array(
'type' => 'string',
),
'input' => array(
'type' => 'string',
),
'control' => array(
'type' => 'string',
),
'scheduleToStartTimeout' => array(
'type' => 'string',
),
'scheduleToCloseTimeout' => array(
'type' => 'string',
),
'startToCloseTimeout' => array(
'type' => 'string',
),
'taskList' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
),
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
'heartbeatTimeout' => array(
'type' => 'string',
),
),
),
'activityTaskStartedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'identity' => array(
'type' => 'string',
),
'scheduledEventId' => array(
'type' => 'numeric',
),
),
),
'activityTaskCompletedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'result' => array(
'type' => 'string',
),
'scheduledEventId' => array(
'type' => 'numeric',
),
'startedEventId' => array(
'type' => 'numeric',
),
),
),
'activityTaskFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'reason' => array(
'type' => 'string',
),
'details' => array(
'type' => 'string',
),
'scheduledEventId' => array(
'type' => 'numeric',
),
'startedEventId' => array(
'type' => 'numeric',
),
),
),
'activityTaskTimedOutEventAttributes' => array(
'type' => 'object',
'properties' => array(
'timeoutType' => array(
'type' => 'string',
),
'scheduledEventId' => array(
'type' => 'numeric',
),
'startedEventId' => array(
'type' => 'numeric',
),
'details' => array(
'type' => 'string',
),
),
),
'activityTaskCanceledEventAttributes' => array(
'type' => 'object',
'properties' => array(
'details' => array(
'type' => 'string',
),
'scheduledEventId' => array(
'type' => 'numeric',
),
'startedEventId' => array(
'type' => 'numeric',
),
'latestCancelRequestedEventId' => array(
'type' => 'numeric',
),
),
),
'activityTaskCancelRequestedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
'activityId' => array(
'type' => 'string',
),
),
),
'workflowExecutionSignaledEventAttributes' => array(
'type' => 'object',
'properties' => array(
'signalName' => array(
'type' => 'string',
),
'input' => array(
'type' => 'string',
),
'externalWorkflowExecution' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'externalInitiatedEventId' => array(
'type' => 'numeric',
),
),
),
'markerRecordedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'markerName' => array(
'type' => 'string',
),
'details' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'recordMarkerFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'markerName' => array(
'type' => 'string',
),
'cause' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'timerStartedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'timerId' => array(
'type' => 'string',
),
'control' => array(
'type' => 'string',
),
'startToFireTimeout' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'timerFiredEventAttributes' => array(
'type' => 'object',
'properties' => array(
'timerId' => array(
'type' => 'string',
),
'startedEventId' => array(
'type' => 'numeric',
),
),
),
'timerCanceledEventAttributes' => array(
'type' => 'object',
'properties' => array(
'timerId' => array(
'type' => 'string',
),
'startedEventId' => array(
'type' => 'numeric',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'startChildWorkflowExecutionInitiatedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'workflowType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'control' => array(
'type' => 'string',
),
'input' => array(
'type' => 'string',
),
'executionStartToCloseTimeout' => array(
'type' => 'string',
),
'taskList' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
),
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
'childPolicy' => array(
'type' => 'string',
),
'taskStartToCloseTimeout' => array(
'type' => 'string',
),
'tagList' => array(
'type' => 'array',
'items' => array(
'name' => 'Tag',
'type' => 'string',
),
),
),
),
'childWorkflowExecutionStartedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowExecution' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'workflowType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'initiatedEventId' => array(
'type' => 'numeric',
),
),
),
'childWorkflowExecutionCompletedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowExecution' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'workflowType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'result' => array(
'type' => 'string',
),
'initiatedEventId' => array(
'type' => 'numeric',
),
'startedEventId' => array(
'type' => 'numeric',
),
),
),
'childWorkflowExecutionFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowExecution' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'workflowType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'reason' => array(
'type' => 'string',
),
'details' => array(
'type' => 'string',
),
'initiatedEventId' => array(
'type' => 'numeric',
),
'startedEventId' => array(
'type' => 'numeric',
),
),
),
'childWorkflowExecutionTimedOutEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowExecution' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'workflowType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'timeoutType' => array(
'type' => 'string',
),
'initiatedEventId' => array(
'type' => 'numeric',
),
'startedEventId' => array(
'type' => 'numeric',
),
),
),
'childWorkflowExecutionCanceledEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowExecution' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'workflowType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'details' => array(
'type' => 'string',
),
'initiatedEventId' => array(
'type' => 'numeric',
),
'startedEventId' => array(
'type' => 'numeric',
),
),
),
'childWorkflowExecutionTerminatedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowExecution' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'workflowType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'initiatedEventId' => array(
'type' => 'numeric',
),
'startedEventId' => array(
'type' => 'numeric',
),
),
),
'signalExternalWorkflowExecutionInitiatedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
'signalName' => array(
'type' => 'string',
),
'input' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
'control' => array(
'type' => 'string',
),
),
),
'externalWorkflowExecutionSignaledEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowExecution' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'initiatedEventId' => array(
'type' => 'numeric',
),
),
),
'signalExternalWorkflowExecutionFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
'cause' => array(
'type' => 'string',
),
'initiatedEventId' => array(
'type' => 'numeric',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
'control' => array(
'type' => 'string',
),
),
),
'externalWorkflowExecutionCancelRequestedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowExecution' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
),
),
'initiatedEventId' => array(
'type' => 'numeric',
),
),
),
'requestCancelExternalWorkflowExecutionInitiatedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
'control' => array(
'type' => 'string',
),
),
),
'requestCancelExternalWorkflowExecutionFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowId' => array(
'type' => 'string',
),
'runId' => array(
'type' => 'string',
),
'cause' => array(
'type' => 'string',
),
'initiatedEventId' => array(
'type' => 'numeric',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
'control' => array(
'type' => 'string',
),
),
),
'scheduleActivityTaskFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'activityType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'activityId' => array(
'type' => 'string',
),
'cause' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'requestCancelActivityTaskFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'activityId' => array(
'type' => 'string',
),
'cause' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'startTimerFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'timerId' => array(
'type' => 'string',
),
'cause' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'cancelTimerFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'timerId' => array(
'type' => 'string',
),
'cause' => array(
'type' => 'string',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
),
),
'startChildWorkflowExecutionFailedEventAttributes' => array(
'type' => 'object',
'properties' => array(
'workflowType' => array(
'type' => 'object',
'properties' => array(
'name' => array(
'type' => 'string',
),
'version' => array(
'type' => 'string',
),
),
),
'cause' => array(
'type' => 'string',
),
'workflowId' => array(
'type' => 'string',
),
'initiatedEventId' => array(
'type' => 'numeric',
),
'decisionTaskCompletedEventId' => array(
'type' => 'numeric',
),
'control' => array(
'type' => 'string',
),
),
),
),
),
),
'nextPageToken' => array(
'type' => 'string',
'location' => 'json',
),
'previousStartedEventId' => array(
'type' => 'numeric',
'location' => 'json',
),
),
),
'ActivityTaskStatus' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'cancelRequested' => array(
'type' => 'boolean',
'location' => 'json',
),
),
),
'Run' => array(
'type' => 'object',
'additionalProperties' => true,
'properties' => array(
'runId' => array(
'type' => 'string',
'location' => 'json',
),
),
),
),
'iterators' => array(
'operations' => array(
'GetWorkflowExecutionHistory' => array(
'token_param' => 'nextPageToken',
'token_key' => 'nextPageToken',
'limit_key' => 'maximumPageSize',
'result_key' => 'events',
),
'ListActivityTypes' => array(
'token_param' => 'nextPageToken',
'token_key' => 'nextPageToken',
'limit_key' => 'maximumPageSize',
'result_key' => 'typeInfos',
),
'ListClosedWorkflowExecutions' => array(
'token_param' => 'nextPageToken',
'token_key' => 'nextPageToken',
'limit_key' => 'maximumPageSize',
'result_key' => 'executionInfos',
),
'ListDomains' => array(
'token_param' => 'nextPageToken',
'token_key' => 'nextPageToken',
'limit_key' => 'maximumPageSize',
'result_key' => 'domainInfos',
),
'ListOpenWorkflowExecutions' => array(
'token_param' => 'nextPageToken',
'token_key' => 'nextPageToken',
'limit_key' => 'maximumPageSize',
'result_key' => 'executionInfos',
),
'ListWorkflowTypes' => array(
'token_param' => 'nextPageToken',
'token_key' => 'nextPageToken',
'limit_key' => 'maximumPageSize',
'result_key' => 'typeInfos',
),
'PollForDecisionTask' => array(
'token_param' => 'nextPageToken',
'token_key' => 'nextPageToken',
'limit_key' => 'maximumPageSize',
'result_key' => 'events',
),
),
),
);
sdk-2.5.2/aws.phar 0000666 115327001610067500033677537 12272324173 011120 0 ustar
4 + 9 a:1:{s:4:"link";s:32:"http://aws.amazon.com/sdkforphp2";}% Aws/AutoScaling/AutoScalingClient.phpo YRo 4VtL ' Aws/AutoScaling/Enum/LifecycleState.php YR 2 Aws/AutoScaling/Enum/ScalingActivityStatusCode.php YR r< 4 Aws/AutoScaling/Exception/AlreadyExistsException.php YR 9] 2 Aws/AutoScaling/Exception/AutoScalingException.php YR _ 7 Aws/AutoScaling/Exception/InvalidNextTokenException.php YR C 4 Aws/AutoScaling/Exception/LimitExceededException.php! YR! "Fζ 4 Aws/AutoScaling/Exception/ResourceInUseException.php- YR- 7'` @ Aws/AutoScaling/Exception/ScalingActivityInProgressException.php1 YR1 j@8 4 Aws/AutoScaling/Resources/autoscaling-2011-01-01.phpߜ YRߜ {} + Aws/CloudFormation/CloudFormationClient.php YR D &