diff --git a/dependency_licenses.txt b/dependency_licenses.txt index b181957dc6..840b2827d0 100644 --- a/dependency_licenses.txt +++ b/dependency_licenses.txt @@ -1758,7 +1758,7 @@ Apache License ----- -The following software may be included in this product: @aws-sdk/abort-controller, @aws-sdk/chunked-blob-reader, @aws-sdk/chunked-blob-reader-native, @aws-sdk/config-resolver, @aws-sdk/credential-provider-env, @aws-sdk/credential-provider-imds, @aws-sdk/credential-provider-ini, @aws-sdk/credential-provider-node, @aws-sdk/credential-providers, @aws-sdk/fetch-http-handler, @aws-sdk/hash-blob-browser, @aws-sdk/hash-node, @aws-sdk/hash-stream-node, @aws-sdk/is-array-buffer, @aws-sdk/lib-storage, @aws-sdk/md5-js, @aws-sdk/middleware-content-length, @aws-sdk/middleware-endpoint, @aws-sdk/middleware-sdk-ec2, @aws-sdk/middleware-signing, @aws-sdk/middleware-stack, @aws-sdk/node-http-handler, @aws-sdk/property-provider, @aws-sdk/region-config-resolver, @aws-sdk/shared-ini-file-loader, @aws-sdk/signature-v4, @aws-sdk/token-providers, @aws-sdk/types, @aws-sdk/util-arn-parser, @aws-sdk/util-base64, @aws-sdk/util-base64-browser, @aws-sdk/util-base64-node, @aws-sdk/util-body-length-browser, @aws-sdk/util-body-length-node, @aws-sdk/util-buffer-from, @aws-sdk/util-endpoints, @aws-sdk/util-format-url, @aws-sdk/util-hex-encoding, @aws-sdk/util-locate-window, @aws-sdk/util-uri-escape, @aws-sdk/util-utf8, @aws-sdk/util-utf8-browser, @aws-sdk/util-utf8-node, @aws-sdk/util-waiter, @aws-sdk/xml-builder, @smithy/abort-controller, @smithy/chunked-blob-reader, @smithy/chunked-blob-reader-native, @smithy/config-resolver, @smithy/credential-provider-imds, @smithy/fetch-http-handler, @smithy/hash-blob-browser, @smithy/hash-node, @smithy/hash-stream-node, @smithy/is-array-buffer, @smithy/md5-js, @smithy/middleware-content-length, @smithy/middleware-endpoint, @smithy/middleware-stack, @smithy/node-http-handler, @smithy/property-provider, @smithy/shared-ini-file-loader, @smithy/signature-v4, @smithy/util-base64, @smithy/util-body-length-browser, @smithy/util-body-length-node, @smithy/util-buffer-from, @smithy/util-hex-encoding, @smithy/util-stream, @smithy/util-uri-escape, @smithy/util-utf8, @smithy/util-waiter. A copy of the source code may be downloaded from https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/abort-controller), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/chunked-blob-reader), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/chunked-blob-reader-native), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/config-resolver), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/credential-provider-env), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/credential-provider-imds), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/credential-provider-ini), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/credential-provider-node), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/credential-providers), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/fetch-http-handler), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/hash-blob-browser), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/hash-node), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/hash-stream-node), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/is-array-buffer), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/lib-storage), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/md5-js), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-content-length), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-endpoint), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-sdk-ec2), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-signing), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-stack), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/node-http-handler), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/property-provider), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/region-config-resolver), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/shared-ini-file-loader), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/signature-v4), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/token-providers), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/types), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-arn-parser), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-base64), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-base64-browser), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-base64-node), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-body-length-browser), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-body-length-node), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-buffer-from), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-endpoints), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-format-url), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-hex-encoding), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-locate-window), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-uri-escape), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-utf8), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-utf8-browser), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-utf8-node), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-waiter), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/xml-builder), https://github.com/awslabs/smithy-typescript.git (@smithy/abort-controller), https://github.com/awslabs/smithy-typescript.git (@smithy/chunked-blob-reader), https://github.com/awslabs/smithy-typescript.git (@smithy/chunked-blob-reader-native), https://github.com/awslabs/smithy-typescript.git (@smithy/config-resolver), https://github.com/awslabs/smithy-typescript.git (@smithy/credential-provider-imds), https://github.com/awslabs/smithy-typescript.git (@smithy/fetch-http-handler), https://github.com/awslabs/smithy-typescript.git (@smithy/hash-blob-browser), https://github.com/awslabs/smithy-typescript.git (@smithy/hash-node), https://github.com/awslabs/smithy-typescript.git (@smithy/hash-stream-node), https://github.com/awslabs/smithy-typescript.git (@smithy/is-array-buffer), https://github.com/awslabs/smithy-typescript.git (@smithy/md5-js), https://github.com/awslabs/smithy-typescript.git (@smithy/middleware-content-length), https://github.com/awslabs/smithy-typescript.git (@smithy/middleware-endpoint), https://github.com/awslabs/smithy-typescript.git (@smithy/middleware-stack), https://github.com/awslabs/smithy-typescript.git (@smithy/node-http-handler), https://github.com/awslabs/smithy-typescript.git (@smithy/property-provider), https://github.com/awslabs/smithy-typescript.git (@smithy/shared-ini-file-loader), https://github.com/awslabs/smithy-typescript.git (@smithy/signature-v4), https://github.com/awslabs/smithy-typescript.git (@smithy/util-base64), https://github.com/awslabs/smithy-typescript.git (@smithy/util-body-length-browser), https://github.com/awslabs/smithy-typescript.git (@smithy/util-body-length-node), https://github.com/awslabs/smithy-typescript.git (@smithy/util-buffer-from), https://github.com/awslabs/smithy-typescript.git (@smithy/util-hex-encoding), https://github.com/awslabs/smithy-typescript.git (@smithy/util-stream), https://github.com/awslabs/smithy-typescript.git (@smithy/util-uri-escape), https://github.com/awslabs/smithy-typescript.git (@smithy/util-utf8), https://github.com/awslabs/smithy-typescript.git (@smithy/util-waiter). This software contains the following license and notice below: +The following software may be included in this product: @aws-sdk/abort-controller, @aws-sdk/chunked-blob-reader, @aws-sdk/chunked-blob-reader-native, @aws-sdk/config-resolver, @aws-sdk/credential-provider-env, @aws-sdk/credential-provider-imds, @aws-sdk/credential-provider-ini, @aws-sdk/credential-provider-node, @aws-sdk/credential-providers, @aws-sdk/fetch-http-handler, @aws-sdk/hash-blob-browser, @aws-sdk/hash-node, @aws-sdk/hash-stream-node, @aws-sdk/is-array-buffer, @aws-sdk/lib-storage, @aws-sdk/md5-js, @aws-sdk/middleware-content-length, @aws-sdk/middleware-sdk-ec2, @aws-sdk/middleware-signing, @aws-sdk/middleware-stack, @aws-sdk/node-http-handler, @aws-sdk/property-provider, @aws-sdk/region-config-resolver, @aws-sdk/shared-ini-file-loader, @aws-sdk/signature-v4, @aws-sdk/token-providers, @aws-sdk/types, @aws-sdk/util-arn-parser, @aws-sdk/util-base64-browser, @aws-sdk/util-base64-node, @aws-sdk/util-body-length-browser, @aws-sdk/util-body-length-node, @aws-sdk/util-buffer-from, @aws-sdk/util-endpoints, @aws-sdk/util-format-url, @aws-sdk/util-hex-encoding, @aws-sdk/util-locate-window, @aws-sdk/util-uri-escape, @aws-sdk/util-utf8-browser, @aws-sdk/util-utf8-node, @aws-sdk/util-waiter, @aws-sdk/xml-builder, @smithy/abort-controller, @smithy/chunked-blob-reader, @smithy/chunked-blob-reader-native, @smithy/config-resolver, @smithy/credential-provider-imds, @smithy/fetch-http-handler, @smithy/hash-blob-browser, @smithy/hash-node, @smithy/hash-stream-node, @smithy/is-array-buffer, @smithy/md5-js, @smithy/middleware-content-length, @smithy/middleware-endpoint, @smithy/middleware-stack, @smithy/node-http-handler, @smithy/property-provider, @smithy/shared-ini-file-loader, @smithy/signature-v4, @smithy/util-base64, @smithy/util-body-length-browser, @smithy/util-body-length-node, @smithy/util-buffer-from, @smithy/util-hex-encoding, @smithy/util-stream, @smithy/util-uri-escape, @smithy/util-utf8, @smithy/util-waiter. A copy of the source code may be downloaded from https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/abort-controller), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/chunked-blob-reader), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/chunked-blob-reader-native), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/config-resolver), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/credential-provider-env), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/credential-provider-imds), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/credential-provider-ini), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/credential-provider-node), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/credential-providers), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/fetch-http-handler), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/hash-blob-browser), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/hash-node), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/hash-stream-node), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/is-array-buffer), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/lib-storage), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/md5-js), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-content-length), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-sdk-ec2), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-signing), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-stack), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/node-http-handler), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/property-provider), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/region-config-resolver), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/shared-ini-file-loader), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/signature-v4), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/token-providers), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/types), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-arn-parser), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-base64-browser), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-base64-node), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-body-length-browser), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-body-length-node), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-buffer-from), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-endpoints), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-format-url), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-hex-encoding), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-locate-window), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-uri-escape), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-utf8-browser), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-utf8-node), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-waiter), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/xml-builder), https://github.com/awslabs/smithy-typescript.git (@smithy/abort-controller), https://github.com/awslabs/smithy-typescript.git (@smithy/chunked-blob-reader), https://github.com/awslabs/smithy-typescript.git (@smithy/chunked-blob-reader-native), https://github.com/awslabs/smithy-typescript.git (@smithy/config-resolver), https://github.com/awslabs/smithy-typescript.git (@smithy/credential-provider-imds), https://github.com/awslabs/smithy-typescript.git (@smithy/fetch-http-handler), https://github.com/awslabs/smithy-typescript.git (@smithy/hash-blob-browser), https://github.com/awslabs/smithy-typescript.git (@smithy/hash-node), https://github.com/awslabs/smithy-typescript.git (@smithy/hash-stream-node), https://github.com/awslabs/smithy-typescript.git (@smithy/is-array-buffer), https://github.com/awslabs/smithy-typescript.git (@smithy/md5-js), https://github.com/awslabs/smithy-typescript.git (@smithy/middleware-content-length), https://github.com/awslabs/smithy-typescript.git (@smithy/middleware-endpoint), https://github.com/awslabs/smithy-typescript.git (@smithy/middleware-stack), https://github.com/awslabs/smithy-typescript.git (@smithy/node-http-handler), https://github.com/awslabs/smithy-typescript.git (@smithy/property-provider), https://github.com/awslabs/smithy-typescript.git (@smithy/shared-ini-file-loader), https://github.com/awslabs/smithy-typescript.git (@smithy/signature-v4), https://github.com/awslabs/smithy-typescript.git (@smithy/util-base64), https://github.com/awslabs/smithy-typescript.git (@smithy/util-body-length-browser), https://github.com/awslabs/smithy-typescript.git (@smithy/util-body-length-node), https://github.com/awslabs/smithy-typescript.git (@smithy/util-buffer-from), https://github.com/awslabs/smithy-typescript.git (@smithy/util-hex-encoding), https://github.com/awslabs/smithy-typescript.git (@smithy/util-stream), https://github.com/awslabs/smithy-typescript.git (@smithy/util-uri-escape), https://github.com/awslabs/smithy-typescript.git (@smithy/util-utf8), https://github.com/awslabs/smithy-typescript.git (@smithy/util-waiter). This software contains the following license and notice below: Apache License Version 2.0, January 2004 @@ -1964,7 +1964,7 @@ Apache License ----- -The following software may be included in this product: @aws-sdk/client-cloudwatch-logs, @aws-sdk/client-cognito-identity, @aws-sdk/client-comprehend, @aws-sdk/client-dynamodb, @aws-sdk/client-ec2, @aws-sdk/client-firehose, @aws-sdk/client-iam, @aws-sdk/client-kinesis, @aws-sdk/client-kms, @aws-sdk/client-lambda, @aws-sdk/client-lex-runtime-service, @aws-sdk/client-personalize-events, @aws-sdk/client-pinpoint, @aws-sdk/client-polly, @aws-sdk/client-rds, @aws-sdk/client-rekognition, @aws-sdk/client-s3, @aws-sdk/client-secrets-manager, @aws-sdk/client-sfn, @aws-sdk/client-ssm, @aws-sdk/client-sso, @aws-sdk/client-sso-oidc, @aws-sdk/client-sts, @aws-sdk/client-textract, @aws-sdk/client-translate, @aws-sdk/credential-provider-cognito-identity, @aws-sdk/eventstream-codec, @aws-sdk/eventstream-marshaller, @aws-sdk/middleware-apply-body-checksum, @aws-sdk/middleware-bucket-endpoint, @aws-sdk/middleware-endpoint-discovery, @aws-sdk/middleware-eventstream, @aws-sdk/middleware-expect-continue, @aws-sdk/middleware-header-default, @aws-sdk/middleware-location-constraint, @aws-sdk/middleware-retry, @aws-sdk/middleware-sdk-rds, @aws-sdk/middleware-sdk-sts, @aws-sdk/middleware-ssec, @aws-sdk/querystring-builder, @aws-sdk/querystring-parser, @aws-sdk/service-error-classification, @aws-sdk/url-parser, @aws-sdk/url-parser-native, @aws-sdk/util-defaults-mode-browser, @aws-sdk/util-defaults-mode-node, @aws-sdk/util-user-agent-browser, @aws-sdk/util-user-agent-node, @smithy/eventstream-codec, @smithy/middleware-retry, @smithy/querystring-builder, @smithy/querystring-parser, @smithy/service-error-classification, @smithy/url-parser, @smithy/util-defaults-mode-browser, @smithy/util-defaults-mode-node. A copy of the source code may be downloaded from https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-cloudwatch-logs), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-cognito-identity), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-comprehend), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-dynamodb), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-ec2), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-firehose), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-iam), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-kinesis), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-kms), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-lambda), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-lex-runtime-service), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-personalize-events), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-pinpoint), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-polly), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-rds), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-rekognition), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-s3), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-secrets-manager), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-sfn), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-ssm), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-sso), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-sso-oidc), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-sts), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-textract), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-translate), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/credential-provider-cognito-identity), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/eventstream-codec), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/eventstream-marshaller), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-apply-body-checksum), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-bucket-endpoint), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-endpoint-discovery), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-eventstream), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-expect-continue), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-header-default), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-location-constraint), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-retry), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-sdk-rds), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-sdk-sts), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-ssec), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/querystring-builder), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/querystring-parser), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/service-error-classification), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/url-parser), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/url-parser-native), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-defaults-mode-browser), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-defaults-mode-node), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-user-agent-browser), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-user-agent-node), https://github.com/awslabs/smithy-typescript.git (@smithy/eventstream-codec), https://github.com/awslabs/smithy-typescript.git (@smithy/middleware-retry), https://github.com/awslabs/smithy-typescript.git (@smithy/querystring-builder), https://github.com/awslabs/smithy-typescript.git (@smithy/querystring-parser), https://github.com/awslabs/smithy-typescript.git (@smithy/service-error-classification), https://github.com/awslabs/smithy-typescript.git (@smithy/url-parser), https://github.com/awslabs/smithy-typescript.git (@smithy/util-defaults-mode-browser), https://github.com/awslabs/smithy-typescript.git (@smithy/util-defaults-mode-node). This software contains the following license and notice below: +The following software may be included in this product: @aws-sdk/client-cloudwatch-logs, @aws-sdk/client-cognito-identity, @aws-sdk/client-comprehend, @aws-sdk/client-dynamodb, @aws-sdk/client-ec2, @aws-sdk/client-firehose, @aws-sdk/client-iam, @aws-sdk/client-kinesis, @aws-sdk/client-kms, @aws-sdk/client-lambda, @aws-sdk/client-lex-runtime-service, @aws-sdk/client-personalize-events, @aws-sdk/client-pinpoint, @aws-sdk/client-polly, @aws-sdk/client-rds, @aws-sdk/client-rds-data, @aws-sdk/client-rekognition, @aws-sdk/client-s3, @aws-sdk/client-secrets-manager, @aws-sdk/client-sfn, @aws-sdk/client-ssm, @aws-sdk/client-sso, @aws-sdk/client-sso-oidc, @aws-sdk/client-sts, @aws-sdk/client-textract, @aws-sdk/client-translate, @aws-sdk/credential-provider-cognito-identity, @aws-sdk/eventstream-codec, @aws-sdk/eventstream-marshaller, @aws-sdk/middleware-apply-body-checksum, @aws-sdk/middleware-bucket-endpoint, @aws-sdk/middleware-endpoint-discovery, @aws-sdk/middleware-eventstream, @aws-sdk/middleware-expect-continue, @aws-sdk/middleware-header-default, @aws-sdk/middleware-location-constraint, @aws-sdk/middleware-retry, @aws-sdk/middleware-sdk-rds, @aws-sdk/middleware-sdk-sts, @aws-sdk/middleware-ssec, @aws-sdk/querystring-builder, @aws-sdk/querystring-parser, @aws-sdk/service-error-classification, @aws-sdk/url-parser, @aws-sdk/url-parser-native, @aws-sdk/util-defaults-mode-browser, @aws-sdk/util-defaults-mode-node, @aws-sdk/util-user-agent-browser, @aws-sdk/util-user-agent-node, @smithy/eventstream-codec, @smithy/middleware-retry, @smithy/querystring-builder, @smithy/querystring-parser, @smithy/service-error-classification, @smithy/url-parser, @smithy/util-defaults-mode-browser, @smithy/util-defaults-mode-node. A copy of the source code may be downloaded from https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-cloudwatch-logs), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-cognito-identity), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-comprehend), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-dynamodb), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-ec2), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-firehose), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-iam), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-kinesis), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-kms), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-lambda), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-lex-runtime-service), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-personalize-events), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-pinpoint), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-polly), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-rds), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-rds-data), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-rekognition), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-s3), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-secrets-manager), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-sfn), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-ssm), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-sso), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-sso-oidc), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-sts), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-textract), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/client-translate), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/credential-provider-cognito-identity), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/eventstream-codec), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/eventstream-marshaller), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-apply-body-checksum), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-bucket-endpoint), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-endpoint-discovery), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-eventstream), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-expect-continue), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-header-default), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-location-constraint), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-retry), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-sdk-rds), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-sdk-sts), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/middleware-ssec), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/querystring-builder), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/querystring-parser), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/service-error-classification), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/url-parser), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/url-parser-native), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-defaults-mode-browser), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-defaults-mode-node), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-user-agent-browser), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-user-agent-node), https://github.com/awslabs/smithy-typescript.git (@smithy/eventstream-codec), https://github.com/awslabs/smithy-typescript.git (@smithy/middleware-retry), https://github.com/awslabs/smithy-typescript.git (@smithy/querystring-builder), https://github.com/awslabs/smithy-typescript.git (@smithy/querystring-parser), https://github.com/awslabs/smithy-typescript.git (@smithy/service-error-classification), https://github.com/awslabs/smithy-typescript.git (@smithy/url-parser), https://github.com/awslabs/smithy-typescript.git (@smithy/util-defaults-mode-browser), https://github.com/awslabs/smithy-typescript.git (@smithy/util-defaults-mode-node). This software contains the following license and notice below: Apache License Version 2.0, January 2004 @@ -3200,7 +3200,7 @@ Apache License ----- -The following software may be included in this product: @aws-sdk/util-middleware, @aws-sdk/util-retry, @smithy/util-endpoints, @smithy/util-middleware, @smithy/util-retry. A copy of the source code may be downloaded from https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-middleware), https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-retry), https://github.com/awslabs/smithy-typescript.git (@smithy/util-endpoints), https://github.com/awslabs/smithy-typescript.git (@smithy/util-middleware), https://github.com/awslabs/smithy-typescript.git (@smithy/util-retry). This software contains the following license and notice below: +The following software may be included in this product: @aws-sdk/util-middleware, @smithy/util-endpoints, @smithy/util-middleware, @smithy/util-retry. A copy of the source code may be downloaded from https://github.com/aws/aws-sdk-js-v3.git (@aws-sdk/util-middleware), https://github.com/awslabs/smithy-typescript.git (@smithy/util-endpoints), https://github.com/awslabs/smithy-typescript.git (@smithy/util-middleware), https://github.com/awslabs/smithy-typescript.git (@smithy/util-retry). This software contains the following license and notice below: Apache License Version 2.0, January 2004 diff --git a/packages/amplify-category-api/src/graphql-transformer/transformer-options-v2.ts b/packages/amplify-category-api/src/graphql-transformer/transformer-options-v2.ts index bd4cc5ca77..c9ee94f695 100644 --- a/packages/amplify-category-api/src/graphql-transformer/transformer-options-v2.ts +++ b/packages/amplify-category-api/src/graphql-transformer/transformer-options-v2.ts @@ -291,6 +291,8 @@ const generateTransformParameters = ( allowDestructiveGraphqlSchemaUpdates: false, replaceTableUponGsiUpdate: false, allowGen1Patterns: true, + // TODO: decide name before merging to main + enableGen2Migration: featureFlagProvider.getBoolean('enableGen2Migration'), }; }; diff --git a/packages/amplify-graphql-model-transformer/src/__tests__/model-transformer.test.ts b/packages/amplify-graphql-model-transformer/src/__tests__/model-transformer.test.ts index a84fc4d68c..bbdc22cfec 100644 --- a/packages/amplify-graphql-model-transformer/src/__tests__/model-transformer.test.ts +++ b/packages/amplify-graphql-model-transformer/src/__tests__/model-transformer.test.ts @@ -9,7 +9,7 @@ import { } from '@aws-amplify/graphql-transformer-core'; import { InputObjectTypeDefinitionNode, InputValueDefinitionNode, NamedTypeNode, parse } from 'graphql'; import { getBaseType } from 'graphql-transformer-common'; -import { Template } from 'aws-cdk-lib/assertions'; +import { Template, Match } from 'aws-cdk-lib/assertions'; import { testTransform } from '@aws-amplify/graphql-transformer-test-utils'; import { PrimaryKeyTransformer } from '@aws-amplify/graphql-index-transformer'; import { VpcConfig, ModelDataSourceStrategySqlDbType, SQLLambdaModelDataSourceStrategy } from '@aws-amplify/graphql-transformer-interfaces'; @@ -2316,4 +2316,99 @@ describe('ModelTransformer:', () => { expect(directiveNames).toContain('aws_iam'); }); }); + + describe('migration', () => { + it('should output data source mapping', async () => { + const validSchema = ` + type Post @model { + id: ID! + title: String! + } + `; + + const out = testTransform({ + schema: validSchema, + transformers: [new ModelTransformer()], + transformParameters: { + enableGen2Migration: true, + }, + }); + expect(out).toBeDefined(); + const template = Template.fromJSON(out.rootStack); + template.hasOutput('DataSourceMappingOutput', { + Value: Match.objectLike({ + 'Fn::Join': [ + '', + [ + '{"Post":"', + { + 'Fn::GetAtt': ['Post', 'Outputs.transformerrootstackPostPostTable34CAE87BRef'], + }, + '"}', + ], + ], + }), + Description: 'Mapping of model name to data source table name.', + }); + }); + + it('should set table removal policy to retain', () => { + const validSchema = ` + type Post @model { + id: ID! + title: String! + } + `; + + const out = testTransform({ + schema: validSchema, + transformers: [new ModelTransformer()], + transformParameters: { + enableGen2Migration: true, + }, + }); + expect(out).toBeDefined(); + const postStack = out.stacks['Post']; + const template = Template.fromJSON(postStack); + template.hasResource('AWS::DynamoDB::Table', { + DeletionPolicy: 'Retain', + Properties: { + TableName: { + 'Fn::Join': [ + '', + [ + 'Post-', + { + Ref: 'referencetotransformerrootstackGraphQLAPI20497F53ApiId', + }, + '-', + { + Ref: 'referencetotransformerrootstackenv10C5A902Ref', + }, + ], + ], + }, + }, + }); + }); + + describe('does not add SQL data sources to mapping', () => { + test.each(sqlDatasources)('%s', (dbType) => { + const validSchema = ` + type Post @model { + id: ID! @primaryKey + title: String! + } + `; + + const out = testTransform({ + schema: validSchema, + transformers: [new ModelTransformer(), new PrimaryKeyTransformer()], + dataSourceStrategies: constructDataSourceStrategies(validSchema, makeStrategy(dbType)), + }); + expect(out).toBeDefined(); + expect(out.rootStack.Outputs?.DataSourceMappingOutput).toBeUndefined(); + }); + }); + }); }); diff --git a/packages/amplify-graphql-model-transformer/src/graphql-model-transformer.ts b/packages/amplify-graphql-model-transformer/src/graphql-model-transformer.ts index 2b48fa7238..7e5e57de5d 100644 --- a/packages/amplify-graphql-model-transformer/src/graphql-model-transformer.ts +++ b/packages/amplify-graphql-model-transformer/src/graphql-model-transformer.ts @@ -34,6 +34,7 @@ import { TransformerTransformSchemaStepContextProvider, TransformerValidationStepContextProvider, DataSourceStrategiesProvider, + DataSourceProvider, } from '@aws-amplify/graphql-transformer-interfaces'; import { ModelDirective } from '@aws-amplify/graphql-directives'; import { ITable } from 'aws-cdk-lib/aws-dynamodb'; @@ -323,9 +324,31 @@ export class ModelTransformer extends TransformerModelBase implements Transforme }; generateResolvers = (context: TransformerContextProvider): void => { + const dataSourceMapping: Record = {}; this.resourceGeneratorMap.forEach((generator) => { generator.generateResources(context); + const ddbDatasources = Object.entries(generator.getDatasourceMap()).filter( + ([, datasource]) => datasource.ds.type === 'AMAZON_DYNAMODB', + ); + ddbDatasources.forEach(([modelName, datasource]) => { + if (datasource.ds.dynamoDbConfig && !cdk.isResolvableObject(datasource.ds.dynamoDbConfig)) { + dataSourceMapping[modelName] = datasource.ds.dynamoDbConfig.tableName; + } + // TODO: probably need a link to docs for this + console.warn( + `Could not resolve table name for ${modelName}. DataSourceMappingOutput is incomplete. Please manually add ${modelName} to the mapping for your migration.`, + ); + }); }); + if (context.transformParameters.enableGen2Migration && context.transformParameters.enableTransformerCfnOutputs) { + const { scope } = context.stackManager; + // TODO: decide final naming before merge to main + new cdk.CfnOutput(cdk.Stack.of(scope), 'DataSourceMappingOutput', { + value: cdk.Stack.of(scope).toJsonString(dataSourceMapping), + description: 'Mapping of model name to data source table name.', + exportName: cdk.Fn.join(':', [cdk.Aws.STACK_NAME, 'DataSourceMappingOutput']), + }); + } }; generateGetResolver = ( diff --git a/packages/amplify-graphql-model-transformer/src/resources/dynamo-model-resource-generator.ts b/packages/amplify-graphql-model-transformer/src/resources/dynamo-model-resource-generator.ts index a348ba6dee..2fd416ea89 100644 --- a/packages/amplify-graphql-model-transformer/src/resources/dynamo-model-resource-generator.ts +++ b/packages/amplify-graphql-model-transformer/src/resources/dynamo-model-resource-generator.ts @@ -68,7 +68,10 @@ export class DynamoModelResourceGenerator extends ModelResourceGenerator { expression: cdk.Fn.conditionEquals(pointInTimeRecovery, 'true'), }); - const removalPolicy = this.options.EnableDeletionProtection ? cdk.RemovalPolicy.RETAIN : cdk.RemovalPolicy.DESTROY; + const removalPolicy = + this.options.EnableDeletionProtection || context.transformParameters.enableGen2Migration + ? cdk.RemovalPolicy.RETAIN + : cdk.RemovalPolicy.DESTROY; // Expose a way in context to allow proper resource naming const table = new Table(scope, tableLogicalName, { diff --git a/packages/amplify-graphql-model-transformer/src/resources/model-resource-generator.ts b/packages/amplify-graphql-model-transformer/src/resources/model-resource-generator.ts index 6a0ff672ee..4f77d87560 100644 --- a/packages/amplify-graphql-model-transformer/src/resources/model-resource-generator.ts +++ b/packages/amplify-graphql-model-transformer/src/resources/model-resource-generator.ts @@ -730,4 +730,8 @@ export abstract class ModelResourceGenerator { return fields; }; + + getDatasourceMap(): Record { + return this.datasourceMap; + } } diff --git a/packages/amplify-graphql-transformer-core/src/transformer-context/transform-parameters.ts b/packages/amplify-graphql-transformer-core/src/transformer-context/transform-parameters.ts index f40c7ee1fb..1c6b1142da 100644 --- a/packages/amplify-graphql-transformer-core/src/transformer-context/transform-parameters.ts +++ b/packages/amplify-graphql-transformer-core/src/transformer-context/transform-parameters.ts @@ -27,4 +27,7 @@ export const defaultTransformParameters: TransformParameters = { // Search Params enableSearchNodeToNodeEncryption: false, + + // Migration + enableGen2Migration: false, }; diff --git a/packages/amplify-graphql-transformer-interfaces/API.md b/packages/amplify-graphql-transformer-interfaces/API.md index 97195a5c56..58d0eda8f2 100644 --- a/packages/amplify-graphql-transformer-interfaces/API.md +++ b/packages/amplify-graphql-transformer-interfaces/API.md @@ -923,6 +923,7 @@ export type TransformParameters = { enableAutoIndexQueryNames: boolean; respectPrimaryKeyAttributesOnConnectionField: boolean; enableSearchNodeToNodeEncryption: boolean; + enableGen2Migration: boolean; }; // @public (undocumented) diff --git a/packages/amplify-graphql-transformer-interfaces/src/transformer-context/transform-parameters.ts b/packages/amplify-graphql-transformer-interfaces/src/transformer-context/transform-parameters.ts index 6f82377918..a68f779d62 100644 --- a/packages/amplify-graphql-transformer-interfaces/src/transformer-context/transform-parameters.ts +++ b/packages/amplify-graphql-transformer-interfaces/src/transformer-context/transform-parameters.ts @@ -31,4 +31,7 @@ export type TransformParameters = { // Search Params enableSearchNodeToNodeEncryption: boolean; + + // Migration + enableGen2Migration: boolean; }; diff --git a/packages/amplify-graphql-transformer/src/__tests__/graphql-transformer.test.ts b/packages/amplify-graphql-transformer/src/__tests__/graphql-transformer.test.ts index 9cd5e3c2b6..e08fb789ad 100644 --- a/packages/amplify-graphql-transformer/src/__tests__/graphql-transformer.test.ts +++ b/packages/amplify-graphql-transformer/src/__tests__/graphql-transformer.test.ts @@ -65,6 +65,7 @@ const defaultTransformConfig: TransformConfig = { allowDestructiveGraphqlSchemaUpdates: false, replaceTableUponGsiUpdate: false, allowGen1Patterns: true, + enableGen2Migration: false, }, }; diff --git a/packages/amplify-util-mock/src/__e2e__/utils/index.ts b/packages/amplify-util-mock/src/__e2e__/utils/index.ts index 6d9c3709d3..92a3a4a312 100644 --- a/packages/amplify-util-mock/src/__e2e__/utils/index.ts +++ b/packages/amplify-util-mock/src/__e2e__/utils/index.ts @@ -69,6 +69,7 @@ export const defaultTransformParams: Pick