diff --git a/CHANGELOG.md b/CHANGELOG.md index 54478aa462..a5f4edf4bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,8 @@ ## Next Release -* Fixing cn-north-1 endpoint for AWS Identity and Access Management. +* Added support for AWS KMS integration to the Amazon Redshift Client. +* Fixed cn-north-1 endpoint for AWS Identity and Access Management. ## 2.7.5 - 2014-11-13 @@ -12,7 +13,7 @@ ## 2.7.4 - 2014-11-12 -* Added support for the AWS Key Management Service. +* Added support for the AWS Key Management Service (AWS KMS). * Added support for AWS CodeDeploy. * Added support for AWS Config. * Added support for AWS KMS encryption to the Amazon S3 client. diff --git a/src/Aws/Redshift/RedshiftClient.php b/src/Aws/Redshift/RedshiftClient.php index ae8a3261d8..2ae83aacde 100644 --- a/src/Aws/Redshift/RedshiftClient.php +++ b/src/Aws/Redshift/RedshiftClient.php @@ -37,6 +37,7 @@ * @method Model createEventSubscription(array $args = array()) {@command Redshift CreateEventSubscription} * @method Model createHsmClientCertificate(array $args = array()) {@command Redshift CreateHsmClientCertificate} * @method Model createHsmConfiguration(array $args = array()) {@command Redshift CreateHsmConfiguration} + * @method Model createTags(array $args = array()) {@command Redshift CreateTags} * @method Model deleteCluster(array $args = array()) {@command Redshift DeleteCluster} * @method Model deleteClusterParameterGroup(array $args = array()) {@command Redshift DeleteClusterParameterGroup} * @method Model deleteClusterSecurityGroup(array $args = array()) {@command Redshift DeleteClusterSecurityGroup} @@ -45,6 +46,7 @@ * @method Model deleteEventSubscription(array $args = array()) {@command Redshift DeleteEventSubscription} * @method Model deleteHsmClientCertificate(array $args = array()) {@command Redshift DeleteHsmClientCertificate} * @method Model deleteHsmConfiguration(array $args = array()) {@command Redshift DeleteHsmConfiguration} + * @method Model deleteTags(array $args = array()) {@command Redshift DeleteTags} * @method Model describeClusterParameterGroups(array $args = array()) {@command Redshift DescribeClusterParameterGroups} * @method Model describeClusterParameters(array $args = array()) {@command Redshift DescribeClusterParameters} * @method Model describeClusterSecurityGroups(array $args = array()) {@command Redshift DescribeClusterSecurityGroups} @@ -63,6 +65,7 @@ * @method Model describeReservedNodeOfferings(array $args = array()) {@command Redshift DescribeReservedNodeOfferings} * @method Model describeReservedNodes(array $args = array()) {@command Redshift DescribeReservedNodes} * @method Model describeResize(array $args = array()) {@command Redshift DescribeResize} + * @method Model describeTags(array $args = array()) {@command Redshift DescribeTags} * @method Model disableLogging(array $args = array()) {@command Redshift DisableLogging} * @method Model disableSnapshotCopy(array $args = array()) {@command Redshift DisableSnapshotCopy} * @method Model enableLogging(array $args = array()) {@command Redshift EnableLogging} diff --git a/src/Aws/Redshift/Resources/redshift-2012-12-01.php b/src/Aws/Redshift/Resources/redshift-2012-12-01.php index bca3f3fc35..5f2fdb0342 100644 --- a/src/Aws/Redshift/Resources/redshift-2012-12-01.php +++ b/src/Aws/Redshift/Resources/redshift-2012-12-01.php @@ -329,6 +329,27 @@ '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', + ), + ), + ), + ), + 'KmsKeyId' => array( + 'type' => 'string', + 'location' => 'aws.query', + ), ), 'errorResponses' => array( array( @@ -348,11 +369,11 @@ '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.', + '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 Cluster 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.', + '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 Cluster Management Guide.', 'class' => 'NumberOfNodesQuotaExceededException', ), array( @@ -391,6 +412,14 @@ 'reason' => 'The Elastic IP (EIP) is invalid or cannot be found.', 'class' => 'InvalidElasticIpException', ), + array( + 'reason' => 'The request exceeds the limit of 10 tags for the resource.', + 'class' => 'TagLimitExceededException', + ), + array( + 'reason' => 'The tag is invalid.', + 'class' => 'InvalidTagException', + ), ), ), 'CreateClusterParameterGroup' => array( @@ -425,16 +454,41 @@ '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 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.', + '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 Cluster Management Guide.', 'class' => 'ClusterParameterGroupQuotaExceededException', ), array( 'reason' => 'A cluster parameter group with the same name already exists.', 'class' => 'ClusterParameterGroupAlreadyExistsException', ), + array( + 'reason' => 'The request exceeds the limit of 10 tags for the resource.', + 'class' => 'TagLimitExceededException', + ), + array( + 'reason' => 'The tag is invalid.', + 'class' => 'InvalidTagException', + ), ), ), 'CreateClusterSecurityGroup' => array( @@ -464,6 +518,23 @@ '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( @@ -471,9 +542,17 @@ '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.', + '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 Cluster Management Guide.', 'class' => 'ClusterSecurityGroupQuotaExceededException', ), + array( + 'reason' => 'The request exceeds the limit of 10 tags for the resource.', + 'class' => 'TagLimitExceededException', + ), + array( + 'reason' => 'The tag is invalid.', + 'class' => 'InvalidTagException', + ), ), ), 'CreateClusterSnapshot' => array( @@ -503,6 +582,23 @@ '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( @@ -521,6 +617,14 @@ 'reason' => 'The request would result in the user exceeding the allowed number of cluster snapshots.', 'class' => 'ClusterSnapshotQuotaExceededException', ), + array( + 'reason' => 'The request exceeds the limit of 10 tags for the resource.', + 'class' => 'TagLimitExceededException', + ), + array( + 'reason' => 'The tag is invalid.', + 'class' => 'InvalidTagException', + ), ), ), 'CreateClusterSubnetGroup' => array( @@ -560,6 +664,23 @@ '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( @@ -567,11 +688,11 @@ '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.', + '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 Cluster 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.', + '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 Cluster Management Guide.', 'class' => 'ClusterSubnetQuotaExceededException', ), array( @@ -582,6 +703,14 @@ 'reason' => 'Your account is not authorized to perform the requested operation.', 'class' => 'UnauthorizedOperationException', ), + array( + 'reason' => 'The request exceeds the limit of 10 tags for the resource.', + 'class' => 'TagLimitExceededException', + ), + array( + 'reason' => 'The tag is invalid.', + 'class' => 'InvalidTagException', + ), ), ), 'CreateEventSubscription' => array( @@ -642,10 +771,27 @@ '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' => '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.', + '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 Cluster Management Guide.', 'class' => 'EventSubscriptionQuotaExceededException', ), array( @@ -680,6 +826,14 @@ 'reason' => 'The specified Amazon Redshift event source could not be found.', 'class' => 'SourceNotFoundException', ), + array( + 'reason' => 'The request exceeds the limit of 10 tags for the resource.', + 'class' => 'TagLimitExceededException', + ), + array( + 'reason' => 'The tag is invalid.', + 'class' => 'InvalidTagException', + ), ), ), 'CreateHsmClientCertificate' => array( @@ -704,6 +858,23 @@ '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( @@ -711,9 +882,17 @@ '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.', + '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 Cluster Management Guide.', 'class' => 'HsmClientCertificateQuotaExceededException', ), + array( + 'reason' => 'The request exceeds the limit of 10 tags for the resource.', + 'class' => 'TagLimitExceededException', + ), + array( + 'reason' => 'The tag is invalid.', + 'class' => 'InvalidTagException', + ), ), ), 'CreateHsmConfiguration' => array( @@ -763,6 +942,23 @@ '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( @@ -770,9 +966,73 @@ '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.', + '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 Cluster Management Guide.', 'class' => 'HsmConfigurationQuotaExceededException', ), + array( + 'reason' => 'The request exceeds the limit of 10 tags for the resource.', + 'class' => 'TagLimitExceededException', + ), + array( + 'reason' => 'The tag is invalid.', + 'class' => 'InvalidTagException', + ), + ), + ), + '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' => '2012-12-01', + ), + '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' => 'The request exceeds the limit of 10 tags for the resource.', + 'class' => 'TagLimitExceededException', + ), + array( + 'reason' => 'The resource could not be found.', + 'class' => 'ResourceNotFoundException', + ), + array( + 'reason' => 'The tag is invalid.', + 'class' => 'InvalidTagException', + ), ), ), 'DeleteCluster' => array( @@ -1072,6 +1332,46 @@ ), ), ), + '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' => '2012-12-01', + ), + 'ResourceName' => array( + 'required' => true, + 'type' => 'string', + 'location' => 'aws.query', + ), + 'TagKeys' => array( + 'required' => true, + 'type' => 'array', + 'location' => 'aws.query', + 'sentAs' => 'TagKeys.member', + 'items' => array( + 'name' => 'TagKey', + 'type' => 'string', + ), + ), + ), + 'errorResponses' => array( + array( + 'reason' => 'The resource could not be found.', + 'class' => 'ResourceNotFoundException', + ), + ), + ), 'DescribeClusterParameterGroups' => array( 'httpMethod' => 'POST', 'uri' => '/', @@ -1101,6 +1401,24 @@ 'type' => 'string', 'location' => 'aws.query', ), + 'TagKeys' => array( + 'type' => 'array', + 'location' => 'aws.query', + 'sentAs' => 'TagKeys.member', + 'items' => array( + 'name' => 'TagKey', + 'type' => 'string', + ), + ), + 'TagValues' => array( + 'type' => 'array', + 'location' => 'aws.query', + 'sentAs' => 'TagValues.member', + 'items' => array( + 'name' => 'TagValue', + 'type' => 'string', + ), + ), ), 'errorResponses' => array( array( @@ -1180,6 +1498,24 @@ 'type' => 'string', 'location' => 'aws.query', ), + 'TagKeys' => array( + 'type' => 'array', + 'location' => 'aws.query', + 'sentAs' => 'TagKeys.member', + 'items' => array( + 'name' => 'TagKey', + 'type' => 'string', + ), + ), + 'TagValues' => array( + 'type' => 'array', + 'location' => 'aws.query', + 'sentAs' => 'TagValues.member', + 'items' => array( + 'name' => 'TagValue', + 'type' => 'string', + ), + ), ), 'errorResponses' => array( array( @@ -1247,6 +1583,24 @@ 'type' => 'string', 'location' => 'aws.query', ), + 'TagKeys' => array( + 'type' => 'array', + 'location' => 'aws.query', + 'sentAs' => 'TagKeys.member', + 'items' => array( + 'name' => 'TagKey', + 'type' => 'string', + ), + ), + 'TagValues' => array( + 'type' => 'array', + 'location' => 'aws.query', + 'sentAs' => 'TagValues.member', + 'items' => array( + 'name' => 'TagValue', + 'type' => 'string', + ), + ), ), 'errorResponses' => array( array( @@ -1284,6 +1638,24 @@ 'type' => 'string', 'location' => 'aws.query', ), + 'TagKeys' => array( + 'type' => 'array', + 'location' => 'aws.query', + 'sentAs' => 'TagKeys.member', + 'items' => array( + 'name' => 'TagKey', + 'type' => 'string', + ), + ), + 'TagValues' => array( + 'type' => 'array', + 'location' => 'aws.query', + 'sentAs' => 'TagValues.member', + 'items' => array( + 'name' => 'TagValue', + 'type' => 'string', + ), + ), ), 'errorResponses' => array( array( @@ -1356,6 +1728,24 @@ 'type' => 'string', 'location' => 'aws.query', ), + 'TagKeys' => array( + 'type' => 'array', + 'location' => 'aws.query', + 'sentAs' => 'TagKeys.member', + 'items' => array( + 'name' => 'TagKey', + 'type' => 'string', + ), + ), + 'TagValues' => array( + 'type' => 'array', + 'location' => 'aws.query', + 'sentAs' => 'TagValues.member', + 'items' => array( + 'name' => 'TagValue', + 'type' => 'string', + ), + ), ), 'errorResponses' => array( array( @@ -1542,6 +1932,24 @@ 'type' => 'string', 'location' => 'aws.query', ), + 'TagKeys' => array( + 'type' => 'array', + 'location' => 'aws.query', + 'sentAs' => 'TagKeys.member', + 'items' => array( + 'name' => 'TagKey', + 'type' => 'string', + ), + ), + 'TagValues' => array( + 'type' => 'array', + 'location' => 'aws.query', + 'sentAs' => 'TagValues.member', + 'items' => array( + 'name' => 'TagValue', + 'type' => 'string', + ), + ), ), 'errorResponses' => array( array( @@ -1579,6 +1987,24 @@ 'type' => 'string', 'location' => 'aws.query', ), + 'TagKeys' => array( + 'type' => 'array', + 'location' => 'aws.query', + 'sentAs' => 'TagKeys.member', + 'items' => array( + 'name' => 'TagKey', + 'type' => 'string', + ), + ), + 'TagValues' => array( + 'type' => 'array', + 'location' => 'aws.query', + 'sentAs' => 'TagValues.member', + 'items' => array( + 'name' => 'TagValue', + 'type' => 'string', + ), + ), ), 'errorResponses' => array( array( @@ -1751,12 +2177,71 @@ ), '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', + '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', + ), + ), + ), + 'DescribeTags' => array( + 'httpMethod' => 'POST', + 'uri' => '/', + 'class' => 'Aws\\Common\\Command\\QueryCommand', + 'responseClass' => 'TaggedResourceListMessage', + 'responseType' => 'model', + 'parameters' => array( + 'Action' => array( + 'static' => true, + 'location' => 'aws.query', + 'default' => 'DescribeTags', + ), + 'Version' => array( + 'static' => true, + 'location' => 'aws.query', + 'default' => '2012-12-01', + ), + 'ResourceName' => array( + 'type' => 'string', + 'location' => 'aws.query', + ), + 'ResourceType' => array( + 'type' => 'string', + 'location' => 'aws.query', + ), + 'MaxRecords' => array( + 'type' => 'numeric', + 'location' => 'aws.query', + ), + 'Marker' => array( + 'type' => 'string', + 'location' => 'aws.query', + ), + 'TagKeys' => array( + 'type' => 'array', + 'location' => 'aws.query', + 'sentAs' => 'TagKeys.member', + 'items' => array( + 'name' => 'TagKey', + 'type' => 'string', + ), + ), + 'TagValues' => array( + 'type' => 'array', + 'location' => 'aws.query', + 'sentAs' => 'TagValues.member', + 'items' => array( + 'name' => 'TagValue', + 'type' => 'string', + ), + ), + ), + 'errorResponses' => array( + array( + 'reason' => 'The resource could not be found.', + 'class' => 'ResourceNotFoundException', ), ), ), @@ -2054,7 +2539,7 @@ '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.', + '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 Cluster Management Guide.', 'class' => 'NumberOfNodesQuotaExceededException', ), array( @@ -2205,7 +2690,7 @@ '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.', + '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 Cluster Management Guide.', 'class' => 'ClusterSubnetQuotaExceededException', ), array( @@ -2403,7 +2888,7 @@ '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.', + '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 Cluster Management Guide.', 'class' => 'ReservedNodeQuotaExceededException', ), ), @@ -2616,6 +3101,10 @@ 'type' => 'numeric', 'location' => 'aws.query', ), + 'KmsKeyId' => array( + 'type' => 'string', + 'location' => 'aws.query', + ), ), 'errorResponses' => array( array( @@ -2631,7 +3120,7 @@ '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.', + '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 Cluster Management Guide.', 'class' => 'ClusterQuotaExceededException', ), array( @@ -2647,7 +3136,7 @@ '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.', + '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 Cluster Management Guide.', 'class' => 'NumberOfNodesQuotaExceededException', ), array( @@ -2862,6 +3351,22 @@ 'EC2SecurityGroupOwnerId' => array( 'type' => 'string', ), + 'Tags' => array( + 'type' => 'array', + 'items' => array( + 'name' => 'Tag', + 'type' => 'object', + 'sentAs' => 'Tag', + 'properties' => array( + 'Key' => array( + 'type' => 'string', + ), + 'Value' => array( + 'type' => 'string', + ), + ), + ), + ), ), ), ), @@ -2878,6 +3383,38 @@ 'CIDRIP' => array( 'type' => 'string', ), + 'Tags' => array( + 'type' => 'array', + 'items' => array( + 'name' => 'Tag', + 'type' => 'object', + 'sentAs' => 'Tag', + 'properties' => array( + 'Key' => array( + 'type' => 'string', + ), + 'Value' => array( + 'type' => 'string', + ), + ), + ), + ), + ), + ), + ), + 'Tags' => array( + 'type' => 'array', + 'items' => array( + 'name' => 'Tag', + 'type' => 'object', + 'sentAs' => 'Tag', + 'properties' => array( + 'Key' => array( + 'type' => 'string', + ), + 'Value' => array( + 'type' => 'string', + ), ), ), ), @@ -2941,6 +3478,9 @@ 'Encrypted' => array( 'type' => 'boolean', ), + 'KmsKeyId' => array( + 'type' => 'string', + ), 'EncryptedWithHSM' => array( 'type' => 'boolean', ), @@ -2981,6 +3521,22 @@ 'SourceRegion' => array( 'type' => 'string', ), + 'Tags' => array( + 'type' => 'array', + 'items' => array( + 'name' => 'Tag', + 'type' => 'object', + 'sentAs' => 'Tag', + 'properties' => array( + 'Key' => array( + 'type' => 'string', + ), + 'Value' => array( + 'type' => 'string', + ), + ), + ), + ), ), ), ), @@ -3216,6 +3772,25 @@ 'ClusterRevisionNumber' => array( 'type' => 'string', ), + 'Tags' => array( + 'type' => 'array', + 'items' => array( + 'name' => 'Tag', + 'type' => 'object', + 'sentAs' => 'Tag', + 'properties' => array( + 'Key' => array( + 'type' => 'string', + ), + 'Value' => array( + 'type' => 'string', + ), + ), + ), + ), + 'KmsKeyId' => array( + 'type' => 'string', + ), ), ), ), @@ -3240,6 +3815,22 @@ 'Description' => array( 'type' => 'string', ), + 'Tags' => array( + 'type' => 'array', + 'items' => array( + 'name' => 'Tag', + 'type' => 'object', + 'sentAs' => 'Tag', + 'properties' => array( + 'Key' => array( + 'type' => 'string', + ), + 'Value' => array( + 'type' => 'string', + ), + ), + ), + ), ), ), ), @@ -3291,6 +3882,22 @@ ), ), ), + 'Tags' => array( + 'type' => 'array', + 'items' => array( + 'name' => 'Tag', + 'type' => 'object', + 'sentAs' => 'Tag', + 'properties' => array( + 'Key' => array( + 'type' => 'string', + ), + 'Value' => array( + 'type' => 'string', + ), + ), + ), + ), ), ), ), @@ -3346,6 +3953,22 @@ 'Enabled' => array( 'type' => 'boolean', ), + 'Tags' => array( + 'type' => 'array', + 'items' => array( + 'name' => 'Tag', + 'type' => 'object', + 'sentAs' => 'Tag', + 'properties' => array( + 'Key' => array( + 'type' => 'string', + ), + 'Value' => array( + 'type' => 'string', + ), + ), + ), + ), ), ), ), @@ -3367,6 +3990,22 @@ 'HsmClientCertificatePublicKey' => array( 'type' => 'string', ), + 'Tags' => array( + 'type' => 'array', + 'items' => array( + 'name' => 'Tag', + 'type' => 'object', + 'sentAs' => 'Tag', + 'properties' => array( + 'Key' => array( + 'type' => 'string', + ), + 'Value' => array( + 'type' => 'string', + ), + ), + ), + ), ), ), ), @@ -3394,6 +4033,22 @@ 'HsmPartitionName' => array( 'type' => 'string', ), + 'Tags' => array( + 'type' => 'array', + 'items' => array( + 'name' => 'Tag', + 'type' => 'object', + 'sentAs' => 'Tag', + 'properties' => array( + 'Key' => array( + 'type' => 'string', + ), + 'Value' => array( + 'type' => 'string', + ), + ), + ), + ), ), ), ), @@ -3427,6 +4082,22 @@ 'Description' => array( 'type' => 'string', ), + 'Tags' => array( + 'type' => 'array', + 'items' => array( + 'name' => 'Tag', + 'type' => 'object', + 'sentAs' => 'Tag', + 'properties' => array( + 'Key' => array( + 'type' => 'string', + ), + 'Value' => array( + 'type' => 'string', + ), + ), + ), + ), ), ), ), @@ -3515,6 +4186,22 @@ 'EC2SecurityGroupOwnerId' => array( 'type' => 'string', ), + 'Tags' => array( + 'type' => 'array', + 'items' => array( + 'name' => 'Tag', + 'type' => 'object', + 'sentAs' => 'Tag', + 'properties' => array( + 'Key' => array( + 'type' => 'string', + ), + 'Value' => array( + 'type' => 'string', + ), + ), + ), + ), ), ), ), @@ -3531,6 +4218,38 @@ 'CIDRIP' => array( 'type' => 'string', ), + 'Tags' => array( + 'type' => 'array', + 'items' => array( + 'name' => 'Tag', + 'type' => 'object', + 'sentAs' => 'Tag', + 'properties' => array( + 'Key' => array( + 'type' => 'string', + ), + 'Value' => array( + 'type' => 'string', + ), + ), + ), + ), + ), + ), + ), + 'Tags' => array( + 'type' => 'array', + 'items' => array( + 'name' => 'Tag', + 'type' => 'object', + 'sentAs' => 'Tag', + 'properties' => array( + 'Key' => array( + 'type' => 'string', + ), + 'Value' => array( + 'type' => 'string', + ), ), ), ), @@ -3600,6 +4319,9 @@ 'Encrypted' => array( 'type' => 'boolean', ), + 'KmsKeyId' => array( + 'type' => 'string', + ), 'EncryptedWithHSM' => array( 'type' => 'boolean', ), @@ -3640,6 +4362,22 @@ 'SourceRegion' => array( 'type' => 'string', ), + 'Tags' => array( + 'type' => 'array', + 'items' => array( + 'name' => 'Tag', + 'type' => 'object', + 'sentAs' => 'Tag', + 'properties' => array( + 'Key' => array( + 'type' => 'string', + ), + 'Value' => array( + 'type' => 'string', + ), + ), + ), + ), ), ), ), @@ -3697,6 +4435,22 @@ ), ), ), + 'Tags' => array( + 'type' => 'array', + 'items' => array( + 'name' => 'Tag', + 'type' => 'object', + 'sentAs' => 'Tag', + 'properties' => array( + 'Key' => array( + 'type' => 'string', + ), + 'Value' => array( + 'type' => 'string', + ), + ), + ), + ), ), ), ), @@ -3968,6 +4722,25 @@ 'ClusterRevisionNumber' => array( 'type' => 'string', ), + 'Tags' => array( + 'type' => 'array', + 'items' => array( + 'name' => 'Tag', + 'type' => 'object', + 'sentAs' => 'Tag', + 'properties' => array( + 'Key' => array( + 'type' => 'string', + ), + 'Value' => array( + 'type' => 'string', + ), + ), + ), + ), + 'KmsKeyId' => array( + 'type' => 'string', + ), ), ), ), @@ -4131,6 +4904,22 @@ 'Enabled' => array( 'type' => 'boolean', ), + 'Tags' => array( + 'type' => 'array', + 'items' => array( + 'name' => 'Tag', + 'type' => 'object', + 'sentAs' => 'Tag', + 'properties' => array( + 'Key' => array( + 'type' => 'string', + ), + 'Value' => array( + 'type' => 'string', + ), + ), + ), + ), ), ), ), @@ -4205,6 +4994,22 @@ 'HsmClientCertificatePublicKey' => array( 'type' => 'string', ), + 'Tags' => array( + 'type' => 'array', + 'items' => array( + 'name' => 'Tag', + 'type' => 'object', + 'sentAs' => 'Tag', + 'properties' => array( + 'Key' => array( + 'type' => 'string', + ), + 'Value' => array( + 'type' => 'string', + ), + ), + ), + ), ), ), ), @@ -4238,6 +5043,22 @@ 'HsmPartitionName' => array( 'type' => 'string', ), + 'Tags' => array( + 'type' => 'array', + 'items' => array( + 'name' => 'Tag', + 'type' => 'object', + 'sentAs' => 'Tag', + 'properties' => array( + 'Key' => array( + 'type' => 'string', + ), + 'Value' => array( + 'type' => 'string', + ), + ), + ), + ), ), ), ), @@ -4513,6 +5334,44 @@ ), ), ), + 'TaggedResourceListMessage' => array( + 'type' => 'object', + 'additionalProperties' => true, + 'properties' => array( + 'TaggedResources' => array( + 'type' => 'array', + 'location' => 'xml', + 'items' => array( + 'name' => 'TaggedResource', + 'type' => 'object', + 'sentAs' => 'TaggedResource', + 'properties' => array( + 'Tag' => array( + 'type' => 'object', + 'properties' => array( + 'Key' => array( + 'type' => 'string', + ), + 'Value' => array( + 'type' => 'string', + ), + ), + ), + 'ResourceName' => array( + 'type' => 'string', + ), + 'ResourceType' => array( + 'type' => 'string', + ), + ), + ), + ), + 'Marker' => array( + 'type' => 'string', + 'location' => 'xml', + ), + ), + ), 'ClusterParameterGroupNameMessage' => array( 'type' => 'object', 'additionalProperties' => true, @@ -4683,6 +5542,12 @@ 'limit_key' => 'MaxRecords', 'result_key' => 'ReservedNodes', ), + 'DescribeTags' => array( + 'input_token' => 'Marker', + 'output_token' => 'Marker', + 'limit_key' => 'MaxRecords', + 'result_key' => 'TaggedResources', + ), ), 'waiters' => array( '__default__' => array(