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