class AWS::Core::Resource::Attribute

@private

def get_as

def get_as
  @get_as ||= (@options[:get_as] || @options[:as] || name)
end

def initialize name, options = {}

def initialize name, options = {}
  @name = name
  @options = options
  @request_types = []
end

def mutable?

def mutable?
  @options[:mutable] == true
end

def set_as

def set_as
  @set_as ||= (@options[:set_as] || @options[:as] || name)
end

def static?

def static?
  @options[:static] == true
end

def translate_input_value value

def translate_input_value value
  @input_translator ? @input_translator.call(value) : value
end

def translate_output_value value

def translate_output_value value
  # by default nil values are not translated
  return nil if value.nil? and @translates_nil != true
  case
  when @options[:to_sym]  then value.tr('-','_').downcase.to_sym
  when @output_translator then @output_translator.call(value)
  else value
  end
end

def translates_input &block

def translates_input &block
  @input_translator = block
end

def translates_output options = {}, &block

def translates_output options = {}, &block
  @translates_nil = options[:nil]
  @output_translator = block
end