mirror of
https://github.com/fog/fog-aws.git
synced 2022-11-09 13:50:52 -05:00
Implement remove_tags_from_stream
This commit is contained in:
parent
0ec563f778
commit
28a01545e3
3 changed files with 59 additions and 1 deletions
|
@ -26,7 +26,7 @@ module Fog
|
|||
request :merge_shards
|
||||
request :add_tags_to_stream
|
||||
request :list_tags_for_stream
|
||||
# request :remove_tags_from_stream
|
||||
request :remove_tags_from_stream
|
||||
|
||||
class Real
|
||||
include Fog::AWS::CredentialFetcher::ConnectionMethods
|
||||
|
|
49
lib/fog/aws/requests/kinesis/remove_tags_from_stream.rb
Normal file
49
lib/fog/aws/requests/kinesis/remove_tags_from_stream.rb
Normal file
|
@ -0,0 +1,49 @@
|
|||
module Fog
|
||||
module AWS
|
||||
class Kinesis
|
||||
class Real
|
||||
# Deletes tags from the specified Amazon Kinesis stream.
|
||||
#
|
||||
# ==== Options
|
||||
# * StreamName<~String>: The name of the stream.
|
||||
# * TagKeys<~Array>: A list of tag keys.
|
||||
# ==== Returns
|
||||
# * response<~Excon::Response>:
|
||||
#
|
||||
# ==== See Also
|
||||
# https://docs.aws.amazon.com/kinesis/latest/APIReference/API_RemoveTagsFromStream.html
|
||||
#
|
||||
def remove_tags_from_stream(options={})
|
||||
body = {
|
||||
"StreamName" => options.delete("StreamName"),
|
||||
"TagKeys" => options.delete("TagKeys")
|
||||
}.reject{ |_,v| v.nil? }
|
||||
|
||||
request({
|
||||
'X-Amz-Target' => "Kinesis_#{@version}.RemoveTagsFromStream",
|
||||
:body => body,
|
||||
}.merge(options))
|
||||
end
|
||||
end
|
||||
|
||||
class Mock
|
||||
def remove_tags_from_stream(options={})
|
||||
stream_name = options.delete("StreamName")
|
||||
tags = options.delete("TagKeys")
|
||||
|
||||
unless stream = data[:kinesis_streams].detect{ |s| s["StreamName"] == stream_name }
|
||||
raise 'unknown stream'
|
||||
end
|
||||
|
||||
stream["Tags"] = stream["Tags"].delete_if { |k,_| tags.include?(k) }
|
||||
|
||||
response = Excon::Response.new
|
||||
response.status = 200
|
||||
response.body = ""
|
||||
response
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
|
@ -227,6 +227,15 @@ Shindo.tests('AWS::Kinesis | stream requests', ['aws', 'kinesis']) do
|
|||
end
|
||||
end
|
||||
|
||||
tests("#remove_tags_from_stream").returns("") do
|
||||
Fog::AWS[:kinesis].remove_tags_from_stream("StreamName" => @stream_id, "TagKeys" => %w[b]).body.tap do
|
||||
returns({"a" => "1"}) {
|
||||
body = Fog::AWS[:kinesis].list_tags_for_stream("StreamName" => @stream_id).body
|
||||
body["Tags"].inject({}){ |m, tag| m.merge(tag["Key"] => tag["Value"]) }
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
tests("#delete_stream").returns("") do
|
||||
Fog::AWS[:kinesis].delete_stream("StreamName" => @stream_id).body
|
||||
end
|
||||
|
|
Loading…
Add table
Reference in a new issue