class OpenStax::Aws::Secrets::ReadOnlyParameter

Public Class Methods

new(parameter, client) click to toggle source

Helper object to hide the fact that tags and descriptions have to be accessed through separate API calls

# File lib/openstax/aws/secrets.rb, line 227
def initialize(parameter, client)
  @raw_parameter = parameter
  @client = client
end

Public Instance Methods

[](key) click to toggle source
# File lib/openstax/aws/secrets.rb, line 232
def [](key)
  case key
  when :type
    @raw_parameter.type
  when :value
    @raw_parameter.value
  when :tags
    raise "Not yet tested!"
    @tags ||= begin
      (@client.list_tags_for_resource({
        resource_type: "Parameter",
        resource_id: @raw_parameter.arn
      }).tag_list || []).map do |tag| {
        key: tag.key,
        value: tag.value
      } end
    end
  when :description
    @description ||= begin
      @client.describe_parameters({
        parameter_filters: [{
          key: "Name",
          option: "Equals",
          values: [@raw_parameter.name]
        }],
        max_results: 1
      }).parameters[0].description
    end
  end
end