Sha256: 4101e8cdf3af8b78dbc0d8865a91d4ba54a8bb5391ef41546abc9a066e57f646

Contents?: true

Size: 1.28 KB

Versions: 28

Compression:

Stored size: 1.28 KB

Contents

module Awspec::Type
  class ElasticacheCacheParameterGroup < ResourceBase
    def initialize(name)
      super
      @display_name = name
    end

    def resource_via_client
      return @resource_via_client if @resource_via_client

      parameters = {}
      res = elasticache_client.describe_cache_parameters({
                                                           cache_parameter_group_name: @display_name
                                                         })

      loop do
        res.parameters.each do |param|
          parameters[param.parameter_name] = param.parameter_value
        end
        break if res.marker.nil?
        res = elasticache_client.describe_cache_parameters({
                                                             cache_parameter_group_name: @display_name,
                                                             marker: res.marker
                                                           })
      end
      @resource_via_client ||= parameters
    end

    def id
      @id ||= @display_name unless resource_via_client.empty?
    end

    def method_missing(name)
      param_name = name.to_s.tr('_', '-')
      if resource_via_client.include?(param_name)
        resource_via_client[param_name].to_s
      else
        super
      end
    end
  end
end

Version data entries

28 entries across 28 versions & 3 rubygems

Version Path
awspec-1.25.1 lib/awspec/type/elasticache_cache_parameter_group.rb
awspec-1.25.0 lib/awspec/type/elasticache_cache_parameter_group.rb
awspec-1.24.4 lib/awspec/type/elasticache_cache_parameter_group.rb
awspec-1.24.3 lib/awspec/type/elasticache_cache_parameter_group.rb
awspec-1.24.2 lib/awspec/type/elasticache_cache_parameter_group.rb
awspec-1.24.1 lib/awspec/type/elasticache_cache_parameter_group.rb
awspec-1.24.0 lib/awspec/type/elasticache_cache_parameter_group.rb
awspec-1.23.0 lib/awspec/type/elasticache_cache_parameter_group.rb
awspec-1.22.1 lib/awspec/type/elasticache_cache_parameter_group.rb
awspec-1.22.0 lib/awspec/type/elasticache_cache_parameter_group.rb
awspec-1.21.1 lib/awspec/type/elasticache_cache_parameter_group.rb
awspec-1.21.0 lib/awspec/type/elasticache_cache_parameter_group.rb
awspec-1.20.0 lib/awspec/type/elasticache_cache_parameter_group.rb
awspec-1.19.2 lib/awspec/type/elasticache_cache_parameter_group.rb
awspec-1.19.1 lib/awspec/type/elasticache_cache_parameter_group.rb
awspec-1.19.0 lib/awspec/type/elasticache_cache_parameter_group.rb
cthiesfork-awspec-1.2.4 lib/awspec/type/elasticache_cache_parameter_group.rb
awspec-api_gateway_extended-1.2.4 lib/awspec/type/elasticache_cache_parameter_group.rb
awspec-api_gateway_extended-1.2.3 lib/awspec/type/elasticache_cache_parameter_group.rb
awspec-1.18.6 lib/awspec/type/elasticache_cache_parameter_group.rb