fake_dynamo 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color --backtrace
data/Gemfile ADDED
@@ -0,0 +1,11 @@
1
+ source 'https://rubygems.org'
2
+ gemspec
3
+
4
+ group :development do
5
+ gem 'rspec'
6
+ gem 'rack-test'
7
+ gem 'pry'
8
+ gem 'simplecov'
9
+ gem 'guard-rspec'
10
+ gem 'growl'
11
+ end
data/Guardfile ADDED
@@ -0,0 +1,19 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ guard 'rspec', :version => 2 do
5
+ watch(%r{^spec/.+_spec\.rb$})
6
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
7
+ watch('spec/spec_helper.rb') { "spec" }
8
+
9
+ # Rails example
10
+ watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
11
+ watch(%r{^app/(.*)(\.erb|\.haml)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
12
+ watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
13
+ watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
14
+ watch('config/routes.rb') { "spec/routing" }
15
+ watch('app/controllers/application_controller.rb') { "spec/controllers" }
16
+ # Capybara request specs
17
+ watch(%r{^app/views/(.+)/.*\.(erb|haml)$}) { |m| "spec/requests/#{m[1]}_spec.rb" }
18
+ end
19
+
data/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2012 Anantha Kumaran
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,4 @@
1
+ # FakeDynamo
2
+
3
+ local hosted, inmemory fake dynamodb
4
+
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env rake
2
+ require "bundler/gem_tasks"
data/bin/fake_dynamo ADDED
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env ruby
2
+ $:.unshift(File.dirname(__FILE__) + '/../lib')
3
+
4
+ require 'fake_dynamo'
5
+ require 'optparse'
6
+
7
+ options = {:port => 4567}
8
+ OptionParser.new do |opts|
9
+ opts.banner = "Usage: fake_dynamo [options]"
10
+
11
+ opts.on("-p", "--port PORT") do |v|
12
+ options[:port] = v
13
+ end
14
+ end.parse!
15
+
16
+ FakeDynamo::Storage.instance.load_aof
17
+ FakeDynamo::Server.run!(:port => options[:port])
@@ -0,0 +1,18 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require File.expand_path('../lib/fake_dynamo/version', __FILE__)
3
+
4
+ Gem::Specification.new do |gem|
5
+ gem.authors = ["Anantha Kumaran"]
6
+ gem.email = ["ananthakumaran@gmail.com"]
7
+ gem.summary = "local hosted, inmemory fake dynamodb"
8
+
9
+ gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
10
+ gem.files = `git ls-files`.split("\n")
11
+ gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
12
+ gem.name = "fake_dynamo"
13
+ gem.require_paths = ["lib"]
14
+ gem.version = FakeDynamo::VERSION
15
+
16
+ gem.add_dependency 'sinatra'
17
+ gem.add_dependency 'activesupport'
18
+ end
@@ -0,0 +1,20 @@
1
+ require 'fake_dynamo/version'
2
+ require 'json'
3
+ require 'active_support/inflector'
4
+ require 'active_support/core_ext/class/attribute'
5
+ require 'fake_dynamo/exceptions'
6
+ require 'fake_dynamo/validation'
7
+ require 'fake_dynamo/filter'
8
+ require 'fake_dynamo/attribute'
9
+ require 'fake_dynamo/key_schema'
10
+ require 'fake_dynamo/item'
11
+ require 'fake_dynamo/key'
12
+ require 'fake_dynamo/table'
13
+ require 'fake_dynamo/db'
14
+ require 'fake_dynamo/storage'
15
+ require 'fake_dynamo/server'
16
+ require 'pp'
17
+
18
+ at_exit {
19
+ FakeDynamo::Storage.instance.shutdown
20
+ }
@@ -0,0 +1,734 @@
1
+ # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"). You
4
+ # may not use this file except in compliance with the License. A copy of
5
+ # the License is located at
6
+ #
7
+ # http://aws.amazon.com/apache2.0/
8
+ #
9
+ # or in the "license" file accompanying this file. This file is
10
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ # ANY KIND, either express or implied. See the License for the specific
12
+ # language governing permissions and limitations under the License.
13
+
14
+ ---
15
+ :operations:
16
+ GetItem:
17
+ :input:
18
+ TableName:
19
+ - :string
20
+ - :pattern: !ruby/regexp /[a-zA-Z0-9_.-]+/
21
+ - :within: !ruby/range 3..255
22
+ - :required
23
+ Key:
24
+ - :structure:
25
+ HashKeyElement:
26
+ - :structure:
27
+ S:
28
+ - :string
29
+ N:
30
+ - :string
31
+ SS:
32
+ - :list:
33
+ - :string
34
+ NS:
35
+ - :list:
36
+ - :string
37
+ - :required
38
+ RangeKeyElement:
39
+ - :structure:
40
+ S:
41
+ - :string
42
+ N:
43
+ - :string
44
+ SS:
45
+ - :list:
46
+ - :string
47
+ NS:
48
+ - :list:
49
+ - :string
50
+ - :required
51
+ AttributesToGet:
52
+ - :list:
53
+ - :string
54
+ ConsistentRead:
55
+ - :boolean
56
+ :output:
57
+ - Item:
58
+ - :map:
59
+ - entry
60
+ - key
61
+ - value
62
+ - entry:
63
+ - value:
64
+ - SS:
65
+ - :list: member
66
+ - NS:
67
+ - :list: member
68
+ - ConsumedCapacityUnits:
69
+ - :float
70
+ BatchGetItem:
71
+ :input:
72
+ RequestItems:
73
+ - :map:
74
+ :key:
75
+ - :string
76
+ :value:
77
+ - :structure:
78
+ Keys:
79
+ - :list:
80
+ - :structure:
81
+ HashKeyElement:
82
+ - :structure:
83
+ S:
84
+ - :string
85
+ N:
86
+ - :string
87
+ SS:
88
+ - :list:
89
+ - :string
90
+ NS:
91
+ - :list:
92
+ - :string
93
+ - :required
94
+ RangeKeyElement:
95
+ - :structure:
96
+ S:
97
+ - :string
98
+ N:
99
+ - :string
100
+ SS:
101
+ - :list:
102
+ - :string
103
+ NS:
104
+ - :list:
105
+ - :string
106
+ - :required
107
+ AttributesToGet:
108
+ - :list:
109
+ - :string
110
+ - :required
111
+ :output:
112
+ - Responses:
113
+ - :map:
114
+ - entry
115
+ - key
116
+ - value
117
+ - entry:
118
+ - value:
119
+ - Items:
120
+ - :list: member
121
+ - member:
122
+ - :map:
123
+ - entry
124
+ - key
125
+ - value
126
+ - entry:
127
+ - value:
128
+ - SS:
129
+ - :list: member
130
+ - NS:
131
+ - :list: member
132
+ - ConsumedCapacityUnits:
133
+ - :float
134
+ - UnprocessedKeys:
135
+ - :map:
136
+ - entry
137
+ - key
138
+ - value
139
+ - entry:
140
+ - value:
141
+ - Keys:
142
+ - :list: member
143
+ - member:
144
+ - HashKeyElement:
145
+ - SS:
146
+ - :list: member
147
+ - NS:
148
+ - :list: member
149
+ - RangeKeyElement:
150
+ - SS:
151
+ - :list: member
152
+ - NS:
153
+ - :list: member
154
+ - AttributesToGet:
155
+ - :list: member
156
+ PutItem:
157
+ :input:
158
+ TableName:
159
+ - :string
160
+ - :pattern: !ruby/regexp /[a-zA-Z0-9_.-]+/
161
+ - :within: !ruby/range 3..255
162
+ - :required
163
+ Item:
164
+ - :map:
165
+ :key:
166
+ - :string
167
+ :value:
168
+ - :structure:
169
+ S:
170
+ - :string
171
+ N:
172
+ - :string
173
+ SS:
174
+ - :list:
175
+ - :string
176
+ NS:
177
+ - :list:
178
+ - :string
179
+ - :required
180
+ Expected:
181
+ - :map:
182
+ :key:
183
+ - :string
184
+ :value:
185
+ - :structure:
186
+ Value:
187
+ - :structure:
188
+ S:
189
+ - :string
190
+ N:
191
+ - :string
192
+ SS:
193
+ - :list:
194
+ - :string
195
+ NS:
196
+ - :list:
197
+ - :string
198
+ Exists:
199
+ - :boolean
200
+ ReturnValues:
201
+ - :string
202
+ - :enum: [ALL_NEW, UPDATED_OLD, ALL_OLD, NONE, UPDATED_NEW]
203
+ :output:
204
+ - Attributes:
205
+ - :map:
206
+ - entry
207
+ - key
208
+ - value
209
+ - entry:
210
+ - value:
211
+ - SS:
212
+ - :list: member
213
+ - NS:
214
+ - :list: member
215
+ - ConsumedCapacityUnits:
216
+ - :float
217
+ DeleteItem:
218
+ :input:
219
+ TableName:
220
+ - :string
221
+ - :pattern: !ruby/regexp /[a-zA-Z0-9_.-]+/
222
+ - :within: !ruby/range 3..255
223
+ - :required
224
+ Key:
225
+ - :structure:
226
+ HashKeyElement:
227
+ - :structure:
228
+ S:
229
+ - :string
230
+ N:
231
+ - :string
232
+ SS:
233
+ - :list:
234
+ - :string
235
+ NS:
236
+ - :list:
237
+ - :string
238
+ - :required
239
+ RangeKeyElement:
240
+ - :structure:
241
+ S:
242
+ - :string
243
+ N:
244
+ - :string
245
+ SS:
246
+ - :list:
247
+ - :string
248
+ NS:
249
+ - :list:
250
+ - :string
251
+ - :required
252
+ Expected:
253
+ - :map:
254
+ :key:
255
+ - :string
256
+ :value:
257
+ - :structure:
258
+ Value:
259
+ - :structure:
260
+ S:
261
+ - :string
262
+ N:
263
+ - :string
264
+ SS:
265
+ - :list:
266
+ - :string
267
+ NS:
268
+ - :list:
269
+ - :string
270
+ Exists:
271
+ - :boolean
272
+ ReturnValues:
273
+ - :string
274
+ - :enum: [ALL_NEW, UPDATED_OLD, ALL_OLD, NONE, UPDATED_NEW]
275
+ :output:
276
+ - Attributes:
277
+ - :map:
278
+ - entry
279
+ - key
280
+ - value
281
+ - entry:
282
+ - value:
283
+ - SS:
284
+ - :list: member
285
+ - NS:
286
+ - :list: member
287
+ - ConsumedCapacityUnits:
288
+ - :float
289
+ UpdateItem:
290
+ :input:
291
+ TableName:
292
+ - :string
293
+ - :pattern: !ruby/regexp /[a-zA-Z0-9_.-]+/
294
+ - :within: !ruby/range 3..255
295
+ - :required
296
+ Key:
297
+ - :structure:
298
+ HashKeyElement:
299
+ - :structure:
300
+ S:
301
+ - :string
302
+ N:
303
+ - :string
304
+ SS:
305
+ - :list:
306
+ - :string
307
+ NS:
308
+ - :list:
309
+ - :string
310
+ - :required
311
+ RangeKeyElement:
312
+ - :structure:
313
+ S:
314
+ - :string
315
+ N:
316
+ - :string
317
+ SS:
318
+ - :list:
319
+ - :string
320
+ NS:
321
+ - :list:
322
+ - :string
323
+ - :required
324
+ AttributeUpdates:
325
+ - :map:
326
+ :key:
327
+ - :string
328
+ :value:
329
+ - :structure:
330
+ Value:
331
+ - :structure:
332
+ S:
333
+ - :string
334
+ N:
335
+ - :string
336
+ SS:
337
+ - :list:
338
+ - :string
339
+ NS:
340
+ - :list:
341
+ - :string
342
+ Action:
343
+ - :string
344
+ - :required
345
+ Expected:
346
+ - :map:
347
+ :key:
348
+ - :string
349
+ :value:
350
+ - :structure:
351
+ Value:
352
+ - :structure:
353
+ S:
354
+ - :string
355
+ N:
356
+ - :string
357
+ SS:
358
+ - :list:
359
+ - :string
360
+ NS:
361
+ - :list:
362
+ - :string
363
+ Exists:
364
+ - :boolean
365
+ ReturnValues:
366
+ - :string
367
+ - :enum: [ALL_NEW, UPDATED_OLD, ALL_OLD, NONE, UPDATED_NEW]
368
+ :output:
369
+ - Attributes:
370
+ - :map:
371
+ - entry
372
+ - key
373
+ - value
374
+ - entry:
375
+ - value:
376
+ - SS:
377
+ - :list: member
378
+ - NS:
379
+ - :list: member
380
+ - ConsumedCapacityUnits:
381
+ - :float
382
+ CreateTable:
383
+ :input:
384
+ TableName:
385
+ - :string
386
+ - :pattern: !ruby/regexp /[a-zA-Z0-9_.-]+/
387
+ - :within: !ruby/range 3..255
388
+ - :required
389
+ KeySchema:
390
+ - :structure:
391
+ HashKeyElement:
392
+ - :structure:
393
+ AttributeName:
394
+ - :string
395
+ - :required
396
+ AttributeType:
397
+ - :string
398
+ - :required
399
+ - :required
400
+ RangeKeyElement:
401
+ - :structure:
402
+ AttributeName:
403
+ - :string
404
+ - :required
405
+ AttributeType:
406
+ - :string
407
+ - :required
408
+ - :required
409
+ ProvisionedThroughput:
410
+ - :structure:
411
+ ReadCapacityUnits:
412
+ - :long
413
+ - :required
414
+ WriteCapacityUnits:
415
+ - :long
416
+ - :required
417
+ - :required
418
+ :output:
419
+ - TableDescription:
420
+ - CreationDateTime:
421
+ - :timestamp
422
+ - ProvisionedThroughput:
423
+ - LastIncreaseDateTime:
424
+ - :timestamp
425
+ - LastDecreaseDateTime:
426
+ - :timestamp
427
+ - ReadCapacityUnits:
428
+ - :long
429
+ - WriteCapacityUnits:
430
+ - :long
431
+ - TableSizeBytes:
432
+ - :long
433
+ - ItemCount:
434
+ - :long
435
+ UpdateTable:
436
+ :input:
437
+ TableName:
438
+ - :string
439
+ - :pattern: !ruby/regexp /[a-zA-Z0-9_.-]+/
440
+ - :within: !ruby/range 3..255
441
+ - :required
442
+ ProvisionedThroughput:
443
+ - :structure:
444
+ ReadCapacityUnits:
445
+ - :long
446
+ - :required
447
+ WriteCapacityUnits:
448
+ - :long
449
+ - :required
450
+ - :required
451
+ :output:
452
+ - TableDescription:
453
+ - CreationDateTime:
454
+ - :timestamp
455
+ - ProvisionedThroughput:
456
+ - LastIncreaseDateTime:
457
+ - :timestamp
458
+ - LastDecreaseDateTime:
459
+ - :timestamp
460
+ - ReadCapacityUnits:
461
+ - :long
462
+ - WriteCapacityUnits:
463
+ - :long
464
+ - TableSizeBytes:
465
+ - :long
466
+ - ItemCount:
467
+ - :long
468
+ DeleteTable:
469
+ :input:
470
+ TableName:
471
+ - :string
472
+ - :pattern: !ruby/regexp /[a-zA-Z0-9_.-]+/
473
+ - :within: !ruby/range 3..255
474
+ - :required
475
+ :output:
476
+ - TableDescription:
477
+ - CreationDateTime:
478
+ - :timestamp
479
+ - ProvisionedThroughput:
480
+ - LastIncreaseDateTime:
481
+ - :timestamp
482
+ - LastDecreaseDateTime:
483
+ - :timestamp
484
+ - ReadCapacityUnits:
485
+ - :long
486
+ - WriteCapacityUnits:
487
+ - :long
488
+ - TableSizeBytes:
489
+ - :long
490
+ - ItemCount:
491
+ - :long
492
+ DescribeTable:
493
+ :input:
494
+ TableName:
495
+ - :string
496
+ - :pattern: !ruby/regexp /[a-zA-Z0-9_.-]+/
497
+ - :within: !ruby/range 3..255
498
+ - :required
499
+ :output:
500
+ - Table:
501
+ - CreationDateTime:
502
+ - :timestamp
503
+ - ProvisionedThroughput:
504
+ - LastIncreaseDateTime:
505
+ - :timestamp
506
+ - LastDecreaseDateTime:
507
+ - :timestamp
508
+ - ReadCapacityUnits:
509
+ - :long
510
+ - WriteCapacityUnits:
511
+ - :long
512
+ - TableSizeBytes:
513
+ - :long
514
+ - ItemCount:
515
+ - :long
516
+ ListTables:
517
+ :input:
518
+ ExclusiveStartTableName:
519
+ - :string
520
+ - :pattern: !ruby/regexp /[a-zA-Z0-9_.-]+/
521
+ Limit:
522
+ - :integer
523
+ :output:
524
+ - TableNames:
525
+ - :list: member
526
+ Scan:
527
+ :input:
528
+ TableName:
529
+ - :string
530
+ - :pattern: !ruby/regexp /[a-zA-Z0-9_.-]+/
531
+ - :required
532
+ AttributesToGet:
533
+ - :list:
534
+ - :string
535
+ Limit:
536
+ - :integer
537
+ Count:
538
+ - :boolean
539
+ ScanFilter:
540
+ - :map:
541
+ :key:
542
+ - :string
543
+ :value:
544
+ - :structure:
545
+ AttributeValueList:
546
+ - :list:
547
+ - :structure:
548
+ S:
549
+ - :string
550
+ N:
551
+ - :string
552
+ SS:
553
+ - :list:
554
+ - :string
555
+ NS:
556
+ - :list:
557
+ - :string
558
+ ComparisonOperator:
559
+ - :string
560
+ - :enum: [EQ, NE, LE, LT, GE, GT, NOT_NULL, NULL, CONTAINS, NOT_CONTAINS, BEGINS_WITH, IN, BETWEEN]
561
+ ExclusiveStartKey:
562
+ - :structure:
563
+ HashKeyElement:
564
+ - :structure:
565
+ S:
566
+ - :string
567
+ N:
568
+ - :string
569
+ SS:
570
+ - :list:
571
+ - :string
572
+ NS:
573
+ - :list:
574
+ - :string
575
+ - :required
576
+ RangeKeyElement:
577
+ - :structure:
578
+ S:
579
+ - :string
580
+ N:
581
+ - :string
582
+ SS:
583
+ - :list:
584
+ - :string
585
+ NS:
586
+ - :list:
587
+ - :string
588
+ :output:
589
+ - Items:
590
+ - :list: member
591
+ - member:
592
+ - :map:
593
+ - entry
594
+ - key
595
+ - value
596
+ - entry:
597
+ - value:
598
+ - SS:
599
+ - :list: member
600
+ - NS:
601
+ - :list: member
602
+ - Count:
603
+ - :integer
604
+ - ScannedCount:
605
+ - :integer
606
+ - LastEvaluatedKey:
607
+ - HashKeyElement:
608
+ - SS:
609
+ - :list: member
610
+ - NS:
611
+ - :list: member
612
+ - RangeKeyElement:
613
+ - SS:
614
+ - :list: member
615
+ - NS:
616
+ - :list: member
617
+ - ConsumedCapacityUnits:
618
+ - :float
619
+ Query:
620
+ :input:
621
+ TableName:
622
+ - :string
623
+ - :pattern: !ruby/regexp /[a-zA-Z0-9_.-]+/
624
+ - :required
625
+ AttributesToGet:
626
+ - :list:
627
+ - :string
628
+ Limit:
629
+ - :integer
630
+ ConsistentRead:
631
+ - :boolean
632
+ Count:
633
+ - :boolean
634
+ HashKeyValue:
635
+ - :structure:
636
+ S:
637
+ - :string
638
+ N:
639
+ - :string
640
+ SS:
641
+ - :list:
642
+ - :string
643
+ NS:
644
+ - :list:
645
+ - :string
646
+ - :required
647
+ RangeKeyCondition:
648
+ - :structure:
649
+ AttributeValueList:
650
+ - :list:
651
+ - :structure:
652
+ S:
653
+ - :string
654
+ N:
655
+ - :string
656
+ SS:
657
+ - :list:
658
+ - :string
659
+ NS:
660
+ - :list:
661
+ - :string
662
+ ComparisonOperator:
663
+ - :string
664
+ - :enum: [EQ, LE, LT, GE, GT, BEGINS_WITH, BETWEEN]
665
+ ScanIndexForward:
666
+ - :boolean
667
+ ExclusiveStartKey:
668
+ - :structure:
669
+ HashKeyElement:
670
+ - :structure:
671
+ S:
672
+ - :string
673
+ N:
674
+ - :string
675
+ SS:
676
+ - :list:
677
+ - :string
678
+ NS:
679
+ - :list:
680
+ - :string
681
+ - :required
682
+ RangeKeyElement:
683
+ - :structure:
684
+ S:
685
+ - :string
686
+ N:
687
+ - :string
688
+ SS:
689
+ - :list:
690
+ - :string
691
+ NS:
692
+ - :list:
693
+ - :string
694
+ :output:
695
+ - Items:
696
+ - :list: member
697
+ - member:
698
+ - :map:
699
+ - entry
700
+ - key
701
+ - value
702
+ - entry:
703
+ - value:
704
+ - SS:
705
+ - :list: member
706
+ - NS:
707
+ - :list: member
708
+ - Count:
709
+ - :integer
710
+ - LastEvaluatedKey:
711
+ - HashKeyElement:
712
+ - SS:
713
+ - :list: member
714
+ - NS:
715
+ - :list: member
716
+ - RangeKeyElement:
717
+ - SS:
718
+ - :list: member
719
+ - NS:
720
+ - :list: member
721
+ - ConsumedCapacityUnits:
722
+ - :float
723
+ :client_errors:
724
+ ConditionalCheckFailed: []
725
+
726
+ ResourceInUseException: []
727
+
728
+ ResourceNotFoundException: []
729
+
730
+ LimitExceededException: []
731
+
732
+ ProvisionedThroughputExceededException: []
733
+
734
+ :server_errors: {}