From 275738c1be3f2cee5a4cca311fc3cc7f458027c9 Mon Sep 17 00:00:00 2001 From: robertd Date: Wed, 24 Feb 2021 22:54:52 -0700 Subject: [PATCH] feat(core): add support for description parameter in the CustomResourceProvider construct --- packages/@aws-cdk/core/README.md | 1 + .../custom-resource-provider/custom-resource-provider.ts | 8 ++++++++ .../custom-resource-provider.test.ts | 4 +++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/@aws-cdk/core/README.md b/packages/@aws-cdk/core/README.md index 0e0b38943a803..714e7139f0807 100644 --- a/packages/@aws-cdk/core/README.md +++ b/packages/@aws-cdk/core/README.md @@ -428,6 +428,7 @@ stack-unique identifier and returns the service token: const serviceToken = CustomResourceProvider.getOrCreate(this, 'Custom::MyCustomResourceType', { codeDirectory: `${__dirname}/my-handler`, runtime: CustomResourceProviderRuntime.NODEJS_12, // currently the only supported runtime + description: "Lambda function created by the custom resource provider", }); new CustomResource(this, 'MyResource', { diff --git a/packages/@aws-cdk/core/lib/custom-resource-provider/custom-resource-provider.ts b/packages/@aws-cdk/core/lib/custom-resource-provider/custom-resource-provider.ts index f7905fc51447b..8550efd7c72bd 100644 --- a/packages/@aws-cdk/core/lib/custom-resource-provider/custom-resource-provider.ts +++ b/packages/@aws-cdk/core/lib/custom-resource-provider/custom-resource-provider.ts @@ -67,6 +67,13 @@ export interface CustomResourceProviderProps { * @default - No environment variables. */ readonly environment?: { [key: string]: string }; + + /** + * A description of the function. + * + * @default - No description. + */ + readonly description?: string; } /** @@ -205,6 +212,7 @@ export class CustomResourceProvider extends CoreConstruct { Role: role.getAtt('Arn'), Runtime: 'nodejs12.x', Environment: this.renderEnvironmentVariables(props.environment), + Description: props.description ?? undefined, }, }); diff --git a/packages/@aws-cdk/core/test/custom-resource-provider/custom-resource-provider.test.ts b/packages/@aws-cdk/core/test/custom-resource-provider/custom-resource-provider.test.ts index b6c1e608e2f59..594f9c2936ff1 100644 --- a/packages/@aws-cdk/core/test/custom-resource-provider/custom-resource-provider.test.ts +++ b/packages/@aws-cdk/core/test/custom-resource-provider/custom-resource-provider.test.ts @@ -187,7 +187,7 @@ nodeunitShim({ test.done(); }, - 'memorySize and timeout'(test: Test) { + 'memorySize, timeout and description'(test: Test) { // GIVEN const stack = new Stack(); @@ -197,6 +197,7 @@ nodeunitShim({ runtime: CustomResourceProviderRuntime.NODEJS_12, memorySize: Size.gibibytes(2), timeout: Duration.minutes(5), + description: 'veni vidi vici', }); // THEN @@ -204,6 +205,7 @@ nodeunitShim({ const lambda = template.Resources.CustomMyResourceTypeCustomResourceProviderHandler29FBDD2A; test.deepEqual(lambda.Properties.MemorySize, 2048); test.deepEqual(lambda.Properties.Timeout, 300); + test.deepEqual(lambda.Properties.Description, 'veni vidi vici'); test.done(); },