Sha256: e72233689c46f0dae1e896f74c98813d92d668374b50ed576f788b8cec3fc67a

Contents?: true

Size: 894 Bytes

Versions: 1052

Compression:

Stored size: 894 Bytes

Contents

module Aws
  module Plugins

    # When making calls to {S3::Client#create_bucket} outside the
    # "classic" region, the bucket location constraint must be specified.
    # This plugin auto populates the constraint to the configured region.
    class S3LocationConstraint < Seahorse::Client::Plugin

      class Handler < Seahorse::Client::Handler

        def call(context)
          unless context.config.region == 'us-east-1'
            populate_location_constraint(context.params, context.config.region)
          end
          @handler.call(context)
        end

        private

        def populate_location_constraint(params, region)
          params[:create_bucket_configuration] ||= {}
          params[:create_bucket_configuration][:location_constraint] ||= region
        end

      end

      handler(Handler, step: :initialize, operations: [:create_bucket])

    end
  end
end

Version data entries

1,052 entries across 1,052 versions & 2 rubygems

Version Path
aws-sdk-core-2.0.45 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.0.44 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.0.43 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.0.42 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.0.41 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.0.40 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.0.39 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.0.38 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.0.37 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.0.36 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.0.35 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.0.34 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.0.33 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.0.32 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.0.31 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.0.30 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.0.29 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.0.28 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.0.27 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.0.26 lib/aws-sdk-core/plugins/s3_location_constraint.rb