Merge pull request #1481 from boardnutz/master
Added describe_reserved_cache_clusters to Elasticache
This commit is contained in:
commit
578c4241b6
|
@ -24,6 +24,7 @@ module Fog
|
|||
request :reset_cache_parameter_group
|
||||
request :describe_engine_default_parameters
|
||||
request :describe_cache_parameters
|
||||
request :describe_reserved_cache_nodes
|
||||
|
||||
request :create_cache_security_group
|
||||
request :delete_cache_security_group
|
||||
|
@ -87,7 +88,8 @@ module Fog
|
|||
:host => @host,
|
||||
:path => @path,
|
||||
:port => @port,
|
||||
:version => '2011-07-15'
|
||||
#:version => '2011-07-15'
|
||||
:version => '2012-11-15'
|
||||
}
|
||||
)
|
||||
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
module Fog
|
||||
module Parsers
|
||||
module AWS
|
||||
module Elasticache
|
||||
|
||||
class DescribeReservedCacheNodes < Fog::Parsers::Base
|
||||
|
||||
def reset
|
||||
@reserved_node = {}
|
||||
@response = { 'ReservedCacheNodes' => [] }
|
||||
end
|
||||
|
||||
def end_element(name)
|
||||
case name
|
||||
when 'ReservedCacheNodeId', 'ReservedCacheNodesOfferingId', 'CacheNodeType', 'ProductDescription', 'State'
|
||||
@reserved_node[name] = @value
|
||||
when 'Duration', 'CacheNodeCount'
|
||||
@reserved_node[name] = @value.to_i
|
||||
when 'FixedPrice', 'UsagePrice'
|
||||
@reserved_node[name] = @value.to_f
|
||||
when 'ReservedCacheNode'
|
||||
@response['ReservedCacheNodes'] << @reserved_node
|
||||
@reserved_node = {}
|
||||
when 'Marker'
|
||||
@response[name] = @value
|
||||
when 'StartTime'
|
||||
@reserved_node[name] = Time.parse(@value)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
module Fog
|
||||
module AWS
|
||||
class Elasticache
|
||||
class Real
|
||||
|
||||
require 'fog/aws/parsers/elasticache/describe_reserved_cache_nodes'
|
||||
|
||||
# Describe all or specified reserved Elasticache nodes
|
||||
# http://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeReservedCacheNodes.html
|
||||
# ==== Parameters
|
||||
# * ReservedCacheNodeId <~String> - ID of node to retrieve information for. If absent, information for all nodes is returned.
|
||||
# ==== Returns
|
||||
# * response<~Excon::Response>:
|
||||
# * body<~Hash>:
|
||||
def describe_reserved_cache_nodes(identifier=nil, opts={})
|
||||
params = {}
|
||||
params['ReservedCacheNodeId'] = identifier if identifier
|
||||
if opts[:marker]
|
||||
params['Marker'] = opts[:marker]
|
||||
end
|
||||
if opts[:max_records]
|
||||
params['MaxRecords'] = opts[:max_records]
|
||||
end
|
||||
|
||||
request({
|
||||
'Action' => 'DescribeReservedCacheNodes',
|
||||
:parser => Fog::Parsers::AWS::Elasticache::DescribeReservedCacheNodes.new
|
||||
}.merge(params))
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
class Mock
|
||||
|
||||
def describe_db_reserved_instances(identifier=nil, opts={})
|
||||
Fog::Mock.not_implemented
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1,17 @@
|
|||
Shindo.tests('AWS::Elasticache | describe reserved cache nodes',
|
||||
['aws', 'elasticache']) do
|
||||
|
||||
tests('success') do
|
||||
pending if Fog.mocking?
|
||||
|
||||
tests(
|
||||
'#describe_reserved_cache_nodes'
|
||||
).formats(AWS::Elasticache::Formats::RESERVED_CACHE_NODES) do
|
||||
AWS[:elasticache].describe_reserved_cache_nodes().body['ReservedCacheNodes']
|
||||
end
|
||||
end
|
||||
|
||||
tests('failure') do
|
||||
# TODO:
|
||||
end
|
||||
end
|
|
@ -63,6 +63,23 @@ class AWS
|
|||
'SourceType' => String,
|
||||
}
|
||||
EVENT_LIST = [EVENT]
|
||||
|
||||
RESERVED_CACHE_CLUSTER = {
|
||||
'CacheNodeCount' => Integer,
|
||||
'CacheNodeType' => String,
|
||||
'Duration' => Integer,
|
||||
'FixedPrice' => Float,
|
||||
'OfferingType' => String,
|
||||
'ProductDescription' => String,
|
||||
'RecurringCharges' => Array,
|
||||
'ReservedCacheNodeId' => String,
|
||||
'ReservedCacheNodesOfferingId' => String,
|
||||
'StartTime' => DateTime,
|
||||
'State' => String,
|
||||
'UsagePrice' => Float
|
||||
}
|
||||
RESERVED_CACHE_CLUSTER_LIST = [RESERVED_CACHE_CLUSTER]
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue