aws-sdk-core 2.0.0.rc6 → 2.0.0.rc7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/README.md +48 -18
  4. data/apis/AutoScaling-2011-01-01.json +14 -6
  5. data/apis/CloudFormation-2010-05-15.json +6 -6
  6. data/apis/CloudFront-2012-05-05.json +5 -6
  7. data/apis/CloudFront-2013-05-12.json +5 -6
  8. data/apis/CloudFront-2013-08-26.json +5 -6
  9. data/apis/CloudFront-2013-11-11.json +5 -6
  10. data/apis/CloudFront-2013-11-22.json +5557 -0
  11. data/apis/CloudFront-2014-01-31.json +5627 -0
  12. data/apis/CloudSearch-2011-02-01.json +136 -4
  13. data/apis/CloudSearch-2013-01-01.json +3515 -0
  14. data/apis/CloudTrail-2013-11-01.json +288 -0
  15. data/apis/CloudWatch-2010-08-01.json +6 -6
  16. data/apis/DataPipeline-2012-10-29.json +0 -1
  17. data/apis/DirectConnect-2012-10-25.json +5 -6
  18. data/apis/DynamoDB-2011-12-05.json +6 -6
  19. data/apis/DynamoDB-2012-08-10.json +307 -6
  20. data/apis/EC2-2013-06-15.json +6 -6
  21. data/apis/EC2-2013-10-01.json +6 -6
  22. data/apis/EC2-2013-10-15.json +6 -6
  23. data/apis/EC2-2014-02-01.json +15189 -0
  24. data/apis/EMR-2009-03-31.json +8 -8
  25. data/apis/ElastiCache-2012-11-15.json +6 -6
  26. data/apis/ElastiCache-2013-06-15.json +6 -6
  27. data/apis/ElastiCache-2014-03-24.json +4344 -0
  28. data/apis/ElasticBeanstalk-2010-12-01.json +6 -7
  29. data/apis/ElasticLoadBalancing-2012-06-01.json +216 -6
  30. data/apis/ElasticTranscoder-2012-09-25.json +4 -5
  31. data/apis/Glacier-2012-06-01.json +5 -5
  32. data/apis/IAM-2010-05-08.json +6 -6
  33. data/apis/ImportExport-2010-06-01.json +5 -6
  34. data/apis/Kinesis-2013-12-02.json +2 -3
  35. data/apis/OpsWorks-2013-02-18.json +149 -2
  36. data/apis/RDS-2013-01-10.json +6 -6
  37. data/apis/RDS-2013-02-12.json +6 -6
  38. data/apis/RDS-2013-05-15.json +6 -6
  39. data/apis/RDS-2013-09-09.json +6 -6
  40. data/apis/Redshift-2012-12-01.json +64 -5
  41. data/apis/Route53-2012-12-12.json +5 -6
  42. data/apis/Route53-2013-04-01.json +37 -6
  43. data/apis/S3-2006-03-01.json +8 -7
  44. data/apis/SDB-2009-04-15.json +5 -6
  45. data/apis/SES-2010-12-01.json +0 -1
  46. data/apis/SNS-2010-03-31.json +6 -6
  47. data/apis/SQS-2012-11-05.json +154 -6
  48. data/apis/STS-2011-06-15.json +14 -6
  49. data/apis/SWF-2012-01-25.json +6 -6
  50. data/apis/StorageGateway-2012-06-30.json +16 -16
  51. data/apis/StorageGateway-2013-06-30.json +21 -21
  52. data/apis/Support-2013-04-15.json +0 -1
  53. data/apis/configuration/endpoints.json +258 -154
  54. data/apis/source/autoscaling-2011-01-01.json +19 -19
  55. data/apis/source/cloudformation-2010-05-15.json +17 -17
  56. data/apis/source/cloudfront-2013-11-22.json +8898 -0
  57. data/apis/source/cloudfront-2013-11-22.paginators.json +32 -0
  58. data/apis/source/cloudfront-2013-11-22.waiters.json +29 -0
  59. data/apis/source/cloudfront-2014-01-31.json +8975 -0
  60. data/apis/source/cloudfront-2014-01-31.normal.json +2905 -0
  61. data/apis/source/cloudfront-2014-01-31.paginators.json +32 -0
  62. data/apis/source/cloudfront-2014-01-31.waiters.json +29 -0
  63. data/apis/source/cloudsearch-2011-02-01.json +286 -8
  64. data/apis/source/cloudsearch-2013-01-01.json +5547 -0
  65. data/apis/source/cloudsearch-2013-01-01.paginators.json +20 -0
  66. data/apis/source/cloudtrail-2013-11-01.json +539 -0
  67. data/apis/source/cloudtrail-2013-11-01.paginators.json +7 -0
  68. data/apis/source/dynamodb-2011-12-05.json +19 -0
  69. data/apis/source/dynamodb-2012-08-10.json +415 -2
  70. data/apis/source/ec2-2014-02-01.json +20576 -0
  71. data/apis/source/ec2-2014-02-01.paginators.json +126 -0
  72. data/apis/source/ec2-2014-02-01.waiters.json +146 -0
  73. data/apis/source/elasticache-2014-03-24.json +6463 -0
  74. data/apis/source/elasticache-2014-03-24.paginators.json +70 -0
  75. data/apis/source/elasticloadbalancing-2012-06-01.json +455 -164
  76. data/apis/source/elasticloadbalancing-2012-06-01.normal.json +2107 -0
  77. data/apis/source/kinesis-2013-12-02.json +5 -5
  78. data/apis/source/kinesis-2013-12-02.normal.json +761 -0
  79. data/apis/source/kinesis-2013-12-02.paginators.json +6 -6
  80. data/apis/source/opsworks-2013-02-18.json +242 -39
  81. data/apis/source/opsworks-2013-02-18.paginators.json +3 -0
  82. data/apis/source/redshift-2012-12-01.json +180 -91
  83. data/apis/source/route53-2013-04-01.json +68 -4
  84. data/apis/source/sqs-2012-11-05.json +237 -7
  85. data/apis/source/sts-2011-06-15.json +18 -2
  86. data/bin/aws.rb +7 -7
  87. data/doc-src/plugins/apis.rb +1 -1
  88. data/features/cloudtrail/client.feature +17 -0
  89. data/features/cloudtrail/step_definitions.rb +6 -0
  90. data/features/datapipeline/client.feature +1 -1
  91. data/lib/aws.rb +21 -5
  92. data/lib/aws/api/service_translators/s3.rb +1 -0
  93. data/lib/aws/api/translator.rb +1 -2
  94. data/lib/aws/credential_provider_chain.rb +62 -0
  95. data/lib/aws/credentials.rb +4 -1
  96. data/lib/aws/errors.rb +4 -0
  97. data/lib/aws/plugins/credentials.rb +24 -31
  98. data/lib/aws/plugins/s3_location_constraint.rb +38 -0
  99. data/lib/aws/shared_credentials.rb +105 -0
  100. data/lib/aws/structure.rb +1 -0
  101. data/lib/aws/util.rb +18 -19
  102. data/lib/aws/version.rb +1 -1
  103. data/spec/aws/credentials_spec.rb +8 -0
  104. data/spec/aws/plugins/credentials_spec.rb +71 -15
  105. data/spec/aws/plugins/s3_location_constraint_spec.rb +48 -0
  106. data/spec/aws/shared_credentials_spec.rb +68 -0
  107. data/spec/aws/util_spec.rb +107 -0
  108. data/spec/aws_spec.rb +6 -0
  109. data/spec/fixtures/credentials/mock_shared_credentials +14 -0
  110. data/spec/fixtures/operations/s3/create_bucket_with_implied_location_constraint.yml +23 -0
  111. data/spec/spec_helper.rb +4 -0
  112. data/tasks/test.rake +10 -7
  113. data/vendor/seahorse/lib/seahorse/client/param_converter.rb +2 -2
  114. metadata +43 -3
  115. data/lib/aws/plugins/instance_profile_credentials.rb +0 -14
@@ -0,0 +1,7 @@
1
+ {
2
+ "pagination": {
3
+ "DescribeTrails": {
4
+ "result_key": "trailList"
5
+ }
6
+ }
7
+ }
@@ -157,6 +157,7 @@
157
157
  "members": {
158
158
  "shape_name": "AttributeName",
159
159
  "type": "string",
160
+ "max_length": 65535,
160
161
  "documentation": null
161
162
  },
162
163
  "min_length": 1,
@@ -206,6 +207,7 @@
206
207
  "keys": {
207
208
  "shape_name": "AttributeName",
208
209
  "type": "string",
210
+ "max_length": 65535,
209
211
  "documentation": null
210
212
  },
