From 84d9c25d22b89f334d79fac3c44ae55104c6bdf8 Mon Sep 17 00:00:00 2001 From: awstools Date: Mon, 27 Feb 2023 19:13:08 +0000 Subject: [PATCH] feat(client-lambda): This release adds the ability to create ESMs with Document DB change streams as event source. For more information see https://docs.aws.amazon.com/lambda/latest/dg/with-documentdb.html. --- .../src/endpoint/EndpointParameters.ts | 2 +- clients/client-lambda/src/endpoint/ruleset.ts | 39 +- clients/client-lambda/src/models/models_0.ts | 92 +- .../src/protocols/Aws_restJson1.ts | 66 + codegen/sdk-codegen/aws-models/lambda.json | 2214 +++++++---------- 5 files changed, 1039 insertions(+), 1374 deletions(-) diff --git a/clients/client-lambda/src/endpoint/EndpointParameters.ts b/clients/client-lambda/src/endpoint/EndpointParameters.ts index ee63a04f76f5..ba9faac2a1b9 100644 --- a/clients/client-lambda/src/endpoint/EndpointParameters.ts +++ b/clients/client-lambda/src/endpoint/EndpointParameters.ts @@ -24,7 +24,7 @@ export const resolveClientEndpointParameters = ( }; export interface EndpointParameters extends __EndpointParameters { - Region: string; + Region?: string; UseDualStack?: boolean; UseFIPS?: boolean; Endpoint?: string; diff --git a/clients/client-lambda/src/endpoint/ruleset.ts b/clients/client-lambda/src/endpoint/ruleset.ts index ef92e82fd854..e417e382b0a9 100644 --- a/clients/client-lambda/src/endpoint/ruleset.ts +++ b/clients/client-lambda/src/endpoint/ruleset.ts @@ -6,24 +6,25 @@ import { RuleSetObject } from "@aws-sdk/util-endpoints"; or see "smithy.rules#endpointRuleSet" in codegen/sdk-codegen/aws-models/lambda.json */ -const q="fn", -r="argv", -s="ref"; -const a=true, -b=false, -c="String", -d="PartitionResult", -e="tree", -f="error", -g="endpoint", -h={"required":true,"default":false,"type":"Boolean"}, -i={[s]:"Endpoint"}, -j={[q]:"booleanEquals",[r]:[{[s]:"UseFIPS"},true]}, -k={[q]:"booleanEquals",[r]:[{[s]:"UseDualStack"},true]}, -l={}, -m={[q]:"booleanEquals",[r]:[true,{[q]:"getAttr",[r]:[{[s]:d},"supportsFIPS"]}]}, -n={[q]:"booleanEquals",[r]:[true,{[q]:"getAttr",[r]:[{[s]:d},"supportsDualStack"]}]}, +const q="required", +r="fn", +s="argv", +t="ref"; +const a="isSet", +b="tree", +c="error", +d="endpoint", +e="PartitionResult", +f={[q]:false,"type":"String"}, +g={[q]:true,"default":false,"type":"Boolean"}, +h={[t]:"Endpoint"}, +i={[r]:"booleanEquals",[s]:[{[t]:"UseFIPS"},true]}, +j={[r]:"booleanEquals",[s]:[{[t]:"UseDualStack"},true]}, +k={}, +l={[r]:"booleanEquals",[s]:[true,{[r]:"getAttr",[s]:[{[t]:e},"supportsFIPS"]}]}, +m={[r]:"booleanEquals",[s]:[true,{[r]:"getAttr",[s]:[{[t]:e},"supportsDualStack"]}]}, +n=[i], o=[j], -p=[k]; -const _data={version:"1.0",parameters:{Region:{required:a,type:c},UseDualStack:h,UseFIPS:h,Endpoint:{required:b,type:c}},rules:[{conditions:[{[q]:"aws.partition",[r]:[{[s]:"Region"}],assign:d}],type:e,rules:[{conditions:[{[q]:"isSet",[r]:[i]}],type:e,rules:[{conditions:o,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:f},{type:e,rules:[{conditions:p,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:f},{endpoint:{url:i,properties:l,headers:l},type:g}]}]},{conditions:[j,k],type:e,rules:[{conditions:[m,n],type:e,rules:[{endpoint:{url:"https://lambda-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:l,headers:l},type:g}]},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:f}]},{conditions:o,type:e,rules:[{conditions:[m],type:e,rules:[{type:e,rules:[{endpoint:{url:"https://lambda-fips.{Region}.{PartitionResult#dnsSuffix}",properties:l,headers:l},type:g}]}]},{error:"FIPS is enabled but this partition does not support FIPS",type:f}]},{conditions:p,type:e,rules:[{conditions:[n],type:e,rules:[{endpoint:{url:"https://lambda.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:l,headers:l},type:g}]},{error:"DualStack is enabled but this partition does not support DualStack",type:f}]},{endpoint:{url:"https://lambda.{Region}.{PartitionResult#dnsSuffix}",properties:l,headers:l},type:g}]}]}; +p=[{[t]:"Region"}]; +const _data={version:"1.0",parameters:{Region:f,UseDualStack:g,UseFIPS:g,Endpoint:f},rules:[{conditions:[{[r]:a,[s]:[h]}],type:b,rules:[{conditions:n,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:c},{type:b,rules:[{conditions:o,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:c},{endpoint:{url:h,properties:k,headers:k},type:d}]}]},{type:b,rules:[{conditions:[{[r]:a,[s]:p}],type:b,rules:[{conditions:[{[r]:"aws.partition",[s]:p,assign:e}],type:b,rules:[{conditions:[i,j],type:b,rules:[{conditions:[l,m],type:b,rules:[{type:b,rules:[{endpoint:{url:"https://lambda-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:k,headers:k},type:d}]}]},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:c}]},{conditions:n,type:b,rules:[{conditions:[l],type:b,rules:[{type:b,rules:[{endpoint:{url:"https://lambda-fips.{Region}.{PartitionResult#dnsSuffix}",properties:k,headers:k},type:d}]}]},{error:"FIPS is enabled but this partition does not support FIPS",type:c}]},{conditions:o,type:b,rules:[{conditions:[m],type:b,rules:[{type:b,rules:[{endpoint:{url:"https://lambda.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:k,headers:k},type:d}]}]},{error:"DualStack is enabled but this partition does not support DualStack",type:c}]},{type:b,rules:[{endpoint:{url:"https://lambda.{Region}.{PartitionResult#dnsSuffix}",properties:k,headers:k},type:d}]}]}]},{error:"Invalid Configuration: Missing Region",type:c}]}]}; export const ruleSet: RuleSetObject = _data; diff --git a/clients/client-lambda/src/models/models_0.ts b/clients/client-lambda/src/models/models_0.ts index 18f8e507ea7c..d3a97d07350c 100644 --- a/clients/client-lambda/src/models/models_0.ts +++ b/clients/client-lambda/src/models/models_0.ts @@ -372,7 +372,7 @@ export interface AddPermissionRequest { /** *

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated - * IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, + * users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, * see Security and auth model for Lambda function URLs.

