fog-aws 0.7.6 → 0.8.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/Gemfile +1 -0
- data/lib/fog/aws/compute.rb +1 -1
- data/lib/fog/aws/iam/paged_collection.rb +4 -2
- data/lib/fog/aws/models/compute/server.rb +0 -1
- data/lib/fog/aws/models/elasticache/cluster.rb +2 -1
- data/lib/fog/aws/models/iam/roles.rb +11 -14
- data/lib/fog/aws/models/rds/server.rb +2 -1
- data/lib/fog/aws/models/storage/directory.rb +1 -1
- data/lib/fog/aws/parsers/elasticache/cache_cluster_parser.rb +29 -4
- data/lib/fog/aws/parsers/storage/get_bucket_lifecycle.rb +30 -0
- data/lib/fog/aws/requests/compute/describe_instances.rb +1 -1
- data/lib/fog/aws/requests/compute/start_instances.rb +1 -0
- data/lib/fog/aws/requests/compute/stop_instances.rb +1 -0
- data/lib/fog/aws/requests/dynamodb/batch_get_item.rb +8 -11
- data/lib/fog/aws/requests/dynamodb/batch_write_item.rb +11 -9
- data/lib/fog/aws/requests/dynamodb/create_table.rb +9 -14
- data/lib/fog/aws/requests/dynamodb/delete_item.rb +5 -15
- data/lib/fog/aws/requests/dynamodb/delete_table.rb +4 -8
- data/lib/fog/aws/requests/dynamodb/describe_table.rb +7 -8
- data/lib/fog/aws/requests/dynamodb/get_item.rb +9 -7
- data/lib/fog/aws/requests/dynamodb/list_tables.rb +4 -1
- data/lib/fog/aws/requests/dynamodb/put_item.rb +6 -10
- data/lib/fog/aws/requests/dynamodb/query.rb +14 -6
- data/lib/fog/aws/requests/dynamodb/scan.rb +6 -6
- data/lib/fog/aws/requests/dynamodb/update_item.rb +22 -20
- data/lib/fog/aws/requests/dynamodb/update_table.rb +6 -7
- data/lib/fog/aws/requests/elasticache/create_cache_cluster.rb +1 -0
- data/lib/fog/aws/requests/iam/create_role.rb +1 -1
- data/lib/fog/aws/requests/iam/get_role.rb +5 -2
- data/lib/fog/aws/requests/iam/list_roles.rb +50 -16
- data/lib/fog/aws/requests/rds/modify_db_instance.rb +53 -54
- data/lib/fog/aws/requests/storage/get_object.rb +5 -3
- data/lib/fog/aws/requests/storage/put_bucket_lifecycle.rb +28 -5
- data/lib/fog/aws/requests/storage/put_object.rb +4 -0
- data/lib/fog/aws/storage.rb +3 -0
- data/lib/fog/aws/sts.rb +4 -3
- data/lib/fog/aws/version.rb +1 -1
- data/tests/models/compute/server_tests.rb +11 -0
- data/tests/models/iam/roles_tests.rb +12 -4
- data/tests/models/storage/directory_tests.rb +4 -0
- data/tests/requests/compute/instance_tests.rb +44 -2
- data/tests/requests/dynamodb/item_tests.rb +2 -2
- data/tests/requests/storage/bucket_tests.rb +5 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 58d538460f3f7fdf4b55f6ff22436610834d5d2f
|
4
|
+
data.tar.gz: e2d865117e046119af32d8c22a2db4918678dddb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5d141b55a36a590acfd0cd3b403a94c35c227c3e8cf09533c9ad9bd3ceee63ba972bba16c334b28d454ae4562026fb6585a24bf274befd7f42560261b384e05a
|
7
|
+
data.tar.gz: 74adabc3b6a46cbb973809e4567f6c4a0f2780f381cb336fe9dd35cca02ea92d36996d9f331e40c46ddb8ae117d7eeb730f7598c1f41b999707bc4b4c61da0c2
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,17 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## [v0.7.6](https://github.com/fog/fog-aws/tree/v0.7.6) (2015-08-26)
|
4
|
+
[Full Changelog](https://github.com/fog/fog-aws/compare/v0.7.5...v0.7.6)
|
5
|
+
|
6
|
+
**Closed issues:**
|
7
|
+
|
8
|
+
- mock directories.create destroys existing directory [\#172](https://github.com/fog/fog-aws/issues/172)
|
9
|
+
|
10
|
+
**Merged pull requests:**
|
11
|
+
|
12
|
+
- Add GovCloud region name to validation set. [\#175](https://github.com/fog/fog-aws/pull/175) ([triplepoint](https://github.com/triplepoint))
|
13
|
+
- Mocked put\_bucket no longer clobbers existing bucket [\#174](https://github.com/fog/fog-aws/pull/174) ([jgr](https://github.com/jgr))
|
14
|
+
|
3
15
|
## [v0.7.5](https://github.com/fog/fog-aws/tree/v0.7.5) (2015-08-24)
|
4
16
|
[Full Changelog](https://github.com/fog/fog-aws/compare/v0.7.4...v0.7.5)
|
5
17
|
|
data/Gemfile
CHANGED
data/lib/fog/aws/compute.rb
CHANGED
@@ -415,7 +415,7 @@ module Fog
|
|
415
415
|
tag_filters[key.gsub('tag:', '')] = filters.delete(key) if /^tag:/ =~ key
|
416
416
|
end
|
417
417
|
for tag_key, tag_value in tag_filters
|
418
|
-
resources = resources.select{|r| tag_value
|
418
|
+
resources = resources.select{|r| [tag_value].flatten.include? tag_set_fetcher[r][tag_key]}
|
419
419
|
end
|
420
420
|
|
421
421
|
resources
|
@@ -13,7 +13,9 @@ module Fog
|
|
13
13
|
to_a.each(*args, &block)
|
14
14
|
end
|
15
15
|
|
16
|
-
def each
|
16
|
+
def each(options={})
|
17
|
+
limit = options[:limit] || 100
|
18
|
+
|
17
19
|
if !block_given?
|
18
20
|
self
|
19
21
|
else
|
@@ -23,7 +25,7 @@ module Fog
|
|
23
25
|
|
24
26
|
while subset.truncated
|
25
27
|
subset.
|
26
|
-
all(:marker => subset.marker, :limit =>
|
28
|
+
all(:marker => subset.marker, :limit => limit).
|
27
29
|
each_entry { |f| yield f }
|
28
30
|
end
|
29
31
|
|
@@ -18,7 +18,8 @@ module Fog
|
|
18
18
|
attribute :parameter_group, :aliases => 'CacheParameterGroup'
|
19
19
|
attribute :pending_values, :aliases => 'PendingModifiedValues'
|
20
20
|
attribute :create_time, :aliases => 'CacheClusterCreateTime', :type => :timestamp
|
21
|
-
attribute :
|
21
|
+
attribute :cache_security_groups, :aliases => 'CacheSecurityGroups', :type => :array
|
22
|
+
attribute :security_groups, :aliases => 'SecurityGroups', :type => :array
|
22
23
|
attribute :notification_config, :aliases => 'NotificationConfiguration'
|
23
24
|
attribute :cache_subnet_group_name, :aliases => 'CacheSubnetGroupName'
|
24
25
|
attribute :vpc_security_groups, :aliases => 'VpcSecurityGroups', :type => :array
|
@@ -3,31 +3,28 @@ require 'fog/aws/models/iam/role'
|
|
3
3
|
module Fog
|
4
4
|
module AWS
|
5
5
|
class IAM
|
6
|
-
class Roles < Fog::
|
6
|
+
class Roles < Fog::AWS::IAM::PagedCollection
|
7
|
+
|
7
8
|
model Fog::AWS::IAM::Role
|
8
9
|
|
9
|
-
def
|
10
|
-
|
11
|
-
end
|
10
|
+
def all(options={})
|
11
|
+
body = service.list_roles(page_params(options)).body
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
load(data)
|
13
|
+
merge_attributes(body)
|
14
|
+
load(body["Roles"])
|
16
15
|
end
|
17
16
|
|
18
17
|
def get(identity)
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
rescue Excon::Errors::NotFound, Fog::AWS::IAM::NotFound # ignore not found error
|
23
|
-
end
|
24
|
-
role
|
18
|
+
new(service.get_role(identity).body["Role"])
|
19
|
+
rescue Excon::Errors::NotFound, Fog::AWS::IAM::NotFound
|
20
|
+
nil
|
25
21
|
end
|
26
22
|
|
27
23
|
def new(attributes = {})
|
28
|
-
|
24
|
+
unless attributes.key?(:assume_role_policy_document)
|
29
25
|
attributes[:assume_role_policy_document] = Fog::AWS::IAM::EC2_ASSUME_ROLE_POLICY.to_s
|
30
26
|
end
|
27
|
+
|
31
28
|
super
|
32
29
|
end
|
33
30
|
end
|
@@ -131,8 +131,8 @@ module Fog
|
|
131
131
|
'DBSubnetGroupName' => db_subnet_group_name,
|
132
132
|
'Engine' => engine,
|
133
133
|
'EngineVersion' => engine_version,
|
134
|
-
'StorageEncrypted' => storage_encrypted,
|
135
134
|
'Iops' => iops,
|
135
|
+
'KmsKeyId' => kms_key_id,
|
136
136
|
'LicenseModel' => license_model,
|
137
137
|
'MasterUserPassword' => password || attributes['MasterUserPassword'],
|
138
138
|
'MasterUsername' => master_username,
|
@@ -141,6 +141,7 @@ module Fog
|
|
141
141
|
'PreferredBackupWindow' => preferred_backup_window,
|
142
142
|
'PreferredMaintenanceWindow' => preferred_maintenance_window,
|
143
143
|
'PubliclyAccessible' => publicly_accessible,
|
144
|
+
'StorageEncrypted' => storage_encrypted,
|
144
145
|
'StorageType' => storage_type,
|
145
146
|
'VpcSecurityGroups' => vpc_security_groups,
|
146
147
|
}
|
@@ -15,17 +15,26 @@ module Fog
|
|
15
15
|
'CacheSecurityGroups' => [],
|
16
16
|
'CacheNodes' => [],
|
17
17
|
'CacheParameterGroup' => {},
|
18
|
-
'ConfigurationEndpoint' => {}
|
18
|
+
'ConfigurationEndpoint' => {},
|
19
|
+
'SecurityGroups' => []
|
19
20
|
}
|
20
21
|
end
|
21
22
|
|
22
23
|
def start_element(name, attrs = [])
|
23
24
|
super
|
24
25
|
case name
|
25
|
-
when 'CacheSecurityGroup'; then @
|
26
|
+
when 'CacheSecurityGroup'; then @cache_security_group = {}
|
26
27
|
when 'CacheNode'; then @cache_node = {}
|
27
28
|
when 'PendingModifiedValues'; then @pending_values = {}
|
28
29
|
when 'ConfigurationEndpoint'; then @configuration_endpoint = {}
|
30
|
+
when 'SecurityGroups'
|
31
|
+
@in_security_groups = true
|
32
|
+
@security_group_members = []
|
33
|
+
when 'member'
|
34
|
+
if @in_security_groups
|
35
|
+
@in_security_group_member = true
|
36
|
+
@security_group_member = {}
|
37
|
+
end
|
29
38
|
end
|
30
39
|
end
|
31
40
|
|
@@ -50,11 +59,17 @@ module Fog
|
|
50
59
|
when 'CacheClusterCreateTime'
|
51
60
|
@cache_cluster[name] = DateTime.parse(value)
|
52
61
|
when 'CacheSecurityGroup'
|
53
|
-
@cache_cluster["#{name}s"] << @
|
62
|
+
@cache_cluster["#{name}s"] << @cache_security_group unless @cache_security_group.empty?
|
54
63
|
when 'ConfigurationEndpoint'
|
55
64
|
@cache_cluster['ConfigurationEndpoint'] = @configuration_endpoint
|
56
|
-
when 'CacheSecurityGroupName', '
|
65
|
+
when 'CacheSecurityGroupName', 'CacheSubnetGroupName'
|
57
66
|
@cache_cluster[name] = value
|
67
|
+
when 'Status'
|
68
|
+
if @in_security_group_member
|
69
|
+
@security_group_member[name] = value
|
70
|
+
else
|
71
|
+
@cache_cluster[name] = value
|
72
|
+
end
|
58
73
|
when 'CacheNode'
|
59
74
|
@cache_cluster["#{name}s"] << @cache_node unless @cache_node.empty?
|
60
75
|
@cache_node = nil
|
@@ -78,6 +93,16 @@ module Fog
|
|
78
93
|
end
|
79
94
|
when 'CacheNodeIdsToReboots', 'CacheParameterGroupName', 'ParameterApplyStatus'
|
80
95
|
@cache_cluster['CacheParameterGroup'][name] = value
|
96
|
+
when 'SecurityGroups'
|
97
|
+
@in_security_groups = false
|
98
|
+
@cache_cluster['SecurityGroups'] = @security_group_members
|
99
|
+
when 'SecurityGroupId'
|
100
|
+
@security_group_member[name] = value if @in_security_group_member
|
101
|
+
when 'member'
|
102
|
+
if @in_security_groups
|
103
|
+
@in_security_group_member = false
|
104
|
+
@security_group_members << @security_group_member
|
105
|
+
end
|
81
106
|
else
|
82
107
|
super
|
83
108
|
end
|
@@ -5,7 +5,9 @@ module Fog
|
|
5
5
|
class GetBucketLifecycle < Fog::Parsers::Base
|
6
6
|
def reset
|
7
7
|
@expiration = {}
|
8
|
+
@version_expiration = {}
|
8
9
|
@transition = {}
|
10
|
+
@version_transition = {}
|
9
11
|
@rule = {}
|
10
12
|
@response = { 'Rules' => [] }
|
11
13
|
end
|
@@ -17,6 +19,10 @@ module Fog
|
|
17
19
|
@in_expiration = true
|
18
20
|
when 'Transition'
|
19
21
|
@in_transition = true
|
22
|
+
when 'NoncurrentVersionExpiration'
|
23
|
+
@in_version_expiration = true
|
24
|
+
when 'NoncurrentVersionTransition'
|
25
|
+
@in_version_transition = true
|
20
26
|
end
|
21
27
|
end
|
22
28
|
|
@@ -32,6 +38,17 @@ module Fog
|
|
32
38
|
@in_expiration = false
|
33
39
|
@expiration = {}
|
34
40
|
end
|
41
|
+
elsif @in_version_expiration
|
42
|
+
case name
|
43
|
+
when 'NoncurrentDays'
|
44
|
+
@version_expiration[name] = value.to_i
|
45
|
+
when 'Date'
|
46
|
+
@version_expiration[name] = value
|
47
|
+
when 'NoncurrentVersionExpiration'
|
48
|
+
@rule['NoncurrentVersionExpiration'] = @version_expiration
|
49
|
+
@in_version_expiration = false
|
50
|
+
@version_expiration = {}
|
51
|
+
end
|
35
52
|
elsif @in_transition
|
36
53
|
case name
|
37
54
|
when 'StorageClass',
|
@@ -45,6 +62,19 @@ module Fog
|
|
45
62
|
@in_transition = false
|
46
63
|
@transition = {}
|
47
64
|
end
|
65
|
+
elsif @in_version_transition
|
66
|
+
case name
|
67
|
+
when 'StorageClass',
|
68
|
+
@version_transition['StorageClass'] = value
|
69
|
+
when 'Date'
|
70
|
+
@version_transition[name] = value
|
71
|
+
when 'NoncurrentDays'
|
72
|
+
@version_transition[name] = value.to_i
|
73
|
+
when 'NoncurrentVersionTransition'
|
74
|
+
@rule['NoncurrentVersionTransition'] = @transition
|
75
|
+
@in_version_transition = false
|
76
|
+
@version_transition = {}
|
77
|
+
end
|
48
78
|
else
|
49
79
|
case name
|
50
80
|
when 'ID', 'Prefix'
|
@@ -199,7 +199,7 @@ module Fog
|
|
199
199
|
when 'rebooting'
|
200
200
|
instance['instanceState'] = { 'code' => 16, 'name' => 'running' }
|
201
201
|
when 'stopping'
|
202
|
-
instance['instanceState'] = { 'code' => 0, 'name' => '
|
202
|
+
instance['instanceState'] = { 'code' => 0, 'name' => 'stopped' }
|
203
203
|
instance['stateReason'] = { 'code' => 0 }
|
204
204
|
when 'shutting-down'
|
205
205
|
if Time.now - self.data[:deleted_at][instance['instanceId']] >= Fog::Mock.delay * 2
|
@@ -41,6 +41,7 @@ module Fog
|
|
41
41
|
response.status = 200
|
42
42
|
|
43
43
|
response.body = {
|
44
|
+
'requestId' => Fog::AWS::Mock.request_id,
|
44
45
|
'instancesSet' => instance_set.reduce([]) do |ia, instance|
|
45
46
|
ia << {'currentState' => { 'code' => 0, 'name' => 'pending' },
|
46
47
|
'previousState' => instance['instanceState'],
|
@@ -8,22 +8,19 @@ module Fog
|
|
8
8
|
# * 'request_items'<~Hash>:
|
9
9
|
# * 'table_name'<~Hash>:
|
10
10
|
# * 'Keys'<~Array>: array of keys
|
11
|
-
# * 'HashKeyElement'<~Hash>: info for primary key
|
12
|
-
# * 'AttributeType'<~String> - type of attribute
|
13
|
-
# * 'AttributeName'<~String> - name of attribute
|
14
|
-
# * 'RangeKeyElement'<~Hash>: optional, info for range key
|
15
|
-
# * 'AttributeType'<~String> - type of attribute
|
16
|
-
# * 'AttributeName'<~String> - name of attribute
|
17
|
-
# * 'AttributesToGet'<~Array> - optional attributes to return, defaults to all
|
18
11
|
#
|
19
12
|
# ==== Returns
|
20
13
|
# * response<~Excon::Response>:
|
21
14
|
# * body<~Hash>:
|
22
15
|
# * 'Responses'<~Hash>:
|
23
|
-
# * 'table_name'<~
|
24
|
-
# * 'Items'<~Array> - Matching items
|
25
|
-
# * 'ConsumedCapacityUnits'<~Float> - Capacity units used in read
|
16
|
+
# * 'table_name'<~Array> - array of all elements
|
26
17
|
# * 'UnprocessedKeys':<~Hash> - tables and keys in excess of per request limit, pass this to subsequent batch get for pseudo-pagination
|
18
|
+
# * 'ConsumedCapacity':<~Hash>:
|
19
|
+
# * 'TableName'<~String> - the name of the table
|
20
|
+
# * 'CapacityUnits'<~Float> - Capacity units used in read
|
21
|
+
#
|
22
|
+
# See DynamoDB Documentation: http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchGetItem.html
|
23
|
+
#
|
27
24
|
def batch_get_item(request_items)
|
28
25
|
body = {
|
29
26
|
'RequestItems' => request_items
|
@@ -31,7 +28,7 @@ module Fog
|
|
31
28
|
|
32
29
|
request(
|
33
30
|
:body => Fog::JSON.encode(body),
|
34
|
-
:headers => {'x-amz-target' => '
|
31
|
+
:headers => {'x-amz-target' => 'DynamoDB_20120810.BatchGetItem'},
|
35
32
|
:idempotent => true
|
36
33
|
)
|
37
34
|
end
|
@@ -7,16 +7,18 @@ module Fog
|
|
7
7
|
batch_write_item(request_items)
|
8
8
|
end
|
9
9
|
|
10
|
-
#request_items has form:
|
11
|
-
#
|
10
|
+
# request_items has form:
|
11
|
+
#
|
12
|
+
# {"table_name"=>
|
12
13
|
# [{"PutRequest"=>
|
13
14
|
# {"Item"=>
|
14
|
-
#
|
15
|
-
#
|
16
|
-
#
|
17
|
-
#
|
18
|
-
#
|
19
|
-
# http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_BatchWriteItems.html
|
15
|
+
# {"hi" => {"N" => 99}}
|
16
|
+
# }
|
17
|
+
# }]
|
18
|
+
# }
|
19
|
+
#
|
20
|
+
# See DynamoDB Documentation: http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_BatchWriteItems.html
|
21
|
+
#
|
20
22
|
def batch_write_item(request_items)
|
21
23
|
body = {
|
22
24
|
'RequestItems' => request_items
|
@@ -24,7 +26,7 @@ module Fog
|
|
24
26
|
|
25
27
|
request(
|
26
28
|
:body => Fog::JSON.encode(body),
|
27
|
-
:headers => {'x-amz-target' => '
|
29
|
+
:headers => {'x-amz-target' => 'DynamoDB_20120810.BatchWriteItem'}
|
28
30
|
)
|
29
31
|
end
|
30
32
|
end
|
@@ -6,14 +6,10 @@ module Fog
|
|
6
6
|
#
|
7
7
|
# ==== Parameters
|
8
8
|
# * 'table_name'<~String> - name of table to create
|
9
|
-
# * 'key_schema'<~
|
10
|
-
# * 'HashKeyElement'<~Hash>: info for primary key
|
9
|
+
# * 'key_schema'<~Array>:
|
11
10
|
# * 'AttributeName'<~String> - name of attribute
|
12
|
-
# * '
|
13
|
-
#
|
14
|
-
# * 'AttributeName'<~String> - name of attribute
|
15
|
-
# * 'AttributeType'<~String> - type of attribute, in %w{N NS S SS} for number, number set, string, string set
|
16
|
-
# * 'provisioned_throughput'<~Hash>:
|
11
|
+
# * 'KeyType'<~String> - type of attribute, in %w{N NS S SS} for number, number set, string, string set
|
12
|
+
# * 'ProvisionedThroughput'<~Hash>:
|
17
13
|
# * 'ReadCapacityUnits'<~Integer> - read capacity for table, in 5..10000
|
18
14
|
# * 'WriteCapacityUnits'<~Integer> - write capacity for table, in 5..10000
|
19
15
|
#
|
@@ -22,18 +18,17 @@ module Fog
|
|
22
18
|
# * body<~Hash>:
|
23
19
|
# * 'TableDescription'<~Hash>
|
24
20
|
# * 'CreationDateTime'<~Float> - Unix epoch time of table creation
|
25
|
-
# * 'KeySchema'<~
|
26
|
-
# * 'HashKeyElement'<~Hash>: info for primary key
|
27
|
-
# * 'AttributeName'<~String> - name of attribute
|
28
|
-
# * 'AttributeType'<~String> - type of attribute, in %w{N NS S SS} for number, number set, string, string set
|
29
|
-
# * 'RangeKeyElement'<~Hash>: optional, info for range key
|
21
|
+
# * 'KeySchema'<~Array> - schema for table
|
30
22
|
# * 'AttributeName'<~String> - name of attribute
|
31
|
-
# * '
|
23
|
+
# * 'KeyType'<~String> - type of attribute, in %w{N NS S SS} for number, number set, string, string set
|
32
24
|
# * 'ProvisionedThroughput'<~Hash>:
|
33
25
|
# * 'ReadCapacityUnits'<~Integer> - read capacity for table, in 5..10000
|
34
26
|
# * 'WriteCapacityUnits'<~Integer> - write capacity for table, in 5..10000
|
35
27
|
# * 'TableName'<~String> - name of table
|
36
28
|
# * 'TableStatus'<~String> - status of table
|
29
|
+
#
|
30
|
+
# See DynamoDB Documentation: http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html
|
31
|
+
#
|
37
32
|
def create_table(table_name, key_schema, provisioned_throughput)
|
38
33
|
body = {
|
39
34
|
'KeySchema' => key_schema,
|
@@ -43,7 +38,7 @@ module Fog
|
|
43
38
|
|
44
39
|
request(
|
45
40
|
:body => Fog::JSON.encode(body),
|
46
|
-
:headers => {'x-amz-target' => '
|
41
|
+
:headers => {'x-amz-target' => 'DynamoDB_20120810.CreateTable'},
|
47
42
|
:idempotent => true
|
48
43
|
)
|
49
44
|
end
|
@@ -6,25 +6,15 @@ module Fog
|
|
6
6
|
#
|
7
7
|
# ==== Parameters
|
8
8
|
# * 'table_name'<~String> - name of table for item
|
9
|
-
# * 'key'<~Hash
|
10
|
-
# * 'HashKeyElement'<~Hash>: info for primary key
|
11
|
-
# * 'AttributeName'<~String> - name of attribute
|
12
|
-
# * 'AttributeType'<~String> - type of attribute
|
13
|
-
# * 'RangeKeyElement'<~Hash>: optional, info for range key
|
14
|
-
# * 'AttributeName'<~String> - name of attribute
|
15
|
-
# * 'AttributeType'<~String> - type of attribute
|
16
|
-
# * 'options'<~Hash>:
|
17
|
-
# * 'Expected'<~Hash>: data to check against
|
18
|
-
# * 'AttributeName'<~String> - name of attribute
|
19
|
-
# * 'Value'<~Hash> - a value to check for the value of
|
20
|
-
# or
|
21
|
-
# * 'Exists'<~Boolean> - set as false to only allow update if attribute doesn't exist
|
22
|
-
# * 'ReturnValues'<~String> - data to return in %w{ALL_NEW ALL_OLD NONE UPDATED_NEW UPDATED_OLD}, defaults to NONE
|
9
|
+
# * 'key'<~Hash> - hash of attributes
|
23
10
|
#
|
24
11
|
# ==== Returns
|
25
12
|
# * response<~Excon::Response>:
|
26
13
|
# * body<~Hash>:
|
27
14
|
# varies based on ReturnValues param, see: http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_UpdateItem.html
|
15
|
+
#
|
16
|
+
# See DynamoDB Documentation: http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DeleteItem.html
|
17
|
+
#
|
28
18
|
def delete_item(table_name, key, options = {})
|
29
19
|
body = {
|
30
20
|
'Key' => key,
|
@@ -33,7 +23,7 @@ module Fog
|
|
33
23
|
|
34
24
|
request(
|
35
25
|
:body => Fog::JSON.encode(body),
|
36
|
-
:headers => {'x-amz-target' => '
|
26
|
+
:headers => {'x-amz-target' => 'DynamoDB_20120810.DeleteItem'},
|
37
27
|
:idempotent => true
|
38
28
|
)
|
39
29
|
end
|