diff --git a/clients/client-lakeformation/src/models/models_0.ts b/clients/client-lakeformation/src/models/models_0.ts index 464ed0ced786..e167e035e5a4 100644 --- a/clients/client-lakeformation/src/models/models_0.ts +++ b/clients/client-lakeformation/src/models/models_0.ts @@ -1120,7 +1120,7 @@ export interface DataLakeSettings { DataLakeAdmins?: DataLakePrincipal[]; /** - *

Specifies whether access control on newly created database is managed by Lake Formation permissions or exclusively by IAM permissions. You can override this default setting when you create a database.

+ *

Specifies whether access control on newly created database is managed by Lake Formation permissions or exclusively by IAM permissions.

* *

A null value indicates access control by Lake Formation permissions. A value that assigns ALL to IAM_ALLOWED_PRINCIPALS indicates access control by IAM permissions. This is referred to as the setting "Use only IAM access control," and is for backward compatibility with the Glue permission model implemented by IAM permissions.

* @@ -1141,6 +1141,11 @@ export interface DataLakeSettings { */ CreateTableDefaultPermissions?: PrincipalPermissions[]; + /** + *

A key-value map that provides an additional configuration on your data lake. CrossAccountVersion is the key you can configure in the Parameters field. Accepted values for the CrossAccountVersion key are 1, 2, and 3.

+ */ + Parameters?: Record; + /** *

A list of the resource-owning account IDs that the caller's account can use to share their user access details (user ARNs). The user ARNs can be logged in the resource owner's CloudTrail log.

* @@ -2270,7 +2275,7 @@ export interface RegisterResourceRequest { /** *

Designates an Identity and Access Management (IAM) service-linked role by registering this role with the Data Catalog. A service-linked role is a unique type of IAM role that is linked directly to Lake Formation.

* - *

For more information, see Using Service-Linked Roles for Lake Formation.

+ *

For more information, see Using Service-Linked Roles for Lake Formation.

*/ UseServiceLinkedRole?: boolean; diff --git a/clients/client-lakeformation/src/protocols/Aws_restJson1.ts b/clients/client-lakeformation/src/protocols/Aws_restJson1.ts index 27c3bdc7a7b0..812112bfeba9 100644 --- a/clients/client-lakeformation/src/protocols/Aws_restJson1.ts +++ b/clients/client-lakeformation/src/protocols/Aws_restJson1.ts @@ -4298,6 +4298,7 @@ const serializeAws_restJson1DataLakeSettings = (input: DataLakeSettings, context context ), }), + ...(input.Parameters != null && { Parameters: serializeAws_restJson1ParametersMap(input.Parameters, context) }), ...(input.TrustedResourceOwners != null && { TrustedResourceOwners: serializeAws_restJson1TrustedResourceOwners(input.TrustedResourceOwners, context), }), @@ -4386,6 +4387,18 @@ const serializeAws_restJson1LFTagsList = (input: LFTagPair[], context: __SerdeCo }); }; +const serializeAws_restJson1ParametersMap = (input: Record, context: __SerdeContext): any => { + return Object.entries(input).reduce((acc: Record, [key, value]: [string, any]) => { + if (value === null) { + return acc; + } + return { + ...acc, + [key]: value, + }; + }, {}); +}; + const serializeAws_restJson1PartitionValueList = (input: PartitionValueList, context: __SerdeContext): any => { return { ...(input.Values != null && { Values: serializeAws_restJson1ValueStringList(input.Values, context) }), @@ -4815,6 +4828,8 @@ const deserializeAws_restJson1DataLakeSettings = (output: any, context: __SerdeC output.ExternalDataFilteringAllowList != null ? deserializeAws_restJson1DataLakePrincipalList(output.ExternalDataFilteringAllowList, context) : undefined, + Parameters: + output.Parameters != null ? deserializeAws_restJson1ParametersMap(output.Parameters, context) : undefined, TrustedResourceOwners: output.TrustedResourceOwners != null ? deserializeAws_restJson1TrustedResourceOwners(output.TrustedResourceOwners, context) @@ -4927,6 +4942,18 @@ const deserializeAws_restJson1LFTagsList = (output: any, context: __SerdeContext return retVal; }; +const deserializeAws_restJson1ParametersMap = (output: any, context: __SerdeContext): Record => { + return Object.entries(output).reduce((acc: Record, [key, value]: [string, any]) => { + if (value === null) { + return acc; + } + return { + ...acc, + [key]: __expectString(value) as any, + }; + }, {}); +}; + const deserializeAws_restJson1PartitionedTableObjectsList = ( output: any, context: __SerdeContext