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.11.632 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.631 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.630 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.629 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.628 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.627 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.626 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.625 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.624 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.623 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.622 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.621 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.620 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.619 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.618 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.617 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.616 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.615 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.614 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.613 lib/aws-sdk-core/plugins/s3_location_constraint.rb