*/ FunctionUrlAuthType?: FunctionUrlAuthType | string; @@ -620,6 +620,39 @@ export interface DestinationConfig { OnFailure?: OnFailure; } +export enum FullDocument { + Default = "Default", + UpdateLookup = "UpdateLookup", +} + +/** + *

+ * Specific configuration settings for a DocumentDB event source. + *

+ */ +export interface DocumentDBEventSourceConfig { + /** + *

+ * The name of the database to consume within the DocumentDB cluster. + *

+ */ + DatabaseName?: string; + + /** + *

+ * The name of the collection to consume within the database. If you do not specify a collection, Lambda consumes all collections. + *

+ */ + CollectionName?: string; + + /** + *

+ * Determines what DocumentDB sends to your event stream during document update operations. If set to UpdateLookup, DocumentDB sends a delta describing the changes, along with a copy of the entire document. Otherwise, DocumentDB sends only a partial document that contains the changes. + *

+ */ + FullDocument?: FullDocument | string; +} + /** *

* A structure within a FilterCriteria object that defines an event filtering pattern. @@ -956,6 +989,11 @@ export interface CreateEventSourceMappingRequest { *

(Amazon SQS only) The scaling configuration for the event source. For more information, see Configuring maximum concurrency for Amazon SQS event sources.

*/ ScalingConfig?: ScalingConfig; + + /** + *

Specific configuration settings for a DocumentDB event source.

+ */ + DocumentDBEventSourceConfig?: DocumentDBEventSourceConfig; } /** @@ -1105,6 +1143,11 @@ export interface EventSourceMappingConfiguration { *

(Amazon SQS only) The scaling configuration for the event source. For more information, see Configuring maximum concurrency for Amazon SQS event sources.

*/ ScalingConfig?: ScalingConfig; + + /** + *

Specific configuration settings for a DocumentDB event source.

+ */ + DocumentDBEventSourceConfig?: DocumentDBEventSourceConfig; } /** @@ -1398,8 +1441,8 @@ export interface CreateFunctionRequest { FunctionName: string | undefined; /** - *

The identifier of the function's runtime. Runtime is required if the deployment package is a .zip file archive. - *

+ *

The identifier of the function's runtime. Runtime is required if the deployment package is a .zip file archive.

+ *

The following list includes deprecated runtimes. For more information, see Runtime deprecation policy.

*/ Runtime?: Runtime | string; @@ -1467,8 +1510,7 @@ export interface CreateFunctionRequest { Environment?: Environment; /** - *

The ARN of the Key Management Service (KMS) key that's used to encrypt your function's environment - * variables. If it's not provided, Lambda uses a default service key.

+ *

The ARN of the Key Management Service (KMS) customer managed key that's used to encrypt your function's environment variables. When Lambda SnapStart is activated, this key is also used to encrypt your function's snapshot. If you don't provide a customer managed key, Lambda uses a default service key.

*/ KMSKeyArn?: string; @@ -1836,7 +1878,7 @@ export interface FunctionConfiguration { Environment?: EnvironmentResponse; /** - *

The KMS key that's used to encrypt the function's environment variables. This key is + *

The KMS key that's used to encrypt the function's environment variables. When Lambda SnapStart is activated, this key is also used to encrypt the function's snapshot. This key is * returned only if you've configured a customer managed key.

*/ KMSKeyArn?: string; @@ -2044,7 +2086,7 @@ export interface CreateFunctionUrlConfigRequest { /** *

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated - * IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, + * users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, * see Security and auth model for Lambda function URLs.

*/ AuthType: FunctionUrlAuthType | string | undefined; @@ -2069,7 +2111,7 @@ export interface CreateFunctionUrlConfigResponse { /** *

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated - * IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, + * users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, * see Security and auth model for Lambda function URLs.

*/ AuthType: FunctionUrlAuthType | string | undefined; @@ -2742,7 +2784,7 @@ export interface GetFunctionUrlConfigResponse { /** *

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated - * IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, + * users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, * see Security and auth model for Lambda function URLs.

*/ AuthType: FunctionUrlAuthType | string | undefined; @@ -3065,9 +3107,14 @@ export interface GetRuntimeManagementConfigResponse { /** *

The ARN of the runtime the function is configured to use. If the runtime update mode is Manual, the ARN is returned, otherwise null - * is returned.

+ * is returned.

*/ RuntimeVersionArn?: string; + + /** + *

The Amazon Resource Name (ARN) of your function.

+ */ + FunctionArn?: string; } /** @@ -4142,7 +4189,7 @@ export interface FunctionUrlConfig { /** *

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated - * IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, + * users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, * see Security and auth model for Lambda function URLs.

*/ AuthType: FunctionUrlAuthType | string | undefined; @@ -5230,6 +5277,11 @@ export interface UpdateEventSourceMappingRequest { *

(Amazon SQS only) The scaling configuration for the event source. For more information, see Configuring maximum concurrency for Amazon SQS event sources.

*/ ScalingConfig?: ScalingConfig; + + /** + *

Specific configuration settings for a DocumentDB event source.

+ */ + DocumentDBEventSourceConfig?: DocumentDBEventSourceConfig; } export interface UpdateFunctionCodeRequest { @@ -5378,8 +5430,8 @@ export interface UpdateFunctionConfigurationRequest { Environment?: Environment; /** - *

The identifier of the function's runtime. Runtime is required if the deployment package is a .zip file archive. - *

+ *

The identifier of the function's runtime. Runtime is required if the deployment package is a .zip file archive.

+ *

The following list includes deprecated runtimes. For more information, see Runtime deprecation policy.

*/ Runtime?: Runtime | string; @@ -5390,8 +5442,7 @@ export interface UpdateFunctionConfigurationRequest { DeadLetterConfig?: DeadLetterConfig; /** - *

The ARN of the Key Management Service (KMS) key that's used to encrypt your function's environment - * variables. If it's not provided, Lambda uses a default service key.

+ *

The ARN of the Key Management Service (KMS) customer managed key that's used to encrypt your function's environment variables. When Lambda SnapStart is activated, this key is also used to encrypt your function's snapshot. If you don't provide a customer managed key, Lambda uses a default service key.

*/ KMSKeyArn?: string; @@ -5536,7 +5587,7 @@ export interface UpdateFunctionUrlConfigRequest { /** *

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated - * IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, + * users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, * see Security and auth model for Lambda function URLs.

*/ AuthType?: FunctionUrlAuthType | string; @@ -5561,7 +5612,7 @@ export interface UpdateFunctionUrlConfigResponse { /** *

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated - * IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, + * users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, * see Security and auth model for Lambda function URLs.

*/ AuthType: FunctionUrlAuthType | string | undefined; @@ -5711,6 +5762,13 @@ export const DestinationConfigFilterSensitiveLog = (obj: DestinationConfig): any ...obj, }); +/** + * @internal + */ +export const DocumentDBEventSourceConfigFilterSensitiveLog = (obj: DocumentDBEventSourceConfig): any => ({ + ...obj, +}); + /** * @internal */ diff --git a/clients/client-lambda/src/protocols/Aws_restJson1.ts b/clients/client-lambda/src/protocols/Aws_restJson1.ts index 55cf97316461..b6ec576c8f25 100644 --- a/clients/client-lambda/src/protocols/Aws_restJson1.ts +++ b/clients/client-lambda/src/protocols/Aws_restJson1.ts @@ -229,6 +229,7 @@ import { Cors, DeadLetterConfig, DestinationConfig, + DocumentDBEventSourceConfig, EC2AccessDeniedException, EC2ThrottledException, EC2UnexpectedException, @@ -485,6 +486,12 @@ export const serializeAws_restJson1CreateEventSourceMappingCommand = async ( ...(input.DestinationConfig != null && { DestinationConfig: serializeAws_restJson1DestinationConfig(input.DestinationConfig, context), }), + ...(input.DocumentDBEventSourceConfig != null && { + DocumentDBEventSourceConfig: serializeAws_restJson1DocumentDBEventSourceConfig( + input.DocumentDBEventSourceConfig, + context + ), + }), ...(input.Enabled != null && { Enabled: input.Enabled }), ...(input.EventSourceArn != null && { EventSourceArn: input.EventSourceArn }), ...(input.FilterCriteria != null && { @@ -2319,6 +2326,12 @@ export const serializeAws_restJson1UpdateEventSourceMappingCommand = async ( ...(input.DestinationConfig != null && { DestinationConfig: serializeAws_restJson1DestinationConfig(input.DestinationConfig, context), }), + ...(input.DocumentDBEventSourceConfig != null && { + DocumentDBEventSourceConfig: serializeAws_restJson1DocumentDBEventSourceConfig( + input.DocumentDBEventSourceConfig, + context + ), + }), ...(input.Enabled != null && { Enabled: input.Enabled }), ...(input.FilterCriteria != null && { FilterCriteria: serializeAws_restJson1FilterCriteria(input.FilterCriteria, context), @@ -2795,6 +2808,12 @@ export const deserializeAws_restJson1CreateEventSourceMappingCommand = async ( if (data.DestinationConfig != null) { contents.DestinationConfig = deserializeAws_restJson1DestinationConfig(data.DestinationConfig, context); } + if (data.DocumentDBEventSourceConfig != null) { + contents.DocumentDBEventSourceConfig = deserializeAws_restJson1DocumentDBEventSourceConfig( + data.DocumentDBEventSourceConfig, + context + ); + } if (data.EventSourceArn != null) { contents.EventSourceArn = __expectString(data.EventSourceArn); } @@ -3266,6 +3285,12 @@ export const deserializeAws_restJson1DeleteEventSourceMappingCommand = async ( if (data.DestinationConfig != null) { contents.DestinationConfig = deserializeAws_restJson1DestinationConfig(data.DestinationConfig, context); } + if (data.DocumentDBEventSourceConfig != null) { + contents.DocumentDBEventSourceConfig = deserializeAws_restJson1DocumentDBEventSourceConfig( + data.DocumentDBEventSourceConfig, + context + ); + } if (data.EventSourceArn != null) { contents.EventSourceArn = __expectString(data.EventSourceArn); } @@ -3911,6 +3936,12 @@ export const deserializeAws_restJson1GetEventSourceMappingCommand = async ( if (data.DestinationConfig != null) { contents.DestinationConfig = deserializeAws_restJson1DestinationConfig(data.DestinationConfig, context); } + if (data.DocumentDBEventSourceConfig != null) { + contents.DocumentDBEventSourceConfig = deserializeAws_restJson1DocumentDBEventSourceConfig( + data.DocumentDBEventSourceConfig, + context + ); + } if (data.EventSourceArn != null) { contents.EventSourceArn = __expectString(data.EventSourceArn); } @@ -4807,6 +4838,9 @@ export const deserializeAws_restJson1GetRuntimeManagementConfigCommand = async ( $metadata: deserializeMetadata(output), }); const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.FunctionArn != null) { + contents.FunctionArn = __expectString(data.FunctionArn); + } if (data.RuntimeVersionArn != null) { contents.RuntimeVersionArn = __expectString(data.RuntimeVersionArn); } @@ -6544,6 +6578,12 @@ export const deserializeAws_restJson1UpdateEventSourceMappingCommand = async ( if (data.DestinationConfig != null) { contents.DestinationConfig = deserializeAws_restJson1DestinationConfig(data.DestinationConfig, context); } + if (data.DocumentDBEventSourceConfig != null) { + contents.DocumentDBEventSourceConfig = deserializeAws_restJson1DocumentDBEventSourceConfig( + data.DocumentDBEventSourceConfig, + context + ); + } if (data.EventSourceArn != null) { contents.EventSourceArn = __expectString(data.EventSourceArn); } @@ -7973,6 +8013,17 @@ const serializeAws_restJson1DestinationConfig = (input: DestinationConfig, conte }; }; +const serializeAws_restJson1DocumentDBEventSourceConfig = ( + input: DocumentDBEventSourceConfig, + context: __SerdeContext +): any => { + return { + ...(input.CollectionName != null && { CollectionName: input.CollectionName }), + ...(input.DatabaseName != null && { DatabaseName: input.DatabaseName }), + ...(input.FullDocument != null && { FullDocument: input.FullDocument }), + }; +}; + const serializeAws_restJson1EndpointLists = (input: string[], context: __SerdeContext): any => { return input .filter((e: any) => e != null) @@ -8456,6 +8507,17 @@ const deserializeAws_restJson1DestinationConfig = (output: any, context: __Serde } as any; }; +const deserializeAws_restJson1DocumentDBEventSourceConfig = ( + output: any, + context: __SerdeContext +): DocumentDBEventSourceConfig => { + return { + CollectionName: __expectString(output.CollectionName), + DatabaseName: __expectString(output.DatabaseName), + FullDocument: __expectString(output.FullDocument), + } as any; +}; + const deserializeAws_restJson1EndpointLists = (output: any, context: __SerdeContext): string[] => { const retVal = (output || []) .filter((e: any) => e != null) @@ -8527,6 +8589,10 @@ const deserializeAws_restJson1EventSourceMappingConfiguration = ( output.DestinationConfig != null ? deserializeAws_restJson1DestinationConfig(output.DestinationConfig, context) : undefined, + DocumentDBEventSourceConfig: + output.DocumentDBEventSourceConfig != null + ? deserializeAws_restJson1DocumentDBEventSourceConfig(output.DocumentDBEventSourceConfig, context) + : undefined, EventSourceArn: __expectString(output.EventSourceArn), FilterCriteria: output.FilterCriteria != null diff --git a/codegen/sdk-codegen/aws-models/lambda.json b/codegen/sdk-codegen/aws-models/lambda.json index 041e87eca3d3..5bbff816c9d3 100644 --- a/codegen/sdk-codegen/aws-models/lambda.json +++ b/codegen/sdk-codegen/aws-models/lambda.json @@ -248,7 +248,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -277,13 +277,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -291,14 +290,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -307,67 +312,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -376,90 +356,215 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] }, - "supportsFIPS" + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://lambda-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsDualStack" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://lambda-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://lambda-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsFIPS" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://lambda.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], "type": "tree", @@ -467,7 +572,7 @@ { "conditions": [], "endpoint": { - "url": "https://lambda-fips.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://lambda.{Region}.{PartitionResult#dnsSuffix}", "properties": {}, "headers": {} }, @@ -476,1036 +581,108 @@ ] } ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://lambda.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { - "conditions": [], - "endpoint": { - "url": "https://lambda.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - "smithy.rules#endpointTests": { - "testCases": [ - { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.ap-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-south-2" - } - }, - { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.ap-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-south-2" - } - }, - { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.ap-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-south-2" - } - }, - { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.ap-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-south-2" - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-south-1" - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-south-1" - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-south-1" - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-south-1" - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-south-1" - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-south-1" - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-south-1" - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-south-1" - } - }, - { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.eu-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-south-2" - } - }, - { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.eu-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-south-2" - } - }, - { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.eu-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-south-2" - } - }, - { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.eu-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-south-2" - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-gov-east-1" - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-gov-east-1" - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-gov-east-1" - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-gov-east-1" - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.me-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "me-central-1" - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.me-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "me-central-1" - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.me-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "me-central-1" - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.me-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "me-central-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-iso-west-1" - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.us-iso-west-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-iso-west-1" - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-iso-west-1" - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.us-iso-west-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-iso-west-1" - } - }, - { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.eu-central-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-central-2" - } - }, - { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.eu-central-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-central-2" - } - }, - { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.eu-central-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-central-2" - } - }, - { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.eu-central-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-central-2" - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-west-2" - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "af-south-1" - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "af-south-1" - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "af-south-1" - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "af-south-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.eu-west-2.api.aws" + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-west-2" - } - }, + ] + } + ] + }, + "smithy.rules#endpointTests": { + "testCases": [ { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.eu-west-2.amazonaws.com" + "url": "https://lambda.af-south-1.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-west-1" + "Region": "af-south-1" } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda.eu-west-1.api.aws" + "url": "https://lambda.af-south-1.api.aws" } }, "params": { "UseDualStack": true, "UseFIPS": false, - "Region": "eu-west-1" + "Region": "af-south-1" } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.eu-west-1.amazonaws.com" + "url": "https://lambda.ap-east-1.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-northeast-3" - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-northeast-3" + "Region": "ap-east-1" } }, { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda.ap-northeast-3.api.aws" + "url": "https://lambda.ap-east-1.api.aws" } }, "params": { "UseDualStack": true, "UseFIPS": false, - "Region": "ap-northeast-3" + "Region": "ap-east-1" } }, { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.ap-northeast-3.amazonaws.com" + "url": "https://lambda.ap-northeast-1.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "ap-northeast-3" + "Region": "ap-northeast-1" } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda-fips.ap-northeast-2.api.aws" + "url": "https://lambda.ap-northeast-1.api.aws" } }, "params": { "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-northeast-2" + "UseFIPS": false, + "Region": "ap-northeast-1" } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.ap-northeast-2.amazonaws.com" + "url": "https://lambda.ap-northeast-2.amazonaws.com" } }, "params": { "UseDualStack": false, - "UseFIPS": true, + "UseFIPS": false, "Region": "ap-northeast-2" } }, @@ -1523,792 +700,775 @@ } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.ap-northeast-2.amazonaws.com" + "url": "https://lambda.ap-northeast-3.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "ap-northeast-2" - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-northeast-1" - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-northeast-1" + "Region": "ap-northeast-3" } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda.ap-northeast-1.api.aws" + "url": "https://lambda.ap-northeast-3.api.aws" } }, "params": { "UseDualStack": true, "UseFIPS": false, - "Region": "ap-northeast-1" + "Region": "ap-northeast-3" } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.ap-northeast-1.amazonaws.com" + "url": "https://lambda.ap-south-1.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "ap-northeast-1" + "Region": "ap-south-1" } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda-fips.me-south-1.api.aws" + "url": "https://lambda.ap-south-1.api.aws" } }, "params": { "UseDualStack": true, - "UseFIPS": true, - "Region": "me-south-1" + "UseFIPS": false, + "Region": "ap-south-1" } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.me-south-1.amazonaws.com" + "url": "https://lambda.ap-southeast-1.amazonaws.com" } }, "params": { "UseDualStack": false, - "UseFIPS": true, - "Region": "me-south-1" + "UseFIPS": false, + "Region": "ap-southeast-1" } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda.me-south-1.api.aws" + "url": "https://lambda.ap-southeast-1.api.aws" } }, "params": { "UseDualStack": true, "UseFIPS": false, - "Region": "me-south-1" + "Region": "ap-southeast-1" } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.me-south-1.amazonaws.com" + "url": "https://lambda.ap-southeast-2.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "me-south-1" + "Region": "ap-southeast-2" } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda-fips.sa-east-1.api.aws" + "url": "https://lambda.ap-southeast-2.api.aws" } }, "params": { "UseDualStack": true, - "UseFIPS": true, - "Region": "sa-east-1" + "UseFIPS": false, + "Region": "ap-southeast-2" } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.sa-east-1.amazonaws.com" + "url": "https://lambda.ap-southeast-3.amazonaws.com" } }, "params": { "UseDualStack": false, - "UseFIPS": true, - "Region": "sa-east-1" + "UseFIPS": false, + "Region": "ap-southeast-3" } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda.sa-east-1.api.aws" + "url": "https://lambda.ap-southeast-3.api.aws" } }, "params": { "UseDualStack": true, "UseFIPS": false, - "Region": "sa-east-1" + "Region": "ap-southeast-3" } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.sa-east-1.amazonaws.com" + "url": "https://lambda.ca-central-1.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "sa-east-1" + "Region": "ca-central-1" } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda-fips.ap-east-1.api.aws" + "url": "https://lambda.ca-central-1.api.aws" } }, "params": { "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-east-1" + "UseFIPS": false, + "Region": "ca-central-1" } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.ap-east-1.amazonaws.com" + "url": "https://lambda.eu-central-1.amazonaws.com" } }, "params": { "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-east-1" + "UseFIPS": false, + "Region": "eu-central-1" } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda.ap-east-1.api.aws" + "url": "https://lambda.eu-central-1.api.aws" } }, "params": { "UseDualStack": true, "UseFIPS": false, - "Region": "ap-east-1" + "Region": "eu-central-1" } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.ap-east-1.amazonaws.com" + "url": "https://lambda.eu-north-1.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "ap-east-1" + "Region": "eu-north-1" } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://lambda.eu-north-1.api.aws" } }, "params": { "UseDualStack": true, - "UseFIPS": true, - "Region": "cn-north-1" + "UseFIPS": false, + "Region": "eu-north-1" } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.cn-north-1.amazonaws.com.cn" + "url": "https://lambda.eu-south-1.amazonaws.com" } }, "params": { "UseDualStack": false, - "UseFIPS": true, - "Region": "cn-north-1" + "UseFIPS": false, + "Region": "eu-south-1" } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://lambda.eu-south-1.api.aws" } }, "params": { "UseDualStack": true, "UseFIPS": false, - "Region": "cn-north-1" + "Region": "eu-south-1" } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.cn-north-1.amazonaws.com.cn" + "url": "https://lambda.eu-west-1.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "cn-north-1" + "Region": "eu-west-1" } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda-fips.us-gov-west-1.api.aws" + "url": "https://lambda.eu-west-1.api.aws" } }, "params": { "UseDualStack": true, - "UseFIPS": true, - "Region": "us-gov-west-1" + "UseFIPS": false, + "Region": "eu-west-1" } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.us-gov-west-1.amazonaws.com" + "url": "https://lambda.eu-west-2.amazonaws.com" } }, "params": { "UseDualStack": false, - "UseFIPS": true, - "Region": "us-gov-west-1" + "UseFIPS": false, + "Region": "eu-west-2" } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda.us-gov-west-1.api.aws" + "url": "https://lambda.eu-west-2.api.aws" } }, "params": { "UseDualStack": true, "UseFIPS": false, - "Region": "us-gov-west-1" + "Region": "eu-west-2" } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.us-gov-west-1.amazonaws.com" + "url": "https://lambda.eu-west-3.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "us-gov-west-1" + "Region": "eu-west-3" } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda-fips.ap-southeast-1.api.aws" + "url": "https://lambda.eu-west-3.api.aws" } }, "params": { "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-southeast-1" + "UseFIPS": false, + "Region": "eu-west-3" } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.ap-southeast-1.amazonaws.com" + "url": "https://lambda.me-south-1.amazonaws.com" } }, "params": { "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-southeast-1" + "UseFIPS": false, + "Region": "me-south-1" } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda.ap-southeast-1.api.aws" + "url": "https://lambda.me-south-1.api.aws" } }, "params": { "UseDualStack": true, "UseFIPS": false, - "Region": "ap-southeast-1" + "Region": "me-south-1" } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.ap-southeast-1.amazonaws.com" + "url": "https://lambda.sa-east-1.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "ap-southeast-1" + "Region": "sa-east-1" } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda-fips.ap-southeast-2.api.aws" + "url": "https://lambda.sa-east-1.api.aws" } }, "params": { "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-southeast-2" + "UseFIPS": false, + "Region": "sa-east-1" } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.ap-southeast-2.amazonaws.com" + "url": "https://lambda.us-east-1.amazonaws.com" } }, "params": { "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-southeast-2" + "UseFIPS": false, + "Region": "us-east-1" } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.ap-southeast-2.api.aws" + "url": "https://lambda-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-southeast-2" + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-1" } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda.ap-southeast-2.amazonaws.com" + "url": "https://lambda.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, + "UseDualStack": true, "UseFIPS": false, - "Region": "ap-southeast-2" + "Region": "us-east-1" } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + "endpoint": { + "url": "https://lambda.us-east-2.amazonaws.com" + } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-iso-east-1" + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-2" } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://lambda-fips.us-east-2.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": true, - "Region": "us-iso-east-1" + "Region": "us-east-2" } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" + "endpoint": { + "url": "https://lambda.us-east-2.api.aws" + } }, "params": { "UseDualStack": true, "UseFIPS": false, - "Region": "us-iso-east-1" + "Region": "us-east-2" } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.us-iso-east-1.c2s.ic.gov" + "url": "https://lambda.us-west-1.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "us-iso-east-1" + "Region": "us-west-1" } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.ap-southeast-3.api.aws" + "url": "https://lambda-fips.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "UseDualStack": false, "UseFIPS": true, - "Region": "ap-southeast-3" + "Region": "us-west-1" } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda-fips.ap-southeast-3.amazonaws.com" + "url": "https://lambda.us-west-1.api.aws" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-southeast-3" + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-west-1" } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.ap-southeast-3.api.aws" + "url": "https://lambda.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, + "UseDualStack": false, "UseFIPS": false, - "Region": "ap-southeast-3" + "Region": "us-west-2" } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.ap-southeast-3.amazonaws.com" + "url": "https://lambda-fips.us-west-2.amazonaws.com" } }, "params": { "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-southeast-3" + "UseFIPS": true, + "Region": "us-west-2" } }, { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda-fips.ap-southeast-4.api.aws" + "url": "https://lambda.us-west-2.api.aws" } }, "params": { "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-southeast-4" + "UseFIPS": false, + "Region": "us-west-2" } }, { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda-fips.ap-southeast-4.amazonaws.com" + "url": "https://lambda-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, + "UseDualStack": true, "UseFIPS": true, - "Region": "ap-southeast-4" + "Region": "us-east-1" } }, { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.ap-southeast-4.api.aws" + "url": "https://lambda.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, + "UseDualStack": false, "UseFIPS": false, - "Region": "ap-southeast-4" + "Region": "cn-north-1" } }, { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda.ap-southeast-4.amazonaws.com" + "url": "https://lambda.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, + "UseDualStack": true, "UseFIPS": false, - "Region": "ap-southeast-4" + "Region": "cn-north-1" } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.us-east-1.api.aws" + "url": "https://lambda.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": false, + "UseFIPS": false, + "Region": "cn-northwest-1" } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda-fips.us-east-1.amazonaws.com" + "url": "https://lambda.cn-northwest-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": true, + "UseFIPS": false, + "Region": "cn-northwest-1" } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda.us-east-1.api.aws" + "url": "https://lambda-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { "UseDualStack": true, - "UseFIPS": false, - "Region": "us-east-1" + "UseFIPS": true, + "Region": "cn-north-1" } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.us-east-1.amazonaws.com" + "url": "https://lambda-fips.cn-north-1.amazonaws.com.cn" } }, "params": { "UseDualStack": false, - "UseFIPS": false, - "Region": "us-east-1" + "UseFIPS": true, + "Region": "cn-north-1" } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.us-east-2.api.aws" + "url": "https://lambda.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-east-2" + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-gov-east-1" } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.us-east-2.amazonaws.com" + "url": "https://lambda-fips.us-gov-east-1.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": true, - "Region": "us-east-2" + "Region": "us-gov-east-1" } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.us-east-2.api.aws" + "url": "https://lambda.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "UseDualStack": false, "UseFIPS": false, - "Region": "us-east-2" + "Region": "us-gov-west-1" } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.us-east-2.amazonaws.com" + "url": "https://lambda-fips.us-gov-west-1.amazonaws.com" } }, "params": { "UseDualStack": false, - "UseFIPS": false, - "Region": "us-east-2" + "UseFIPS": true, + "Region": "us-gov-west-1" } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda-fips.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://lambda-fips.us-gov-east-1.api.aws" } }, "params": { "UseDualStack": true, "UseFIPS": true, - "Region": "cn-northwest-1" + "Region": "us-gov-east-1" } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda-fips.cn-northwest-1.amazonaws.com.cn" + "url": "https://lambda.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "cn-northwest-1" + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-gov-east-1" } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://lambda.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, + "UseDualStack": false, "UseFIPS": false, - "Region": "cn-northwest-1" + "Region": "us-iso-east-1" } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.cn-northwest-1.amazonaws.com.cn" + "url": "https://lambda.us-iso-west-1.c2s.ic.gov" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "cn-northwest-1" + "Region": "us-iso-west-1" } }, { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + "endpoint": { + "url": "https://lambda-fips.us-iso-east-1.c2s.ic.gov" + } }, "params": { - "UseDualStack": true, + "UseDualStack": false, "UseFIPS": true, - "Region": "us-isob-east-1" + "Region": "us-iso-east-1" } }, { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.us-isob-east-1.sc2s.sgov.gov" + "url": "https://lambda.us-isob-east-1.sc2s.sgov.gov" } }, "params": { "UseDualStack": false, - "UseFIPS": true, + "UseFIPS": false, "Region": "us-isob-east-1" } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" + "endpoint": { + "url": "https://lambda-fips.us-isob-east-1.sc2s.sgov.gov" + } }, "params": { - "UseDualStack": true, - "UseFIPS": false, + "UseDualStack": false, + "UseFIPS": true, "Region": "us-isob-east-1" } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://lambda.us-isob-east-1.sc2s.sgov.gov" + "url": "https://example.com" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "us-isob-east-1" + "Region": "us-east-1", + "Endpoint": "https://example.com" } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" @@ -2317,7 +1477,6 @@ "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -2514,6 +1673,9 @@ "smithy.api#httpQuery": "RevisionId" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#AddLayerVersionPermissionResponse": { @@ -2531,6 +1693,9 @@ "smithy.api#documentation": "

A unique identifier for the current revision of the policy.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#AddPermission": { @@ -2645,9 +1810,12 @@ "FunctionUrlAuthType": { "target": "com.amazonaws.lambda#FunctionUrlAuthType", "traits": { - "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

" + "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#AddPermissionResponse": { @@ -2659,6 +1827,9 @@ "smithy.api#documentation": "

The permission statement that's added to the function policy.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#AdditionalVersion": { @@ -3028,6 +2199,16 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.lambda#CollectionName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 57 + }, + "smithy.api#pattern": "^(^(?!(system\\x2e)))(^[_a-zA-Z0-9])([^$]*)$" + } + }, "com.amazonaws.lambda#CompatibleArchitectures": { "type": "list", "member": { @@ -3178,6 +2359,9 @@ "smithy.api#documentation": "

The routing\n configuration of the alias.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#CreateCodeSigningConfig": { @@ -3227,6 +2411,9 @@ "smithy.api#documentation": "

The code signing policies define the actions to take if the validation checks fail.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#CreateCodeSigningConfigResponse": { @@ -3239,6 +2426,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#CreateEventSourceMapping": { @@ -3410,7 +2600,16 @@ "traits": { "smithy.api#documentation": "

(Amazon SQS only) The scaling configuration for the event source. For more information, see Configuring maximum concurrency for Amazon SQS event sources.

" } + }, + "DocumentDBEventSourceConfig": { + "target": "com.amazonaws.lambda#DocumentDBEventSourceConfig", + "traits": { + "smithy.api#documentation": "

Specific configuration settings for a DocumentDB event source.

" + } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#CreateFunction": { @@ -3472,7 +2671,7 @@ "Runtime": { "target": "com.amazonaws.lambda#Runtime", "traits": { - "smithy.api#documentation": "

The identifier of the function's runtime. Runtime is required if the deployment package is a .zip file archive.\n

" + "smithy.api#documentation": "

The identifier of the function's runtime. Runtime is required if the deployment package is a .zip file archive.

\n

The following list includes deprecated runtimes. For more information, see Runtime deprecation policy.

" } }, "Role": { @@ -3547,7 +2746,7 @@ "KMSKeyArn": { "target": "com.amazonaws.lambda#KMSKeyArn", "traits": { - "smithy.api#documentation": "

The ARN of the Key Management Service (KMS) key that's used to encrypt your function's environment\n variables. If it's not provided, Lambda uses a default service key.

" + "smithy.api#documentation": "

The ARN of the Key Management Service (KMS) customer managed key that's used to encrypt your function's environment variables. When Lambda SnapStart is activated, this key is also used to encrypt your function's snapshot. If you don't provide a customer managed key, Lambda uses a default service key.

" } }, "TracingConfig": { @@ -3604,6 +2803,9 @@ "smithy.api#documentation": "

The function's SnapStart setting.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#CreateFunctionUrlConfig": { @@ -3661,7 +2863,7 @@ "AuthType": { "target": "com.amazonaws.lambda#FunctionUrlAuthType", "traits": { - "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

", + "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

", "smithy.api#required": {} } }, @@ -3671,6 +2873,9 @@ "smithy.api#documentation": "

The cross-origin resource sharing (CORS) settings\n for your function URL.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#CreateFunctionUrlConfigResponse": { @@ -3693,7 +2898,7 @@ "AuthType": { "target": "com.amazonaws.lambda#FunctionUrlAuthType", "traits": { - "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

", + "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

", "smithy.api#required": {} } }, @@ -3710,6 +2915,19 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.lambda#DatabaseName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 63 + }, + "smithy.api#pattern": "^[^ /\\.$\\x22]*$" } }, "com.amazonaws.lambda#Date": { @@ -3779,6 +2997,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#DeleteCodeSigningConfig": { @@ -3823,11 +3044,17 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#DeleteCodeSigningConfigResponse": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.lambda#DeleteEventSourceMapping": { "type": "operation", @@ -3874,6 +3101,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#DeleteFunction": { @@ -3958,6 +3188,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#DeleteFunctionConcurrency": { @@ -4005,6 +3238,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#DeleteFunctionEventInvokeConfig": { @@ -4059,6 +3295,9 @@ "smithy.api#httpQuery": "Qualifier" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#DeleteFunctionRequest": { @@ -4079,6 +3318,9 @@ "smithy.api#httpQuery": "Qualifier" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#DeleteFunctionUrlConfig": { @@ -4130,6 +3372,9 @@ "smithy.api#httpQuery": "Qualifier" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#DeleteLayerVersion": { @@ -4177,6 +3422,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#DeleteProvisionedConcurrencyConfig": { @@ -4232,6 +3480,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#Description": { @@ -4273,6 +3524,32 @@ "smithy.api#documentation": "

A configuration object that specifies the destination of an event after Lambda processes it.

" } }, + "com.amazonaws.lambda#DocumentDBEventSourceConfig": { + "type": "structure", + "members": { + "DatabaseName": { + "target": "com.amazonaws.lambda#DatabaseName", + "traits": { + "smithy.api#documentation": "

\n The name of the database to consume within the DocumentDB cluster.\n

" + } + }, + "CollectionName": { + "target": "com.amazonaws.lambda#CollectionName", + "traits": { + "smithy.api#documentation": "

\n The name of the collection to consume within the database. If you do not specify a collection, Lambda consumes all collections.\n

" + } + }, + "FullDocument": { + "target": "com.amazonaws.lambda#FullDocument", + "traits": { + "smithy.api#documentation": "

\n Determines what DocumentDB sends to your event stream during document update operations. If set to UpdateLookup, DocumentDB sends a delta describing the changes, along with a copy of the entire document. Otherwise, DocumentDB sends only a partial document that contains the changes.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Specific configuration settings for a DocumentDB event source.\n

" + } + }, "com.amazonaws.lambda#EC2AccessDeniedException": { "type": "structure", "members": { @@ -4716,6 +3993,12 @@ "traits": { "smithy.api#documentation": "

(Amazon SQS only) The scaling configuration for the event source. For more information, see Configuring maximum concurrency for Amazon SQS event sources.

" } + }, + "DocumentDBEventSourceConfig": { + "target": "com.amazonaws.lambda#DocumentDBEventSourceConfig", + "traits": { + "smithy.api#documentation": "

Specific configuration settings for a DocumentDB event source.

" + } } }, "traits": { @@ -4839,6 +4122,23 @@ "target": "com.amazonaws.lambda#Filter" } }, + "com.amazonaws.lambda#FullDocument": { + "type": "enum", + "members": { + "UpdateLookup": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UpdateLookup" + } + }, + "Default": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Default" + } + } + } + }, "com.amazonaws.lambda#FunctionArn": { "type": "string", "traits": { @@ -5018,7 +4318,7 @@ "KMSKeyArn": { "target": "com.amazonaws.lambda#KMSKeyArn", "traits": { - "smithy.api#documentation": "

The KMS key that's used to encrypt the function's environment variables. This key is\n returned only if you've configured a customer managed key.

" + "smithy.api#documentation": "

The KMS key that's used to encrypt the function's environment variables. When Lambda SnapStart is activated, this key is also used to encrypt the function's snapshot. This key is\n returned only if you've configured a customer managed key.

" } }, "TracingConfig": { @@ -5286,7 +4586,7 @@ "AuthType": { "target": "com.amazonaws.lambda#FunctionUrlAuthType", "traits": { - "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

", + "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

", "smithy.api#required": {} } } @@ -5349,7 +4649,10 @@ }, "com.amazonaws.lambda#GetAccountSettingsRequest": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#input": {} + } }, "com.amazonaws.lambda#GetAccountSettingsResponse": { "type": "structure", @@ -5366,6 +4669,9 @@ "smithy.api#documentation": "

The number of functions and amount of storage in use.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#GetAlias": { @@ -5418,6 +4724,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#GetCodeSigningConfig": { @@ -5459,6 +4768,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#GetCodeSigningConfigResponse": { @@ -5471,6 +4783,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#GetEventSourceMapping": { @@ -5515,6 +4830,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#GetFunction": { @@ -5681,6 +4999,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#GetFunctionCodeSigningConfigResponse": { @@ -5700,6 +5021,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#GetFunctionConcurrency": { @@ -5744,6 +5068,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#GetFunctionConcurrencyResponse": { @@ -5755,6 +5082,9 @@ "smithy.api#documentation": "

The number of simultaneous executions that are reserved for the function.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#GetFunctionConfiguration": { @@ -5916,6 +5246,9 @@ "smithy.api#httpQuery": "Qualifier" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#GetFunctionEventInvokeConfig": { @@ -5967,6 +5300,9 @@ "smithy.api#httpQuery": "Qualifier" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#GetFunctionRequest": { @@ -5987,6 +5323,9 @@ "smithy.api#httpQuery": "Qualifier" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#GetFunctionResponse": { @@ -6016,6 +5355,9 @@ "smithy.api#documentation": "

The function's reserved\n concurrency.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#GetFunctionUrlConfig": { @@ -6067,6 +5409,9 @@ "smithy.api#httpQuery": "Qualifier" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#GetFunctionUrlConfigResponse": { @@ -6089,7 +5434,7 @@ "AuthType": { "target": "com.amazonaws.lambda#FunctionUrlAuthType", "traits": { - "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

", + "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

", "smithy.api#required": {} } }, @@ -6113,6 +5458,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#GetLayerVersion": { @@ -6188,6 +5536,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#GetLayerVersionPolicy": { @@ -6241,6 +5592,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#GetLayerVersionPolicyResponse": { @@ -6258,6 +5612,9 @@ "smithy.api#documentation": "

A unique identifier for the current revision of the policy.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#GetLayerVersionRequest": { @@ -6280,6 +5637,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#GetLayerVersionResponse": { @@ -6391,6 +5751,9 @@ "smithy.api#httpQuery": "Qualifier" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#GetPolicyResponse": { @@ -6408,6 +5771,9 @@ "smithy.api#documentation": "

A unique identifier for the current revision of the policy.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#GetProvisionedConcurrencyConfig": { @@ -6463,6 +5829,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#GetProvisionedConcurrencyConfigResponse": { @@ -6504,6 +5873,9 @@ "smithy.api#documentation": "

The date and time that a user last updated the configuration, in ISO 8601 format.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#GetRuntimeManagementConfig": { @@ -6541,7 +5913,7 @@ "type": "structure", "members": { "FunctionName": { - "target": "com.amazonaws.lambda#FunctionName", + "target": "com.amazonaws.lambda#NamespacedFunctionName", "traits": { "smithy.api#documentation": "

The name of the Lambda function.

\n

\n Name formats\n

\n
    \n
  • \n

    \n Function namemy-function.

    \n
  • \n
  • \n

    \n Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

    \n
  • \n
  • \n

    \n Partial ARN123456789012:function:my-function.

    \n
  • \n
\n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", "smithy.api#httpLabel": {}, @@ -6555,6 +5927,9 @@ "smithy.api#httpQuery": "Qualifier" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#GetRuntimeManagementConfigResponse": { @@ -6569,9 +5944,18 @@ "RuntimeVersionArn": { "target": "com.amazonaws.lambda#RuntimeVersionArn", "traits": { - "smithy.api#documentation": "

The ARN of the runtime the function is configured to use. If the runtime update mode is Manual, the ARN is returned, otherwise null \n is returned.

" + "smithy.api#documentation": "

The ARN of the runtime the function is configured to use. If the runtime update mode is Manual, the ARN is returned, otherwise null \n is returned.

" + } + }, + "FunctionArn": { + "target": "com.amazonaws.lambda#NameSpacedFunctionArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of your function.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#Handler": { @@ -6854,6 +6238,9 @@ "smithy.api#httpQuery": "Qualifier" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#InvocationResponse": { @@ -6895,6 +6282,9 @@ "smithy.api#httpHeader": "X-Amz-Executed-Version" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#InvocationType": { @@ -7082,7 +6472,8 @@ } }, "traits": { - "smithy.api#deprecated": {} + "smithy.api#deprecated": {}, + "smithy.api#input": {} } }, "com.amazonaws.lambda#InvokeAsyncResponse": { @@ -7099,7 +6490,8 @@ }, "traits": { "smithy.api#deprecated": {}, - "smithy.api#documentation": "

A success response (202 Accepted) indicates that the request is queued for invocation.

" + "smithy.api#documentation": "

A success response (202 Accepted) indicates that the request is queued for invocation.

", + "smithy.api#output": {} } }, "com.amazonaws.lambda#KMSAccessDeniedException": { @@ -7664,6 +7056,9 @@ "smithy.api#httpQuery": "MaxItems" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#ListAliasesResponse": { @@ -7681,6 +7076,9 @@ "smithy.api#documentation": "

A list of aliases.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#ListCodeSigningConfigs": { @@ -7731,6 +7129,9 @@ "smithy.api#httpQuery": "MaxItems" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#ListCodeSigningConfigsResponse": { @@ -7748,6 +7149,9 @@ "smithy.api#documentation": "

The code signing configurations

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#ListEventSourceMappings": { @@ -7818,6 +7222,9 @@ "smithy.api#httpQuery": "MaxItems" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#ListEventSourceMappingsResponse": { @@ -7835,6 +7242,9 @@ "smithy.api#documentation": "

A list of event source mappings.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#ListFunctionEventInvokeConfigs": { @@ -7899,6 +7309,9 @@ "smithy.api#httpQuery": "MaxItems" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#ListFunctionEventInvokeConfigsResponse": { @@ -7916,6 +7329,9 @@ "smithy.api#documentation": "

The pagination token that's included if more results are available.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#ListFunctionUrlConfigs": { @@ -7980,6 +7396,9 @@ "smithy.api#httpQuery": "MaxItems" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#ListFunctionUrlConfigsResponse": { @@ -7998,6 +7417,9 @@ "smithy.api#documentation": "

The pagination token that's included if more results are available.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#ListFunctions": { @@ -8093,6 +7515,9 @@ "smithy.api#httpQuery": "MaxItems" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#ListFunctionsByCodeSigningConfigResponse": { @@ -8110,6 +7535,9 @@ "smithy.api#documentation": "

The function ARNs.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#ListFunctionsRequest": { @@ -8143,6 +7571,9 @@ "smithy.api#httpQuery": "MaxItems" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#ListFunctionsResponse": { @@ -8162,7 +7593,8 @@ } }, "traits": { - "smithy.api#documentation": "

A list of Lambda functions.

" + "smithy.api#documentation": "

A list of Lambda functions.

", + "smithy.api#output": {} } }, "com.amazonaws.lambda#ListLayerVersions": { @@ -8241,6 +7673,9 @@ "smithy.api#httpQuery": "CompatibleArchitecture" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#ListLayerVersionsResponse": { @@ -8258,6 +7693,9 @@ "smithy.api#documentation": "

A list of versions.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#ListLayers": { @@ -8325,6 +7763,9 @@ "smithy.api#httpQuery": "CompatibleArchitecture" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#ListLayersResponse": { @@ -8342,6 +7783,9 @@ "smithy.api#documentation": "

A list of function layers.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#ListProvisionedConcurrencyConfigs": { @@ -8406,6 +7850,9 @@ "smithy.api#httpQuery": "MaxItems" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#ListProvisionedConcurrencyConfigsResponse": { @@ -8423,6 +7870,9 @@ "smithy.api#documentation": "

The pagination token that's included if more results are available.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#ListTags": { @@ -8467,6 +7917,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#ListTagsResponse": { @@ -8478,6 +7931,9 @@ "smithy.api#documentation": "

The function's tags.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#ListVersionsByFunction": { @@ -8542,6 +7998,9 @@ "smithy.api#httpQuery": "MaxItems" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#ListVersionsByFunctionResponse": { @@ -8559,6 +8018,9 @@ "smithy.api#documentation": "

A list of Lambda function versions.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#LocalMountPath": { @@ -9078,6 +8540,9 @@ "smithy.api#documentation": "

A list of compatible \ninstruction set architectures.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#PublishLayerVersionResponse": { @@ -9138,6 +8603,9 @@ "smithy.api#documentation": "

A list of compatible \ninstruction set architectures.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#PublishVersion": { @@ -9209,6 +8677,9 @@ "smithy.api#documentation": "

Only update the function if the revision ID matches the ID that's specified. Use this option to avoid\n publishing a version if the function configuration has changed since you last updated it.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#PutFunctionCodeSigningConfig": { @@ -9266,6 +8737,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#PutFunctionCodeSigningConfigResponse": { @@ -9285,6 +8759,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#PutFunctionConcurrency": { @@ -9339,6 +8816,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#PutFunctionEventInvokeConfig": { @@ -9411,6 +8891,9 @@ "smithy.api#documentation": "

A destination for events after they have been sent to a function for processing.

\n

\n Destinations\n

\n
    \n
  • \n

    \n Function - The Amazon Resource Name (ARN) of a Lambda function.

    \n
  • \n
  • \n

    \n Queue - The ARN of an SQS queue.

    \n
  • \n
  • \n

    \n Topic - The ARN of an SNS topic.

    \n
  • \n
  • \n

    \n Event Bus - The ARN of an Amazon EventBridge event bus.

    \n
  • \n
" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#PutProvisionedConcurrencyConfig": { @@ -9473,6 +8956,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#PutProvisionedConcurrencyConfigResponse": { @@ -9514,6 +9000,9 @@ "smithy.api#documentation": "

The date and time that a user last updated the configuration, in ISO 8601 format.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#PutRuntimeManagementConfig": { @@ -9581,6 +9070,9 @@ "smithy.api#documentation": "

The ARN of the runtime version you want the function to use.

\n \n

This is only required if you're using the Manual runtime update mode.

\n
" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#PutRuntimeManagementConfigResponse": { @@ -9606,6 +9098,9 @@ "smithy.api#documentation": "

The ARN of the runtime the function is configured to use. If the runtime update mode is manual, the ARN is returned, otherwise null \n is returned.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#Qualifier": { @@ -9709,6 +9204,9 @@ "smithy.api#httpQuery": "RevisionId" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#RemovePermission": { @@ -9778,6 +9276,9 @@ "smithy.api#httpQuery": "RevisionId" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#RequestTooLargeException": { @@ -10743,6 +10244,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#TagValue": { @@ -10998,6 +10502,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#UpdateAlias": { @@ -11080,6 +10587,9 @@ "smithy.api#documentation": "

Only update the alias if the revision ID matches the ID that's specified. Use this option to avoid modifying\n an alias that has changed since you last read it.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#UpdateCodeSigningConfig": { @@ -11139,6 +10649,9 @@ "smithy.api#documentation": "

The code signing policy.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#UpdateCodeSigningConfigResponse": { @@ -11151,6 +10664,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#UpdateEventSourceMapping": { @@ -11284,7 +10800,16 @@ "traits": { "smithy.api#documentation": "

(Amazon SQS only) The scaling configuration for the event source. For more information, see Configuring maximum concurrency for Amazon SQS event sources.

" } + }, + "DocumentDBEventSourceConfig": { + "target": "com.amazonaws.lambda#DocumentDBEventSourceConfig", + "traits": { + "smithy.api#documentation": "

Specific configuration settings for a DocumentDB event source.

" + } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#UpdateFunctionCode": { @@ -11403,6 +10928,9 @@ "smithy.api#documentation": "

The instruction set architecture that the function supports. Enter a string array with one of the valid values (arm64 or x86_64).\n The default value is x86_64.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#UpdateFunctionConfiguration": { @@ -11507,7 +11035,7 @@ "Runtime": { "target": "com.amazonaws.lambda#Runtime", "traits": { - "smithy.api#documentation": "

The identifier of the function's runtime. Runtime is required if the deployment package is a .zip file archive.\n

" + "smithy.api#documentation": "

The identifier of the function's runtime. Runtime is required if the deployment package is a .zip file archive.

\n

The following list includes deprecated runtimes. For more information, see Runtime deprecation policy.

" } }, "DeadLetterConfig": { @@ -11519,7 +11047,7 @@ "KMSKeyArn": { "target": "com.amazonaws.lambda#KMSKeyArn", "traits": { - "smithy.api#documentation": "

The ARN of the Key Management Service (KMS) key that's used to encrypt your function's environment\n variables. If it's not provided, Lambda uses a default service key.

" + "smithy.api#documentation": "

The ARN of the Key Management Service (KMS) customer managed key that's used to encrypt your function's environment variables. When Lambda SnapStart is activated, this key is also used to encrypt your function's snapshot. If you don't provide a customer managed key, Lambda uses a default service key.

" } }, "TracingConfig": { @@ -11564,6 +11092,9 @@ "smithy.api#documentation": "

The function's SnapStart setting.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#UpdateFunctionEventInvokeConfig": { @@ -11636,6 +11167,9 @@ "smithy.api#documentation": "

A destination for events after they have been sent to a function for processing.

\n

\n Destinations\n

\n
    \n
  • \n

    \n Function - The Amazon Resource Name (ARN) of a Lambda function.

    \n
  • \n
  • \n

    \n Queue - The ARN of an SQS queue.

    \n
  • \n
  • \n

    \n Topic - The ARN of an SNS topic.

    \n
  • \n
  • \n

    \n Event Bus - The ARN of an Amazon EventBridge event bus.

    \n
  • \n
" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#UpdateFunctionUrlConfig": { @@ -11693,7 +11227,7 @@ "AuthType": { "target": "com.amazonaws.lambda#FunctionUrlAuthType", "traits": { - "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

" + "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

" } }, "Cors": { @@ -11702,6 +11236,9 @@ "smithy.api#documentation": "

The cross-origin resource sharing (CORS) settings\n for your function URL.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.lambda#UpdateFunctionUrlConfigResponse": { @@ -11724,7 +11261,7 @@ "AuthType": { "target": "com.amazonaws.lambda#FunctionUrlAuthType", "traits": { - "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

", + "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated\n users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information,\n see Security and auth model for Lambda function URLs.

", "smithy.api#required": {} } }, @@ -11748,6 +11285,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.lambda#UpdateRuntimeOn": {