Sha256: 7277b76c2023b4f278260406a9208a208cc2eacbdaee47cd866e97188792b85a

Contents?: true

Size: 966 Bytes

Versions: 62

Compression:

Stored size: 966 Bytes

Contents

require 'bundler/setup'
require 'active_support/core_ext/hash'
require 'cfn_response'

def lambda_handler(event:, context:)
  cfn = CfnResponse.new(event, context)
  cfn.response do
    case event['RequestType']
    when "Create", "Update"
      properties = event["ResourceProperties"].dup
      # After deleting ServiceToken, the rest of the values are the bucket configuration properties.
      properties.delete("ServiceToken")
      configurator = BucketConfigurator.new
      configurator.put(properties)
    end
  end
end

########################################################
require "aws-sdk-s3"

class BucketConfigurator
  def put(props={})
    # all props including bucket gets passed from the Custom::S3BucketConfiguration resource
    props = props.deep_transform_keys { |k| k.to_s.underscore.to_sym }
    puts "props: #{JSON.dump(props)}"
    s3.put_bucket_notification_configuration(props)
  end

  def s3
    @s3 ||= Aws::S3::Client.new
  end
end

Version data entries

62 entries across 62 versions & 2 rubygems

Version Path
jets-4.0.12 lib/jets/internal/app/shared/functions/jets/s3_bucket_config.rb
jets-4.0.11 lib/jets/internal/app/shared/functions/jets/s3_bucket_config.rb
jets-5.0.13 engines/internal/app/shared/functions/jets/s3_bucket_config.rb
jets-5.0.12 engines/internal/app/shared/functions/jets/s3_bucket_config.rb
jets-5.0.11 engines/internal/app/shared/functions/jets/s3_bucket_config.rb
jets-5.0.10 engines/internal/app/shared/functions/jets/s3_bucket_config.rb
jets-5.0.9 engines/internal/app/shared/functions/jets/s3_bucket_config.rb
jets-5.0.8 engines/internal/app/shared/functions/jets/s3_bucket_config.rb
jets-5.0.7 engines/internal/app/shared/functions/jets/s3_bucket_config.rb
jets-5.0.6 engines/internal/app/shared/functions/jets/s3_bucket_config.rb
jets-5.0.5 engines/internal/app/shared/functions/jets/s3_bucket_config.rb
jets-5.0.4 engines/internal/app/shared/functions/jets/s3_bucket_config.rb
jets-5.0.3 engines/internal/app/shared/functions/jets/s3_bucket_config.rb
jets-5.0.2 engines/internal/app/shared/functions/jets/s3_bucket_config.rb
jets-5.0.1 engines/internal/app/shared/functions/jets/s3_bucket_config.rb
jets-5.0.0 engines/internal/app/shared/functions/jets/s3_bucket_config.rb
jets-4.0.10 lib/jets/internal/app/shared/functions/jets/s3_bucket_config.rb
jets-5.0.0.beta1 engines/internal/app/shared/functions/jets/s3_bucket_config.rb
jets-4.0.9 lib/jets/internal/app/shared/functions/jets/s3_bucket_config.rb
jets-4.0.8 lib/jets/internal/app/shared/functions/jets/s3_bucket_config.rb