From 4bf0762fa04da9f7e494bc0ab2f1e3c0d65260fd Mon Sep 17 00:00:00 2001 From: Rico Hermans Date: Fri, 4 Aug 2023 15:53:16 +0200 Subject: [PATCH] docs(custom-resources): remove section about experimental SDKv3 support (#26631) `AwsCustomResource` now uses Node18/SDKv3 by default. This support is no longer experimental, and it does not require passing in different string values into the properties of the custom resource. The V2 strings can be used to interact with the V3 SDK. ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license* --- .../aws-cdk-lib/custom-resources/README.md | 34 +------------------ 1 file changed, 1 insertion(+), 33 deletions(-) diff --git a/packages/aws-cdk-lib/custom-resources/README.md b/packages/aws-cdk-lib/custom-resources/README.md index ff26dce218187..7f6db76c67f1a 100644 --- a/packages/aws-cdk-lib/custom-resources/README.md +++ b/packages/aws-cdk-lib/custom-resources/README.md @@ -431,7 +431,7 @@ Path to data must be specified using a dot notation, e.g. to get the string valu of the `Title` attribute for the first item returned by `dynamodb.query` it should be `Items.0.Title.S`. -To make sure that the newest API calls are available the latest AWS SDK v2 is installed +To make sure that the newest API calls are available the latest AWS SDK v3 is installed in the Lambda function implementing the custom resource. The installation takes around 60 seconds. If you prefer to optimize for speed, you can disable the installation by setting the `installLatestAwsSdk` prop to `false`. @@ -648,35 +648,3 @@ const getParameter = new cr.AwsCustomResource(this, 'AssociateVPCWithHostedZone' }), }); ``` - -#### Using AWS SDK for JavaScript v3 - -`AwsCustomResource` experimentally supports AWS SDK for JavaScript v3 (NODEJS_18_X or higher). In AWS SDK for JavaScript v3, packages are installed for each service. Therefore, specify the package name for `service`. Also, `action` specifies the XxxClient operations provided in the package. This example is the same as `SSM.getParameter` in v2. - -```ts -import * as regionInfo from 'aws-cdk-lib/region-info'; - -class MyFact implements regionInfo.IFact { - public readonly region = 'us-east-1'; - public readonly name = regionInfo.FactName.DEFAULT_CR_NODE_VERSION; - public readonly value = lambda.Runtime.NODEJS_18_X.name; -} - -// change custom resource default runtime -regionInfo.Fact.register(new MyFact(), true); - -new cr.AwsCustomResource(this, 'GetParameter', { - resourceType: 'Custom::SSMParameter', - onUpdate: { - service: '@aws-sdk/client-ssm', // 'SSM' in v2 - action: 'GetParameterCommand', // 'getParameter' in v2 - parameters: { - Name: 'foo', - WithDecryption: true, - }, - physicalResourceId: cr.PhysicalResourceId.fromResponse('Parameter.ARN'), - }, -}); -``` - -If you are using `NODEJS_18_X` or higher, you can also use the existing AWS SDK for JavaScript v2 style.