Sha256: c1a21bd036c3ee2e4b41e46cedfbbbacff1bd7dce2b21c16c58fe61eaaffaa9c

Contents?: true

Size: 1.04 KB

Versions: 1

Compression:

Stored size: 1.04 KB

Contents

module Aws::Api::ServiceTranslators::Glacier

  extend Aws::Api::Visitor

  class << self

    def translate(api)
      apply_plugins(api)
      remove_checksum(api)
      convert_types(api)
    end

    def apply_plugins(api)
      api.plugins << "Aws::Plugins::GlacierApiVersion"
      api.plugins << "Aws::Plugins::GlacierChecksums"
    end

    # this checksum parameter - it must be calculated on xml that is not user
    # supplied, so the sdk has to compute the checksum after building the xml
    def remove_checksum(api)
      api.operations[:complete_multipart_upload].input.members.delete(:checksum)
    end

    # Shapes that are bound to headers and the request URI are all typed as
    # strings, even when they *should* be integers or dates, crawling the
    # api to correct these
    def convert_types(api)
      each_shape(api) do |shape_name, shape|
        case shape_name
        when /date/i then shape.type = 'iso8601_timestamp'
        when :limit, :part_size, :archive_size then shape.type = 'integer'
        end
      end
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
aws-sdk-core-2.0.0.rc1 lib/aws/api/service_translators/glacier.rb