fog-aws 0.7.6 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|