211
213
  "members": {
@@ -415,6 +417,7 @@
415
417
  "members": {
416
418
  "shape_name": "AttributeName",
417
419
  "type": "string",
420
+ "max_length": 65535,
418
421
  "documentation": null
419
422
  },
420
423
  "min_length": 1,
@@ -509,6 +512,7 @@
509
512
  "keys": {
510
513
  "shape_name": "AttributeName",
511
514
  "type": "string",
515
+ "max_length": 65535,
512
516
  "documentation": null
513
517
  },
514
518
  "members": {
@@ -761,6 +765,7 @@
761
765
  "keys": {
762
766
  "shape_name": "AttributeName",
763
767
  "type": "string",
768
+ "max_length": 65535,
764
769
  "documentation": null
765
770
  },
766
771
  "members": {
@@ -1425,6 +1430,7 @@
1425
1430
  "keys": {
1426
1431
  "shape_name": "AttributeName",
1427
1432
  "type": "string",
1433
+ "max_length": 65535,
1428
1434
  "documentation": null
1429
1435
  },
1430
1436
  "members": {
@@ -1518,6 +1524,7 @@
1518
1524
  "keys": {
1519
1525
  "shape_name": "AttributeName",
1520
1526
  "type": "string",
1527
+ "max_length": 65535,
1521
1528
  "documentation": null
1522
1529
  },
1523
1530
  "members": {
@@ -2182,6 +2189,7 @@
2182
2189
  "members": {
2183
2190
  "shape_name": "AttributeName",
2184
2191
  "type": "string",
2192
+ "max_length": 65535,
2185
2193
  "documentation": null
2186
2194
  },
2187
2195
  "min_length": 1,
@@ -2205,6 +2213,7 @@
2205
2213
  "keys": {
2206
2214
  "shape_name": "AttributeName",
2207
2215
  "type": "string",
2216
+ "max_length": 65535,
2208
2217
  "documentation": null
2209
2218
  },
2210
2219
  "members": {
@@ -2398,6 +2407,7 @@
2398
2407
  "keys": {
2399
2408
  "shape_name": "AttributeName",
2400
2409
  "type": "string",
2410
+ "max_length": 65535,
2401
2411
  "documentation": null
2402
2412
  },
2403
2413
  "members": {
@@ -2461,6 +2471,7 @@
2461
2471
  "keys": {
2462
2472
  "shape_name": "AttributeName",
2463
2473
  "type": "string",
2474
+ "max_length": 65535,
2464
2475
  "documentation": null
2465
2476
  },
2466
2477
  "members": {
@@ -2554,6 +2565,7 @@
2554
2565
  "keys": {
2555
2566
  "shape_name": "AttributeName",
2556
2567
  "type": "string",
2568
+ "max_length": 65535,
2557
2569
  "documentation": null
2558
2570
  },
2559
2571
  "members": {
@@ -2703,6 +2715,7 @@
2703
2715
  "members": {
2704
2716
  "shape_name": "AttributeName",
2705
2717
  "type": "string",
2718
+ "max_length": 65535,
2706
2719
  "documentation": null
2707
2720
  },
2708
2721
  "min_length": 1,
@@ -2995,6 +3008,7 @@
2995
3008
  "keys": {
2996
3009
  "shape_name": "AttributeName",
2997
3010
  "type": "string",
3011
+ "max_length": 65535,
2998
3012
  "documentation": null
2999
3013
  },
3000
3014
  "members": {
@@ -3239,6 +3253,7 @@
3239
3253
  "members": {
3240
3254
  "shape_name": "AttributeName",
3241
3255
  "type": "string",
3256
+ "max_length": 65535,
3242
3257
  "documentation": null
3243
3258
  },
3244
3259
  "min_length": 1,
@@ -3478,6 +3493,7 @@
3478
3493
  "keys": {
3479
3494
  "shape_name": "AttributeName",
3480
3495
  "type": "string",
3496
+ "max_length": 65535,
3481
3497
  "documentation": null
3482
3498
  },
3483
3499
  "members": {
@@ -3840,6 +3856,7 @@
3840
3856
  "keys": {
3841
3857
  "shape_name": "AttributeName",
3842
3858
  "type": "string",
3859
+ "max_length": 65535,
3843
3860
  "documentation": null
3844
3861
  },
3845
3862
  "members": {
@@ -3920,6 +3937,7 @@
3920
3937
  "keys": {
3921
3938
  "shape_name": "AttributeName",
3922
3939
  "type": "string",
3940
+ "max_length": 65535,
3923
3941
  "documentation": null
3924
3942
  },
3925
3943
  "members": {
@@ -4013,6 +4031,7 @@
4013
4031
  "keys": {
4014
4032
  "shape_name": "AttributeName",
4015
4033
  "type": "string",
4034
+ "max_length": 65535,
4016
4035
  "documentation": null
4017
4036
  },
4018
4037
  "members": {
@@ -40,6 +40,7 @@
40
40
  "keys": {
41
41
  "shape_name": "AttributeName",
42
42
  "type": "string",
43
+ "max_length": 65535,
43
44
  "documentation": null
44
45
  },
45
46
  "members": {
@@ -107,6 +108,7 @@
107
108
  "members": {
108
109
  "shape_name": "AttributeName",
109
110
  "type": "string",
111
+ "max_length": 65535,
110
112
  "documentation": null
111
113
  },
112
114
  "min_length": 1,
@@ -162,6 +164,7 @@
162
164
  "keys": {
163
165
  "shape_name": "AttributeName",
164
166
  "type": "string",
167
+ "max_length": 65535,
165
168
  "documentation": null
166
169
  },
167
170
  "members": {
@@ -246,6 +249,7 @@
246
249
  "keys": {
247
250
  "shape_name": "AttributeName",
248
251
  "type": "string",
252
+ "max_length": 65535,
249
253
  "documentation": null
250
254
  },
251
255
  "members": {
@@ -313,6 +317,7 @@
313
317
  "members": {
314
318
  "shape_name": "AttributeName",
315
319
  "type": "string",
320
+ "max_length": 65535,
316
321
  "documentation": null
317
322
  },
318
323
  "min_length": 1,
@@ -494,6 +499,7 @@
494
499
  "keys": {
495
500
  "shape_name": "AttributeName",
496
501
  "type": "string",
502
+ "max_length": 65535,
497
503
  "documentation": null
498
504
  },
499
505
  "members": {
@@ -564,6 +570,7 @@
564
570
  "keys": {
565
571
  "shape_name": "AttributeName",
566
572
  "type": "string",
573
+ "max_length": 65535,
567
574
  "documentation": null
568
575
  },
569
576
  "members": {
@@ -690,6 +697,7 @@
690
697
  "keys": {
691
698
  "shape_name": "AttributeName",
692
699
  "type": "string",
700
+ "max_length": 65535,
693
701
  "documentation": null
694
702
  },
695
703
  "members": {
@@ -760,6 +768,7 @@
760
768
  "keys": {
761
769
  "shape_name": "AttributeName",
762
770
  "type": "string",
771
+ "max_length": 65535,
763
772
  "documentation": null
764
773
  },
765
774
  "members": {
@@ -855,6 +864,7 @@
855
864
  "keys": {
856
865
  "shape_name": "AttributeName",
857
866
  "type": "string",
867
+ "max_length": 65535,
858
868
  "documentation": null
859
869
  },
860
870
  "members": {
@@ -1808,6 +1818,7 @@
1808
1818
  "keys": {
1809
1819
  "shape_name": "AttributeName",
1810
1820
  "type": "string",
1821
+ "max_length": 65535,
1811
1822
  "documentation": null
1812
1823
  },
1813
1824
  "members": {
@@ -1871,6 +1882,7 @@
1871
1882
  "keys": {
1872
1883
  "shape_name": "AttributeName",
1873
1884
  "type": "string",
1885
+ "max_length": 65535,
1874
1886
  "documentation": null
1875
1887
  },
1876
1888
  "members": {
@@ -1933,12 +1945,98 @@
1933
1945
  "shape_name": "BooleanObject",
1934
1946
  "type": "boolean",
1935
1947
  "documentation": "\n <p>Causes DynamoDB to evaluate the value before attempting a conditional operation:</p>\n <ul>\n <li>\n <p>If <i>Exists</i> is <code>true</code>, DynamoDB will check to see if that attribute\n value already exists in the table. If it is found, then the operation\n succeeds. If it is not found, the operation fails with a\n <i>ConditionalCheckFailedException</i>.</p>\n </li>\n <li>\n <p>If <i>Exists</i> is <code>false</code>, DynamoDB assumes that the attribute value does\n <i>not</i> exist in the table. If in fact the value does not exist, then the\n assumption is valid and the operation succeeds. If the value is found,\n despite the assumption that it does not exist, the operation fails with a\n <i>ConditionalCheckFailedException</i>.</p>\n </li>\n </ul>\n <p>The default setting for <i>Exists</i> is <code>true</code>. If you supply a <i>Value</i> all\n by itself, DynamoDB assumes the attribute exists: You don't have to set <i>Exists</i> to\n <code>true</code>, because it is implied.</p>\n <p>DynamoDB returns a <i>ValidationException</i> if:</p>\n <ul>\n <li>\n <p><i>Exists</i> is <code>true</code> but there is no <i>Value</i> to check. (You expect\n a value to exist, but don't specify what that value is.)</p>\n </li>\n <li>\n <p><i>Exists</i> is <code>false</code> but you also specify a <i>Value</i>. (You cannot\n expect an attribute to have a value, while also expecting it not to exist.)</p>\n </li>\n </ul>\n <p>If you specify more than one condition for <i>Exists</i>, then all of the conditions must\n evaluate to true. (In other words, the conditions are ANDed together.) Otherwise, the\n conditional operation will fail.</p>\n "
1948
+ },
1949
+ "ComparisonOperator": {
1950
+ "shape_name": "ComparisonOperator",
1951
+ "type": "string",
1952
+ "enum": [
1953
+ "EQ",
1954
+ "NE",
1955
+ "IN",
1956
+ "LE",
1957
+ "LT",
1958
+ "GE",
1959
+ "GT",
1960
+ "BETWEEN",
1961
+ "NOT_NULL",
1962
+ "NULL",
1963
+ "CONTAINS",
1964
+ "NOT_CONTAINS",
1965
+ "BEGINS_WITH"
1966
+ ],
1967
+ "documentation": null
1968
+ },
1969
+ "AttributeValueList": {
1970
+ "shape_name": "AttributeValueList",
1971
+ "type": "list",
1972
+ "members": {
1973
+ "shape_name": "AttributeValue",
1974
+ "type": "structure",
1975
+ "members": {
1976
+ "S": {
1977
+ "shape_name": "StringAttributeValue",
1978
+ "type": "string",
1979
+ "documentation": "\n <p>A String data type</p>\n "
1980
+ },
1981
+ "N": {
1982
+ "shape_name": "NumberAttributeValue",
1983
+ "type": "string",
1984
+ "documentation": "\n <p>A Number data type</p>\n "
1985
+ },
1986
+ "B": {
1987
+ "shape_name": "BinaryAttributeValue",
1988
+ "type": "blob",
1989
+ "documentation": "\n <p>A Binary data type</p>\n "
1990
+ },
1991
+ "SS": {
1992
+ "shape_name": "StringSetAttributeValue",
1993
+ "type": "list",
1994
+ "members": {
1995
+ "shape_name": "StringAttributeValue",
1996
+ "type": "string",
1997
+ "documentation": null
1998
+ },
1999
+ "documentation": "\n <p>A String set data type</p>\n "
2000
+ },
2001
+ "NS": {
2002
+ "shape_name": "NumberSetAttributeValue",
2003
+ "type": "list",
2004
+ "members": {
2005
+ "shape_name": "NumberAttributeValue",
2006
+ "type": "string",
2007
+ "documentation": null
2008
+ },
2009
+ "documentation": "\n <p> Number set data type</p>\n "
2010
+ },
2011
+ "BS": {
2012
+ "shape_name": "BinarySetAttributeValue",
2013
+ "type": "list",
2014
+ "members": {
2015
+ "shape_name": "BinaryAttributeValue",
2016
+ "type": "blob",
2017
+ "documentation": null
2018
+ },
2019
+ "documentation": "\n <p>A Binary set data type</p>\n "
2020
+ }
2021
+ },
2022
+ "documentation": "\n <p>Represents the data for an attribute. You can set one, and only one, of the elements.</p>\n "
2023
+ },
2024
+ "documentation": null
1936
2025
  }
1937
2026
  },
1938
2027
  "documentation": "\n <p>Represents an attribute value used with conditional <i>DeleteItem</i>, <i>PutItem</i> or <i>UpdateItem</i> operations. DynamoDB will check to see if the attribute value already exists; or if the attribute exists and has a particular value before updating it.</p>\n "
1939
2028
  },
1940
2029
  "documentation": "\n <p>A map of attribute/condition pairs. This is the conditional block for the <i>DeleteItem</i> operation. All the conditions must be met for the operation to succeed.</p> <p><i>Expected</i> allows you to\n provide an attribute name, and whether or not DynamoDB should check to see if the attribute value\n already exists; or if the attribute value exists and has a particular value before changing\n it.</p>\n <p>Each item in <i>Expected</i> represents an attribute name for DynamoDB to check, along with\n the following: </p>\n <ul>\n <li>\n <p><i>Value</i> - A value for DynamoDB to compare with an attribute. When performing the comparison, strongly consistent reads are used.</p>\n </li>\n <li>\n <p><i>Exists</i> - Causes DynamoDB to evaluate the value before attempting a conditional\n operation:</p>\n <ul>\n <li>\n <p>If <i>Exists</i> is <code>true</code>, DynamoDB will check to see if that attribute\n value already exists in the table. If it is found, then the operation\n succeeds. If it is not found, the operation fails with a\n <i>ConditionalCheckFailedException</i>.</p>\n </li>\n <li>\n <p>If <i>Exists</i> is <code>false</code>, DynamoDB assumes that the attribute value does\n <i>not</i> exist in the table. If in fact the value does not exist, then the\n assumption is valid and the operation succeeds. If the value is found,\n despite the assumption that it does not exist, the operation fails with a\n <i>ConditionalCheckFailedException</i>.</p>\n </li>\n </ul>\n <p>The default setting for <i>Exists</i> is <code>true</code>. If you supply a <i>Value</i>\n all by itself, DynamoDB assumes the attribute exists: You don't have to set <i>Exists</i> to <code>true</code>, because it is\n implied.</p>\n <p>DynamoDB returns a <i>ValidationException</i> if:</p>\n <ul>\n <li>\n <p><i>Exists</i> is <code>true</code> but there is no <i>Value</i> to check. (You expect\n a value to exist, but don't specify what that value is.)</p>\n </li>\n <li>\n <p><i>Exists</i> is <code>false</code> but you also specify a <i>Value</i>. (You cannot\n expect an attribute to have a value, while also expecting it not to exist.)</p>\n </li>\n </ul>\n </li>\n </ul>\n <p>If you specify more than one condition for <i>Exists</i>, then all of the conditions must\n evaluate to true. (In other words, the conditions are ANDed together.) Otherwise, the\n conditional operation will fail.</p>\n\n "
1941
2030
  },
2031
+ "ConditionalOperator": {
2032
+ "shape_name": "ConditionalOperator",
2033
+ "type": "string",
2034
+ "enum": [
2035
+ "AND",
2036
+ "OR"
2037
+ ],
2038
+ "documentation": null
2039
+ },
1942
2040
  "ReturnValues": {
1943
2041
  "shape_name": "ReturnValue",
1944
2042
  "type": "string",
@@ -1983,6 +2081,7 @@
1983
2081
  "keys": {
1984
2082
  "shape_name": "AttributeName",
1985
2083
  "type": "string",
2084
+ "max_length": 65535,
1986
2085
  "documentation": null
1987
2086
  },
1988
2087
  "members": {
@@ -2131,6 +2230,7 @@
2131
2230
  "keys": {
2132
2231
  "shape_name": "AttributeName",
2133
2232
  "type": "string",
2233
+ "max_length": 65535,
2134
2234
  "documentation": null
2135
2235
  },
2136
2236
  "members": {
@@ -3160,6 +3260,7 @@
3160
3260
  "keys": {
3161
3261
  "shape_name": "AttributeName",
3162
3262
  "type": "string",
3263
+ "max_length": 65535,
3163
3264
  "documentation": null
3164
3265
  },
3165
3266
  "members": {
@@ -3223,6 +3324,7 @@
3223
3324
  "members": {
3224
3325
  "shape_name": "AttributeName",
3225
3326
  "type": "string",
3327
+ "max_length": 65535,
3226
3328
  "documentation": null
3227
3329
  },
3228
3330
  "min_length": 1,
@@ -3256,6 +3358,7 @@
3256
3358
  "keys": {
3257
3359
  "shape_name": "AttributeName",
3258
3360
  "type": "string",
3361
+ "max_length": 65535,
3259
3362
  "documentation": null
3260
3363
  },
3261
3364
  "members": {
@@ -3526,6 +3629,7 @@
3526
3629
  "keys": {
3527
3630
  "shape_name": "AttributeName",
3528
3631
  "type": "string",
3632
+ "max_length": 65535,
3529
3633
  "documentation": null
3530
3634
  },
3531
3635
  "members": {
@@ -3589,6 +3693,7 @@
3589
3693
  "keys": {
3590
3694
  "shape_name": "AttributeName",
3591
3695
  "type": "string",
3696
+ "max_length": 65535,
3592
3697
  "documentation": null
3593
3698
  },
3594
3699
  "members": {
@@ -3651,6 +3756,83 @@
3651
3756
  "shape_name": "BooleanObject",
3652
3757
  "type": "boolean",
3653
3758
  "documentation": "\n <p>Causes DynamoDB to evaluate the value before attempting a conditional operation:</p>\n <ul>\n <li>\n <p>If <i>Exists</i> is <code>true</code>, DynamoDB will check to see if that attribute\n value already exists in the table. If it is found, then the operation\n succeeds. If it is not found, the operation fails with a\n <i>ConditionalCheckFailedException</i>.</p>\n </li>\n <li>\n <p>If <i>Exists</i> is <code>false</code>, DynamoDB assumes that the attribute value does\n <i>not</i> exist in the table. If in fact the value does not exist, then the\n assumption is valid and the operation succeeds. If the value is found,\n despite the assumption that it does not exist, the operation fails with a\n <i>ConditionalCheckFailedException</i>.</p>\n </li>\n </ul>\n <p>The default setting for <i>Exists</i> is <code>true</code>. If you supply a <i>Value</i> all\n by itself, DynamoDB assumes the attribute exists: You don't have to set <i>Exists</i> to\n <code>true</code>, because it is implied.</p>\n <p>DynamoDB returns a <i>ValidationException</i> if:</p>\n <ul>\n <li>\n <p><i>Exists</i> is <code>true</code> but there is no <i>Value</i> to check. (You expect\n a value to exist, but don't specify what that value is.)</p>\n </li>\n <li>\n <p><i>Exists</i> is <code>false</code> but you also specify a <i>Value</i>. (You cannot\n expect an attribute to have a value, while also expecting it not to exist.)</p>\n </li>\n </ul>\n <p>If you specify more than one condition for <i>Exists</i>, then all of the conditions must\n evaluate to true. (In other words, the conditions are ANDed together.) Otherwise, the\n conditional operation will fail.</p>\n "
3759
+ },
3760
+ "ComparisonOperator": {
3761
+ "shape_name": "ComparisonOperator",
3762
+ "type": "string",
3763
+ "enum": [
3764
+ "EQ",
3765
+ "NE",
3766
+ "IN",
3767
+ "LE",
3768
+ "LT",
3769
+ "GE",
3770
+ "GT",
3771
+ "BETWEEN",
3772
+ "NOT_NULL",
3773
+ "NULL",
3774
+ "CONTAINS",
3775
+ "NOT_CONTAINS",
3776
+ "BEGINS_WITH"
3777
+ ],
3778
+ "documentation": null
3779
+ },
3780
+ "AttributeValueList": {
3781
+ "shape_name": "AttributeValueList",
3782
+ "type": "list",
3783
+ "members": {
3784
+ "shape_name": "AttributeValue",
3785
+ "type": "structure",
3786
+ "members": {
3787
+ "S": {
3788
+ "shape_name": "StringAttributeValue",
3789
+ "type": "string",
3790
+ "documentation": "\n <p>A String data type</p>\n "
3791
+ },
3792
+ "N": {
3793
+ "shape_name": "NumberAttributeValue",
3794
+ "type": "string",
3795
+ "documentation": "\n <p>A Number data type</p>\n "
3796
+ },
3797
+ "B": {
3798
+ "shape_name": "BinaryAttributeValue",
3799
+ "type": "blob",
3800
+ "documentation": "\n <p>A Binary data type</p>\n "
3801
+ },
3802
+ "SS": {
3803
+ "shape_name": "StringSetAttributeValue",
3804
+ "type": "list",
3805
+ "members": {
3806
+ "shape_name": "StringAttributeValue",
3807
+ "type": "string",
3808
+ "documentation": null
3809
+ },
3810
+ "documentation": "\n <p>A String set data type</p>\n "
3811
+ },
3812
+ "NS": {
3813
+ "shape_name": "NumberSetAttributeValue",
3814
+ "type": "list",
3815
+ "members": {
3816
+ "shape_name": "NumberAttributeValue",
3817
+ "type": "string",
3818
+ "documentation": null
3819
+ },
3820
+ "documentation": "\n <p> Number set data type</p>\n "
3821
+ },
3822
+ "BS": {
3823
+ "shape_name": "BinarySetAttributeValue",
3824
+ "type": "list",
3825
+ "members": {
3826
+ "shape_name": "BinaryAttributeValue",
3827
+ "type": "blob",
3828
+ "documentation": null
3829
+ },
3830
+ "documentation": "\n <p>A Binary set data type</p>\n "
3831
+ }
3832
+ },
3833
+ "documentation": "\n <p>Represents the data for an attribute. You can set one, and only one, of the elements.</p>\n "
3834
+ },
3835
+ "documentation": null
3654
3836
  }
3655
3837
  },
3656
3838
  "documentation": "\n <p>Represents an attribute value used with conditional <i>DeleteItem</i>, <i>PutItem</i> or <i>UpdateItem</i> operations. DynamoDB will check to see if the attribute value already exists; or if the attribute exists and has a particular value before updating it.</p>\n "
@@ -3687,6 +3869,15 @@
3687
3869
  "NONE"
3688
3870
  ],
3689
3871
  "documentation": " <p>If set to <code>SIZE</code>, statistics about item collections, if any, that were modified during\n the operation are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p>\n "
3872
+ },
3873
+ "ConditionalOperator": {
3874
+ "shape_name": "ConditionalOperator",
3875
+ "type": "string",
3876
+ "enum": [
3877
+ "AND",
3878
+ "OR"
3879
+ ],
3880
+ "documentation": null
3690
3881
  }
3691
3882
  },
3692
3883
  "documentation": "\n <p>Represents the input of a <i>PutItem</i> operation.</p>\n "
@@ -3701,6 +3892,7 @@
3701
3892
  "keys": {
3702
3893
  "shape_name": "AttributeName",
3703
3894
  "type": "string",
3895
+ "max_length": 65535,
3704
3896
  "documentation": null
3705
3897
  },
3706
3898
  "members": {
@@ -3849,6 +4041,7 @@
3849
4041
  "keys": {
3850
4042
  "shape_name": "AttributeName",
3851
4043
  "type": "string",
4044
+ "max_length": 65535,
3852
4045
  "documentation": null
3853
4046
  },
3854
4047
  "members": {
@@ -4025,6 +4218,7 @@
4025
4218
  "members": {
4026
4219
  "shape_name": "AttributeName",
4027
4220
  "type": "string",
4221
+ "max_length": 65535,
4028
4222
  "documentation": null
4029
4223
  },
4030
4224
  "min_length": 1,
@@ -4047,6 +4241,7 @@
4047
4241
  "keys": {
4048
4242
  "shape_name": "AttributeName",
4049
4243
  "type": "string",
4244
+ "max_length": 65535,
4050
4245
  "documentation": null
4051
4246
  },
4052
4247
  "members": {
@@ -4136,6 +4331,111 @@
4136
4331
  },
4137
4332
  "documentation": "\n <p>The selection criteria for the query.</p>\n <p>For a query on a table, you can only have conditions on the table primary key attributes. You\n must specify the hash key attribute name and value as an <code>EQ</code> condition. You can\n optionally specify a second condition, referring to the range key attribute.</p>\n <p>For a query on an index, you can only have conditions on the index key attributes.\n You must specify the index hash attribute name and value as an EQ condition. You can\n optionally specify a second condition, referring to the index key range attribute.</p>\n <p>Multiple conditions are evaluated using \"AND\"; in other words, all of the conditions must be met in order for an item to appear in the results results. </p>\n <p>Each <i>KeyConditions</i> element consists of an attribute name to compare, along with the following:</p>\n <ul>\n <li>\n<p><i>AttributeValueList</i> - One or more values to evaluate against the supplied attribute. This list contains\n exactly one value, except for a <code>BETWEEN</code> comparison, in which\n case the list contains two values.</p>\n <note>\n <p>For type Number, value comparisons are numeric.</p>\n <p>String value comparisons for greater than, equals, or less than are based on ASCII\n character code values. For example, <code>a</code> is greater than <code>A</code>, and\n <code>aa</code> is greater than <code>B</code>. For a list of code values, see <a href=\"http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters\">http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters</a>.</p>\n <p>For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary\n values, for example when evaluating query expressions.</p>\n </note>\n </li>\n <li>\n<p><i>ComparisonOperator</i> - A comparator for evaluating attributes. For example, equals, greater than, less\n than, etc.</p>\n <p>Valid comparison operators for Query:</p>\n <p><code>EQ | LE | LT | GE | GT | BEGINS_WITH | BETWEEN</code></p>\n \n <p>For\n information on specifying data types in JSON, see <a href=\"http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataFormat.html\">JSON\n Data Format</a> in the Amazon DynamoDB Developer Guide.</p>\n <p>The following are descriptions of each comparison operator.</p>\n <ul>\n <li>\n <p><code>EQ</code> : Equal. </p>\n <p><i>AttributeValueList</i> can contain only one <i>AttributeValue</i> of type String,\n Number, or Binary (not a set). If an item contains an <i>AttributeValue</i> of a different\n type than the one specified in the request, the value does not match. For example,\n <code>{\"S\":\"6\"}</code> does not equal <code>{\"N\":\"6\"}</code>. Also,\n <code>{\"N\":\"6\"}</code> does not equal <code>{\"NS\":[\"6\", \"2\", \"1\"]}</code>.</p>\n <p></p>\n </li>\n <li>\n <p><code>LE</code> : Less than or equal. </p>\n <p><i>AttributeValueList</i> can contain only one <i>AttributeValue</i> of type String,\n Number, or Binary (not a set). If an item contains an <i>AttributeValue</i> of a different\n type than the one specified in the request, the value does not match. For example,\n <code>{\"S\":\"6\"}</code> does not equal <code>{\"N\":\"6\"}</code>. Also,\n <code>{\"N\":\"6\"}</code> does not compare to <code>{\"NS\":[\"6\", \"2\", \"1\"]}</code>.</p>\n <p></p>\n </li>\n <li>\n <p><code>LT</code> : Less than. </p>\n <p><i>AttributeValueList</i> can contain only one <i>AttributeValue</i> of type String,\n Number, or Binary (not a set). If an item contains an <i>AttributeValue</i> of a different\n type than the one specified in the request, the value does not match. For example,\n <code>{\"S\":\"6\"}</code> does not equal <code>{\"N\":\"6\"}</code>. Also,\n <code>{\"N\":\"6\"}</code> does not compare to <code>{\"NS\":[\"6\", \"2\", \"1\"]}</code>.</p>\n <p></p>\n </li>\n <li>\n <p><code>GE</code> : Greater than or equal. </p>\n <p><i>AttributeValueList</i> can contain only one <i>AttributeValue</i> of type String,\n Number, or Binary (not a set). If an item contains an <i>AttributeValue</i> of a different\n type than the one specified in the request, the value does not match. For example,\n <code>{\"S\":\"6\"}</code> does not equal <code>{\"N\":\"6\"}</code>. Also,\n <code>{\"N\":\"6\"}</code> does not compare to <code>{\"NS\":[\"6\", \"2\", \"1\"]}</code>.</p>\n <p></p>\n </li>\n <li>\n <p><code>GT</code> : Greater than. </p>\n <p><i>AttributeValueList</i> can contain only one <i>AttributeValue</i> of type String,\n Number, or Binary (not a set). If an item contains an <i>AttributeValue</i> of a different\n type than the one specified in the request, the value does not match. For example,\n <code>{\"S\":\"6\"}</code> does not equal <code>{\"N\":\"6\"}</code>. Also,\n <code>{\"N\":\"6\"}</code> does not compare to <code>{\"NS\":[\"6\", \"2\", \"1\"]}</code>.</p>\n <p></p>\n </li>\n <li>\n <p><code>BEGINS_WITH</code> : checks for a prefix. </p>\n <p><i>AttributeValueList</i> can contain only one <i>AttributeValue</i> of type String or\n Binary (not a Number or a set). The target attribute of the comparison must be a String or\n Binary (not a Number or a set).</p>\n <p></p>\n </li>\n <li>\n <p><code>BETWEEN</code> : Greater than or equal to the first value, and less than or equal\n to the second value. </p>\n <p><i>AttributeValueList</i> must contain two <i>AttributeValue</i> elements of the same\n type, either String, Number, or Binary (not a set). A target attribute matches if the\n target value is greater than, or equal to, the first element and less than, or equal to,\n the second element. If an item contains an <i>AttributeValue</i> of a different type than\n the one specified in the request, the value does not match. For example,\n <code>{\"S\":\"6\"}</code> does not compare to <code>{\"N\":\"6\"}</code>. Also,\n <code>{\"N\":\"6\"}</code> does not compare to <code>{\"NS\":[\"6\", \"2\", \"1\"]}</code></p>\n </li>\n </ul>\n</li>\n</ul>\n "
4138
4333
  },
4334
+ "QueryFilter": {
4335
+ "shape_name": "FilterConditionMap",
4336
+ "type": "map",
4337
+ "keys": {
4338
+ "shape_name": "AttributeName",
4339
+ "type": "string",
4340
+ "max_length": 65535,
4341
+ "documentation": null
4342
+ },
4343
+ "members": {
4344
+ "shape_name": "Condition",
4345
+ "type": "structure",
4346
+ "members": {
4347
+ "AttributeValueList": {
4348
+ "shape_name": "AttributeValueList",
4349
+ "type": "list",
4350
+ "members": {
4351
+ "shape_name": "AttributeValue",
4352
+ "type": "structure",
4353
+ "members": {
4354
+ "S": {
4355
+ "shape_name": "StringAttributeValue",
4356
+ "type": "string",
4357
+ "documentation": "\n <p>A String data type</p>\n "
4358
+ },
4359
+ "N": {
4360
+ "shape_name": "NumberAttributeValue",
4361
+ "type": "string",
4362
+ "documentation": "\n <p>A Number data type</p>\n "
4363
+ },
4364
+ "B": {
4365
+ "shape_name": "BinaryAttributeValue",
4366
+ "type": "blob",
4367
+ "documentation": "\n <p>A Binary data type</p>\n "
4368
+ },
4369
+ "SS": {
4370
+ "shape_name": "StringSetAttributeValue",
4371
+ "type": "list",
4372
+ "members": {
4373
+ "shape_name": "StringAttributeValue",
4374
+ "type": "string",
4375
+ "documentation": null
4376
+ },
4377
+ "documentation": "\n <p>A String set data type</p>\n "
4378
+ },
4379
+ "NS": {
4380
+ "shape_name": "NumberSetAttributeValue",
4381
+ "type": "list",
4382
+ "members": {
4383
+ "shape_name": "NumberAttributeValue",
4384
+ "type": "string",
4385
+ "documentation": null
4386
+ },
4387
+ "documentation": "\n <p> Number set data type</p>\n "
4388
+ },
4389
+ "BS": {
4390
+ "shape_name": "BinarySetAttributeValue",
4391
+ "type": "list",
4392
+ "members": {
4393
+ "shape_name": "BinaryAttributeValue",
4394
+ "type": "blob",
4395
+ "documentation": null
4396
+ },
4397
+ "documentation": "\n <p>A Binary set data type</p>\n "
4398
+ }
4399
+ },
4400
+ "documentation": "\n <p>Represents the data for an attribute. You can set one, and only one, of the elements.</p>\n "
4401
+ },
4402
+ "documentation": "\n <p>One or more values to evaluate against the supplied attribute. This list contains\n exactly one value, except for a <code>BETWEEN</code> or <code>IN</code> comparison, in which\n case the list contains two values.</p>\n <note>\n <p>For type Number, value comparisons are numeric.</p>\n <p>String value comparisons for greater than, equals, or less than are based on ASCII\n character code values. For example, <code>a</code> is greater than <code>A</code>, and\n <code>aa</code> is greater than <code>B</code>. For a list of code values, see <a href=\"http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters\">http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters</a>.</p>\n <p>For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary\n values, for example when evaluating query expressions.</p>\n </note>\n "
4403
+ },
4404
+ "ComparisonOperator": {
4405
+ "shape_name": "ComparisonOperator",
4406
+ "type": "string",
4407
+ "enum": [
4408
+ "EQ",
4409
+ "NE",
4410
+ "IN",
4411
+ "LE",
4412
+ "LT",
4413
+ "GE",
4414
+ "GT",
4415
+ "BETWEEN",
4416
+ "NOT_NULL",
4417
+ "NULL",
4418
+ "CONTAINS",
4419
+ "NOT_CONTAINS",
4420
+ "BEGINS_WITH"
4421
+ ],
4422
+ "documentation": "\n <p>A comparator for evaluating attributes. For example, equals, greater than, less\n than, etc.</p> <p>Valid comparison operators for Query:</p>\n <p><code>EQ | LE | LT | GE | GT | BEGINS_WITH | BETWEEN</code></p>\n <p>Valid comparison operators for Scan:</p>\n <p><code>EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN</code></p>\n <p>For\n information on specifying data types in JSON, see <a href=\"http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataFormat.html\">JSON\n Data Format</a> in the Amazon DynamoDB Developer Guide.</p>\n <p>The following are descriptions of each comparison operator.</p>\n <ul>\n <li>\n <p><code>EQ</code> : Equal. </p>\n <p><i>AttributeValueList</i> can contain only one <i>AttributeValue</i> of type String,\n Number, or Binary (not a set). If an item contains an <i>AttributeValue</i> of a different\n type than the one specified in the request, the value does not match. For example,\n <code>{\"S\":\"6\"}</code> does not equal <code>{\"N\":\"6\"}</code>. Also,\n <code>{\"N\":\"6\"}</code> does not equal <code>{\"NS\":[\"6\", \"2\", \"1\"]}</code>.</p>\n <p></p>\n </li>\n <li>\n <p><code>NE</code> : Not equal. </p>\n <p><i>AttributeValueList</i> can contain only one <i>AttributeValue</i> of type String,\n Number, or Binary (not a set). If an item contains an <i>AttributeValue</i> of a different\n type than the one specified in the request, the value does not match. For example,\n <code>{\"S\":\"6\"}</code> does not equal <code>{\"N\":\"6\"}</code>. Also,\n <code>{\"N\":\"6\"}</code> does not equal <code>{\"NS\":[\"6\", \"2\", \"1\"]}</code>.</p>\n <p></p>\n </li>\n <li>\n <p><code>LE</code> : Less than or equal. </p>\n <p><i>AttributeValueList</i> can contain only one <i>AttributeValue</i> of type String,\n Number, or Binary (not a set). If an item contains an <i>AttributeValue</i> of a different\n type than the one specified in the request, the value does not match. For example,\n <code>{\"S\":\"6\"}</code> does not equal <code>{\"N\":\"6\"}</code>. Also,\n <code>{\"N\":\"6\"}</code> does not compare to <code>{\"NS\":[\"6\", \"2\", \"1\"]}</code>.</p>\n <p></p>\n </li>\n <li>\n <p><code>LT</code> : Less than. </p>\n <p><i>AttributeValueList</i> can contain only one <i>AttributeValue</i> of type String,\n Number, or Binary (not a set). If an item contains an <i>AttributeValue</i> of a different\n type than the one specified in the request, the value does not match. For example,\n <code>{\"S\":\"6\"}</code> does not equal <code>{\"N\":\"6\"}</code>. Also,\n <code>{\"N\":\"6\"}</code> does not compare to <code>{\"NS\":[\"6\", \"2\", \"1\"]}</code>.</p>\n <p></p>\n </li>\n <li>\n <p><code>GE</code> : Greater than or equal. </p>\n <p><i>AttributeValueList</i> can contain only one <i>AttributeValue</i> of type String,\n Number, or Binary (not a set). If an item contains an <i>AttributeValue</i> of a different\n type than the one specified in the request, the value does not match. For example,\n <code>{\"S\":\"6\"}</code> does not equal <code>{\"N\":\"6\"}</code>. Also,\n <code>{\"N\":\"6\"}</code> does not compare to <code>{\"NS\":[\"6\", \"2\", \"1\"]}</code>.</p>\n <p></p>\n </li>\n <li>\n <p><code>GT</code> : Greater than. </p>\n <p><i>AttributeValueList</i> can contain only one <i>AttributeValue</i> of type String,\n Number, or Binary (not a set). If an item contains an <i>AttributeValue</i> of a different\n type than the one specified in the request, the value does not match. For example,\n <code>{\"S\":\"6\"}</code> does not equal <code>{\"N\":\"6\"}</code>. Also,\n <code>{\"N\":\"6\"}</code> does not compare to <code>{\"NS\":[\"6\", \"2\", \"1\"]}</code>.</p>\n <p></p>\n </li>\n <li>\n <p><code>NOT_NULL</code> : The attribute exists. </p>\n </li>\n <li>\n <p><code>NULL</code> : The attribute does not exist. </p>\n </li>\n <li>\n <p><code>CONTAINS</code> : checks for a subsequence, or value in a set.</p>\n <p><i>AttributeValueList</i> can contain only one <i>AttributeValue</i> of type String,\n Number, or Binary (not a set). If the target attribute of the comparison is a String, then\n the operation checks for a substring match. If the target attribute of the comparison is\n Binary, then the operation looks for a subsequence of the target that matches the input.\n If the target attribute of the comparison is a set (\"SS\", \"NS\", or \"BS\"), then the\n operation checks for a member of the set (not as a substring).</p>\n </li>\n <li>\n <p><code>NOT_CONTAINS</code> : checks for absence of a subsequence, or absence of a value in\n a set.</p>\n <p><i>AttributeValueList</i> can contain only one <i>AttributeValue</i> of type String,\n Number, or Binary (not a set). If the target attribute of the comparison is a String, then\n the operation checks for the absence of a substring match. If the target attribute of the\n comparison is Binary, then the operation checks for the absence of a subsequence of the\n target that matches the input. If the target attribute of the comparison is a set (\"SS\",\n \"NS\", or \"BS\"), then the operation checks for the absence of a member of the set (not as a\n substring).</p>\n </li>\n <li>\n <p><code>BEGINS_WITH</code> : checks for a prefix. </p>\n <p><i>AttributeValueList</i> can contain only one <i>AttributeValue</i> of type String or\n Binary (not a Number or a set). The target attribute of the comparison must be a String or\n Binary (not a Number or a set).</p>\n <p></p>\n </li>\n <li>\n <p><code>IN</code> : checks for exact matches.</p>\n <p><i>AttributeValueList</i> can contain more than one <i>AttributeValue</i> of type String,\n Number, or Binary (not a set). The target attribute of the comparison must be of the same\n type and exact value to match. A String never matches a String set.</p>\n </li>\n <li>\n <p><code>BETWEEN</code> : Greater than or equal to the first value, and less than or equal\n to the second value. </p>\n <p><i>AttributeValueList</i> must contain two <i>AttributeValue</i> elements of the same\n type, either String, Number, or Binary (not a set). A target attribute matches if the\n target value is greater than, or equal to, the first element and less than, or equal to,\n the second element. If an item contains an <i>AttributeValue</i> of a different type than\n the one specified in the request, the value does not match. For example,\n <code>{\"S\":\"6\"}</code> does not compare to <code>{\"N\":\"6\"}</code>. Also,\n <code>{\"N\":\"6\"}</code> does not compare to <code>{\"NS\":[\"6\", \"2\", \"1\"]}</code></p>\n </li>\n </ul>\n ",
4423
+ "required": true
4424
+ }
4425
+ },
4426
+ "documentation": "\n <p>Represents a selection criteria for a <i>Query</i> or <i>Scan</i> operation.</p>\n <ul>\n <li>\n <p>For a <i>Query</i> operation, the condition specifies the key attributes to use when\n querying a table or an index.</p>\n </li>\n <li>\n <p>For a <i>Scan</i> operation, the condition is used to evaluate the scan results and\n return only the desired values.</p>\n </li>\n </ul>\n <p>Multiple conditions are \"ANDed\" together. In other words, all of the conditions must be met\n to be included in the output.</p>\n "
4427
+ },
4428
+ "documentation": null
4429
+ },
4430
+ "ConditionalOperator": {
4431
+ "shape_name": "ConditionalOperator",
4432
+ "type": "string",
4433
+ "enum": [
4434
+ "AND",
4435
+ "OR"
4436
+ ],
4437
+ "documentation": null
4438
+ },
4139
4439
  "ScanIndexForward": {
4140
4440
  "shape_name": "BooleanObject",
4141
4441
  "type": "boolean",
@@ -4147,6 +4447,7 @@
4147
4447
  "keys": {
4148
4448
  "shape_name": "AttributeName",
4149
4449
  "type": "string",
4450
+ "max_length": 65535,
4150
4451
  "documentation": null
4151
4452
  },
4152
4453
  "members": {
@@ -4229,6 +4530,7 @@
4229
4530
  "keys": {
4230
4531
  "shape_name": "AttributeName",
4231
4532
  "type": "string",
4533
+ "max_length": 65535,
4232
4534
  "documentation": null
4233
4535
  },
4234
4536
  "members": {
@@ -4292,12 +4594,18 @@
4292
4594
  "type": "integer",
4293
4595
  "documentation": "\n <p>The number of items in the response.</p>\n "
4294
4596
  },
4597
+ "ScannedCount": {
4598
+ "shape_name": "Integer",
4599
+ "type": "integer",
4600
+ "documentation": null
4601
+ },
4295
4602
  "LastEvaluatedKey": {
4296
4603
  "shape_name": "Key",
4297
4604
  "type": "map",
4298
4605
  "keys": {
4299
4606
  "shape_name": "AttributeName",
4300
4607
  "type": "string",
4608
+ "max_length": 65535,
4301
4609
  "documentation": null
4302
4610
  },
4303
4611
  "members": {
@@ -4500,6 +4808,7 @@
4500
4808
  "members": {
4501
4809
  "shape_name": "AttributeName",
4502
4810
  "type": "string",
4811
+ "max_length": 65535,
4503
4812
  "documentation": null
4504
4813
  },
4505
4814
  "min_length": 1,
@@ -4528,6 +4837,7 @@
4528
4837
  "keys": {
4529
4838
  "shape_name": "AttributeName",
4530
4839
  "type": "string",
4840
+ "max_length": 65535,
4531
4841
  "documentation": null
4532
4842
  },
4533
4843
  "members": {
@@ -4617,12 +4927,22 @@
4617
4927
  },
4618
4928
  "documentation": "\n <p>Evaluates the scan results and returns only the desired values. Multiple conditions are\n treated as \"AND\" operations: all conditions must be met to be included in the results.</p>\n <p>Each <i>ScanConditions</i> element consists of an attribute name to compare, along with the following:</p>\n <ul>\n <li>\n<p><i>AttributeValueList</i> - One or more values to evaluate against the supplied attribute. This list contains\n exactly one value, except for a <code>BETWEEN</code> or <code>IN</code> comparison, in which\n case the list contains two values.</p>\n <note>\n <p>For type Number, value comparisons are numeric.</p>\n <p>String value comparisons for greater than, equals, or less than are based on ASCII\n character code values. For example, <code>a</code> is greater than <code>A</code>, and\n <code>aa</code> is greater than <code>B</code>. For a list of code values, see <a href=\"http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters\">http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters</a>.</p>\n <p>For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary\n values, for example when evaluating query expressions.</p>\n </note>\n </li>\n <li>\n<p><i>ComparisonOperator</i> - A comparator for evaluating attributes. For example, equals, greater than, less\n than, etc.</p>\n <p>Valid comparison operators for Scan:</p>\n <p><code>EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN</code></p>\n \n <p>For\n information on specifying data types in JSON, see <a href=\"http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataFormat.html\">JSON\n Data Format</a> in the Amazon DynamoDB Developer Guide.</p>\n <p>The following are descriptions of each comparison operator.</p>\n <ul>\n <li>\n <p><code>EQ</code> : Equal. </p>\n <p><i>AttributeValueList</i> can contain only one <i>AttributeValue</i> of type String,\n Number, or Binary (not a set). If an item contains an <i>AttributeValue</i> of a different\n type than the one specified in the request, the value does not match. For example,\n <code>{\"S\":\"6\"}</code> does not equal <code>{\"N\":\"6\"}</code>. Also,\n <code>{\"N\":\"6\"}</code> does not equal <code>{\"NS\":[\"6\", \"2\", \"1\"]}</code>.</p>\n <p></p>\n </li>\n <li>\n <p><code>NE</code> : Not equal. </p>\n <p><i>AttributeValueList</i> can contain only one <i>AttributeValue</i> of type String,\n Number, or Binary (not a set). If an item contains an <i>AttributeValue</i> of a different\n type than the one specified in the request, the value does not match. For example,\n <code>{\"S\":\"6\"}</code> does not equal <code>{\"N\":\"6\"}</code>. Also,\n <code>{\"N\":\"6\"}</code> does not equal <code>{\"NS\":[\"6\", \"2\", \"1\"]}</code>.</p>\n <p></p>\n </li>\n <li>\n <p><code>LE</code> : Less than or equal. </p>\n <p><i>AttributeValueList</i> can contain only one <i>AttributeValue</i> of type String,\n Number, or Binary (not a set). If an item contains an <i>AttributeValue</i> of a different\n type than the one specified in the request, the value does not match. For example,\n <code>{\"S\":\"6\"}</code> does not equal <code>{\"N\":\"6\"}</code>. Also,\n <code>{\"N\":\"6\"}</code> does not compare to <code>{\"NS\":[\"6\", \"2\", \"1\"]}</code>.</p>\n <p></p>\n </li>\n <li>\n <p><code>LT</code> : Less than. </p>\n <p><i>AttributeValueList</i> can contain only one <i>AttributeValue</i> of type String,\n Number, or Binary (not a set). If an item contains an <i>AttributeValue</i> of a different\n type than the one specified in the request, the value does not match. For example,\n <code>{\"S\":\"6\"}</code> does not equal <code>{\"N\":\"6\"}</code>. Also,\n <code>{\"N\":\"6\"}</code> does not compare to <code>{\"NS\":[\"6\", \"2\", \"1\"]}</code>.</p>\n <p></p>\n </li>\n <li>\n <p><code>GE</code> : Greater than or equal. </p>\n <p><i>AttributeValueList</i> can contain only one <i>AttributeValue</i> of type String,\n Number, or Binary (not a set). If an item contains an <i>AttributeValue</i> of a different\n type than the one specified in the request, the value does not match. For example,\n <code>{\"S\":\"6\"}</code> does not equal <code>{\"N\":\"6\"}</code>. Also,\n <code>{\"N\":\"6\"}</code> does not compare to <code>{\"NS\":[\"6\", \"2\", \"1\"]}</code>.</p>\n <p></p>\n </li>\n <li>\n <p><code>GT</code> : Greater than. </p>\n <p><i>AttributeValueList</i> can contain only one <i>AttributeValue</i> of type String,\n Number, or Binary (not a set). If an item contains an <i>AttributeValue</i> of a different\n type than the one specified in the request, the value does not match. For example,\n <code>{\"S\":\"6\"}</code> does not equal <code>{\"N\":\"6\"}</code>. Also,\n <code>{\"N\":\"6\"}</code> does not compare to <code>{\"NS\":[\"6\", \"2\", \"1\"]}</code>.</p>\n <p></p>\n </li>\n <li>\n <p><code>NOT_NULL</code> : The attribute exists. </p>\n </li>\n <li>\n <p><code>NULL</code> : The attribute does not exist. </p>\n </li>\n <li>\n <p><code>CONTAINS</code> : checks for a subsequence, or value in a set.</p>\n <p><i>AttributeValueList</i> can contain only one <i>AttributeValue</i> of type String,\n Number, or Binary (not a set). If the target attribute of the comparison is a String, then\n the operation checks for a substring match. If the target attribute of the comparison is\n Binary, then the operation looks for a subsequence of the target that matches the input.\n If the target attribute of the comparison is a set (\"SS\", \"NS\", or \"BS\"), then the\n operation checks for a member of the set (not as a substring).</p>\n </li>\n <li>\n <p><code>NOT_CONTAINS</code> : checks for absence of a subsequence, or absence of a value in\n a set.</p>\n <p><i>AttributeValueList</i> can contain only one <i>AttributeValue</i> of type String,\n Number, or Binary (not a set). If the target attribute of the comparison is a String, then\n the operation checks for the absence of a substring match. If the target attribute of the\n comparison is Binary, then the operation checks for the absence of a subsequence of the\n target that matches the input. If the target attribute of the comparison is a set (\"SS\",\n \"NS\", or \"BS\"), then the operation checks for the absence of a member of the set (not as a\n substring).</p>\n </li>\n <li>\n <p><code>BEGINS_WITH</code> : checks for a prefix. </p>\n <p><i>AttributeValueList</i> can contain only one <i>AttributeValue</i> of type String or\n Binary (not a Number or a set). The target attribute of the comparison must be a String or\n Binary (not a Number or a set).</p>\n <p></p>\n </li>\n <li>\n <p><code>IN</code> : checks for exact matches.</p>\n <p><i>AttributeValueList</i> can contain more than one <i>AttributeValue</i> of type String,\n Number, or Binary (not a set). The target attribute of the comparison must be of the same\n type and exact value to match. A String never matches a String set.</p>\n </li>\n <li>\n <p><code>BETWEEN</code> : Greater than or equal to the first value, and less than or equal\n to the second value. </p>\n <p><i>AttributeValueList</i> must contain two <i>AttributeValue</i> elements of the same\n type, either String, Number, or Binary (not a set). A target attribute matches if the\n target value is greater than, or equal to, the first element and less than, or equal to,\n the second element. If an item contains an <i>AttributeValue</i> of a different type than\n the one specified in the request, the value does not match. For example,\n <code>{\"S\":\"6\"}</code> does not compare to <code>{\"N\":\"6\"}</code>. Also,\n <code>{\"N\":\"6\"}</code> does not compare to <code>{\"NS\":[\"6\", \"2\", \"1\"]}</code></p>\n </li>\n </ul>\n </li>\n </ul>\n "
4619
4929
  },
4930
+ "ConditionalOperator": {
4931
+ "shape_name": "ConditionalOperator",
4932
+ "type": "string",
4933
+ "enum": [
4934
+ "AND",
4935
+ "OR"
4936
+ ],
4937
+ "documentation": null
4938
+ },
4620
4939
  "ExclusiveStartKey": {
4621
4940
  "shape_name": "Key",
4622
4941
  "type": "map",
4623
4942
  "keys": {
4624
4943
  "shape_name": "AttributeName",
4625
4944
  "type": "string",
4945
+ "max_length": 65535,
4626
4946
  "documentation": null
4627
4947
  },
4628
4948
  "members": {
@@ -4693,14 +5013,14 @@
4693
5013
  "shape_name": "ScanTotalSegments",
4694
5014
  "type": "integer",
4695
5015
  "min_length": 1,
4696
- "max_length": 4096,
5016
+ "max_length": 1000000,
4697
5017
  "documentation": "\n <p>For a parallel <i>Scan</i> request, <i>TotalSegments</i> represents the total number of segments into which the <i>Scan</i> operation will be divided. The value of <i>TotalSegments</i>\n corresponds to the number of application workers that will\n perform the parallel scan. For example, if you want to scan a table using four\n application threads, you would specify a <i>TotalSegments</i> value of 4.</p>\n <p>The value for <i>TotalSegments</i> must be greater than or equal to 1, and less than or equal\n to 4096. If you specify a <i>TotalSegments</i> value of 1, the <i>Scan</i> will be sequential\n rather than parallel.</p>\n <p>If you specify <i>TotalSegments</i>, you must also specify <i>Segment</i>.</p>\n"
4698
5018
  },
4699
5019
  "Segment": {
4700
5020
  "shape_name": "ScanSegment",
4701
5021
  "type": "integer",
4702
5022
  "min_length": 0,
4703
- "max_length": 4095,
5023
+ "max_length": 999999,
4704
5024
  "documentation": "\n <p>For a parallel <i>Scan</i> request, <i>Segment</i> identifies an individual segment to be scanned by an application worker.</p>\n <p>Segment IDs are zero-based, so the first segment is always 0. For example, if you want to\n scan a table using four application threads, the first thread would specify a <i>Segment</i>\n value of 0, the second thread would specify 1, and so on.</p>\n <p>The value of <i>LastEvaluatedKey</i> returned from a parallel <i>Scan</i> request must be used as <i>ExclusiveStartKey</i> with the same Segment ID in a subsequent <i>Scan</i> operation.</p>\n <p>The value for <i>Segment</i> must be greater than or equal to 0, and less than the value provided for <i>TotalSegments</i>.</p>\n <p>If you specify <i>Segment</i>, you must also specify <i>TotalSegments</i>.</p>\n "
4705
5025
  }
4706
5026
  },
@@ -4719,6 +5039,7 @@
4719
5039
  "keys": {
4720
5040
  "shape_name": "AttributeName",
4721
5041
  "type": "string",
5042
+ "max_length": 65535,
4722
5043
  "documentation": null
4723
5044
  },
4724
5045
  "members": {
@@ -4793,6 +5114,7 @@
4793
5114
  "keys": {
4794
5115
  "shape_name": "AttributeName",
4795
5116
  "type": "string",
5117
+ "max_length": 65535,
4796
5118
  "documentation": null
4797
5119
  },
4798
5120
  "members": {
@@ -4995,6 +5317,7 @@
4995
5317
  "keys": {
4996
5318
  "shape_name": "AttributeName",
4997
5319
  "type": "string",
5320
+ "max_length": 65535,
4998
5321
  "documentation": null
4999
5322
  },
5000
5323
  "members": {
@@ -5058,6 +5381,7 @@
5058
5381
  "keys": {
5059
5382
  "shape_name": "AttributeName",
5060
5383
  "type": "string",
5384
+ "max_length": 65535,
5061
5385
  "documentation": null
5062
5386
  },
5063
5387
  "members": {
@@ -5137,6 +5461,7 @@
5137
5461
  "keys": {
5138
5462
  "shape_name": "AttributeName",
5139
5463
  "type": "string",
5464
+ "max_length": 65535,
5140
5465
  "documentation": null
5141
5466
  },
5142
5467
  "members": {
@@ -5199,12 +5524,98 @@
5199
5524
  "shape_name": "BooleanObject",
5200
5525
  "type": "boolean",
5201
5526
  "documentation": "\n <p>Causes DynamoDB to evaluate the value before attempting a conditional operation:</p>\n <ul>\n <li>\n <p>If <i>Exists</i> is <code>true</code>, DynamoDB will check to see if that attribute\n value already exists in the table. If it is found, then the operation\n succeeds. If it is not found, the operation fails with a\n <i>ConditionalCheckFailedException</i>.</p>\n </li>\n <li>\n <p>If <i>Exists</i> is <code>false</code>, DynamoDB assumes that the attribute value does\n <i>not</i> exist in the table. If in fact the value does not exist, then the\n assumption is valid and the operation succeeds. If the value is found,\n despite the assumption that it does not exist, the operation fails with a\n <i>ConditionalCheckFailedException</i>.</p>\n </li>\n </ul>\n <p>The default setting for <i>Exists</i> is <code>true</code>. If you supply a <i>Value</i> all\n by itself, DynamoDB assumes the attribute exists: You don't have to set <i>Exists</i> to\n <code>true</code>, because it is implied.</p>\n <p>DynamoDB returns a <i>ValidationException</i> if:</p>\n <ul>\n <li>\n <p><i>Exists</i> is <code>true</code> but there is no <i>Value</i> to check. (You expect\n a value to exist, but don't specify what that value is.)</p>\n </li>\n <li>\n <p><i>Exists</i> is <code>false</code> but you also specify a <i>Value</i>. (You cannot\n expect an attribute to have a value, while also expecting it not to exist.)</p>\n </li>\n </ul>\n <p>If you specify more than one condition for <i>Exists</i>, then all of the conditions must\n evaluate to true. (In other words, the conditions are ANDed together.) Otherwise, the\n conditional operation will fail.</p>\n "
5527
+ },
5528
+ "ComparisonOperator": {
5529
+ "shape_name": "ComparisonOperator",
5530
+ "type": "string",
5531
+ "enum": [
5532
+ "EQ",
5533
+ "NE",
5534
+ "IN",
5535
+ "LE",
5536
+ "LT",
5537
+ "GE",
5538
+ "GT",
5539
+ "BETWEEN",
5540
+ "NOT_NULL",
5541
+ "NULL",
5542
+ "CONTAINS",
5543
+ "NOT_CONTAINS",
5544
+ "BEGINS_WITH"
5545
+ ],
5546
+ "documentation": null
5547
+ },
5548
+ "AttributeValueList": {
5549
+ "shape_name": "AttributeValueList",
5550
+ "type": "list",
5551
+ "members": {
5552
+ "shape_name": "AttributeValue",
5553
+ "type": "structure",
5554
+ "members": {
5555
+ "S": {
5556
+ "shape_name": "StringAttributeValue",
5557
+ "type": "string",
5558
+ "documentation": "\n <p>A String data type</p>\n "
5559
+ },
5560
+ "N": {
5561
+ "shape_name": "NumberAttributeValue",
5562
+ "type": "string",
5563
+ "documentation": "\n <p>A Number data type</p>\n "
5564
+ },
5565
+ "B": {
5566
+ "shape_name": "BinaryAttributeValue",
5567
+ "type": "blob",
5568
+ "documentation": "\n <p>A Binary data type</p>\n "
5569
+ },
5570
+ "SS": {
5571
+ "shape_name": "StringSetAttributeValue",
5572
+ "type": "list",
5573
+ "members": {
5574
+ "shape_name": "StringAttributeValue",
5575
+ "type": "string",
5576
+ "documentation": null
5577
+ },
5578
+ "documentation": "\n <p>A String set data type</p>\n "
5579
+ },
5580
+ "NS": {
5581
+ "shape_name": "NumberSetAttributeValue",
5582
+ "type": "list",
5583
+ "members": {
5584
+ "shape_name": "NumberAttributeValue",
5585
+ "type": "string",
5586
+ "documentation": null
5587
+ },
5588
+ "documentation": "\n <p> Number set data type</p>\n "
5589
+ },
5590
+ "BS": {
5591
+ "shape_name": "BinarySetAttributeValue",
5592
+ "type": "list",
5593
+ "members": {
5594
+ "shape_name": "BinaryAttributeValue",
5595
+ "type": "blob",
5596
+ "documentation": null
5597
+ },
5598
+ "documentation": "\n <p>A Binary set data type</p>\n "
5599
+ }
5600
+ },
5601
+ "documentation": "\n <p>Represents the data for an attribute. You can set one, and only one, of the elements.</p>\n "
5602
+ },
5603
+ "documentation": null
5202
5604
  }
5203
5605
  },
5204
5606
  "documentation": "\n <p>Represents an attribute value used with conditional <i>DeleteItem</i>, <i>PutItem</i> or <i>UpdateItem</i> operations. DynamoDB will check to see if the attribute value already exists; or if the attribute exists and has a particular value before updating it.</p>\n "
5205
5607
  },
5206
5608
  "documentation": "\n <p>A map of attribute/condition pairs. This is the conditional block for the <i>UpdateItem</i> operation. All the conditions must be met for the operation to succeed.</p>\n <p><i>Expected</i> allows you to\n provide an attribute name, and whether or not DynamoDB should check to see if the attribute value\n already exists; or if the attribute value exists and has a particular value before changing\n it.</p>\n <p>Each item in <i>Expected</i> represents an attribute name for DynamoDB to check, along with\n the following: </p>\n <ul>\n <li>\n <p><i>Value</i> - A value for DynamoDB to compare with an attribute. When performing the comparison, strongly consistent reads are used.</p>\n </li>\n <li>\n <p><i>Exists</i> - Causes DynamoDB to evaluate the value before attempting a conditional\n operation:</p>\n <ul>\n <li>\n <p>If <i>Exists</i> is <code>true</code>, DynamoDB will check to see if that attribute\n value already exists in the table. If it is found, then the operation\n succeeds. If it is not found, the operation fails with a\n <i>ConditionalCheckFailedException</i>.</p>\n </li>\n <li>\n <p>If <i>Exists</i> is <code>false</code>, DynamoDB assumes that the attribute value does\n <i>not</i> exist in the table. If in fact the value does not exist, then the\n assumption is valid and the operation succeeds. If the value is found,\n despite the assumption that it does not exist, the operation fails with a\n <i>ConditionalCheckFailedException</i>.</p>\n </li>\n </ul>\n <p>The default setting for <i>Exists</i> is <code>true</code>. If you supply a <i>Value</i>\n all by itself, DynamoDB assumes the attribute exists: You don't have to set <i>Exists</i> to <code>true</code>, because it is\n implied.</p>\n <p>DynamoDB returns a <i>ValidationException</i> if:</p>\n <ul>\n <li>\n <p><i>Exists</i> is <code>true</code> but there is no <i>Value</i> to check. (You expect\n a value to exist, but don't specify what that value is.)</p>\n </li>\n <li>\n <p><i>Exists</i> is <code>false</code> but you also specify a <i>Value</i>. (You cannot\n expect an attribute to have a value, while also expecting it not to exist.)</p>\n </li>\n </ul>\n </li>\n </ul>\n <p>If you specify more than one condition for <i>Exists</i>, then all of the conditions must\n evaluate to true. (In other words, the conditions are ANDed together.) Otherwise, the\n conditional operation will fail.</p>\n\n "
5207
5609
  },
5610
+ "ConditionalOperator": {
5611
+ "shape_name": "ConditionalOperator",
5612
+ "type": "string",
5613
+ "enum": [
5614
+ "AND",
5615
+ "OR"
5616
+ ],
5617
+ "documentation": null
5618
+ },
5208
5619
  "ReturnValues": {
5209
5620
  "shape_name": "ReturnValue",
5210
5621
  "type": "string",
@@ -5249,6 +5660,7 @@
5249
5660
  "keys": {
5250
5661
  "shape_name": "AttributeName",
5251
5662
  "type": "string",
5663
+ "max_length": 65535,
5252
5664
  "documentation": null
5253
5665
  },
5254
5666
  "members": {
@@ -5397,6 +5809,7 @@
5397
5809
  "keys": {
5398
5810
  "shape_name": "AttributeName",
5399
5811
  "type": "string",
5812
+ "max_length": 65535,
5400
5813
  "documentation": null
5401
5814
  },
5402
5815
  "members": {