custom-resource-helper
v1.0.15
Published
Helper for cloudformation custom resources
Downloads
11,340
Maintainers
Readme
custom-resource-helper
A helper for cloudformation custom resources
Install
npm install --save custom-resource-helper
How to use
import { customResourceHelper, ResourceHandler, ResourceHandlerReturn } from 'custom-resource-helper';
export const handler = customResourceHelper(
(): ResourceHandler => ({
onCreate: async (event, context, logger): Promise<ResourceHandlerReturn> => {
// Place your code to handle Create events here.
const physicalResourceId = 'myResourceId';
const responseData = {};
return {
physicalResourceId,
responseData
};
},
onUpdate: async (event, context, logger): Promise<ResourceHandlerReturn> => {
// Place your code to handle Update events here.
const physicalResourceId = event.PhysicalResourceId;
const responseData = {};
return {
physicalResourceId,
responseData
};
},
onDelete: async (event, context, logger): Promise<void> => {
// Place your code to handle Delete events here
return;
}
})
/* optional: customLogFactory */
);
Logging
By default log level is set to warning. This can be customized with a custom LogFactory or by defining the "LogLevel" property in the custom resource resource in your template. For example:
"MyCustomResource": {
"Type": "AWS::CloudFormation::CustomResource",
"Properties": {
"LogLevel": "debug",
//...
}
}
Utils
import { camelizeKeys } from 'custom-resource-helper';
//...
console.log(event);
/*
{
...
ResourceProperties: {
...
BucketName: 'testbucket',
---
}
...
}
*/
const {
resourceProperties: { bucketName }
} = camelizeKeys(event);
console.log(bucketName); //prints: testBuckets
//...