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.552 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.551 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.550 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.549 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.548 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.547 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.546 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.545 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.544 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.543 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.542 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.541 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.540 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.539 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.538 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.537 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.536 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.535 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.534 lib/aws-sdk-core/plugins/s3_location_constraint.rb
aws-sdk-core-2.11.533 lib/aws-sdk-core/plugins/s3_location_constraint.rb