diff --git a/clients/client-lakeformation/README.md b/clients/client-lakeformation/README.md
index 6e5093c5e2b5..7fce3abe7dcc 100644
--- a/clients/client-lakeformation/README.md
+++ b/clients/client-lakeformation/README.md
@@ -260,6 +260,14 @@ CreateDataCellsFilter
 
 [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/lakeformation/command/CreateDataCellsFilterCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-lakeformation/Interface/CreateDataCellsFilterCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-lakeformation/Interface/CreateDataCellsFilterCommandOutput/)
 
+</details>
+<details>
+<summary>
+CreateLakeFormationIdentityCenterConfiguration
+</summary>
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/lakeformation/command/CreateLakeFormationIdentityCenterConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-lakeformation/Interface/CreateLakeFormationIdentityCenterConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-lakeformation/Interface/CreateLakeFormationIdentityCenterConfigurationCommandOutput/)
+
 </details>
 <details>
 <summary>
@@ -284,6 +292,14 @@ DeleteDataCellsFilter
 
 [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/lakeformation/command/DeleteDataCellsFilterCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-lakeformation/Interface/DeleteDataCellsFilterCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-lakeformation/Interface/DeleteDataCellsFilterCommandOutput/)
 
+</details>
+<details>
+<summary>
+DeleteLakeFormationIdentityCenterConfiguration
+</summary>
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/lakeformation/command/DeleteLakeFormationIdentityCenterConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-lakeformation/Interface/DeleteLakeFormationIdentityCenterConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-lakeformation/Interface/DeleteLakeFormationIdentityCenterConfigurationCommandOutput/)
+
 </details>
 <details>
 <summary>
@@ -316,6 +332,14 @@ DeregisterResource
 
 [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/lakeformation/command/DeregisterResourceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-lakeformation/Interface/DeregisterResourceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-lakeformation/Interface/DeregisterResourceCommandOutput/)
 
+</details>
+<details>
+<summary>
+DescribeLakeFormationIdentityCenterConfiguration
+</summary>
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/lakeformation/command/DescribeLakeFormationIdentityCenterConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-lakeformation/Interface/DescribeLakeFormationIdentityCenterConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-lakeformation/Interface/DescribeLakeFormationIdentityCenterConfigurationCommandOutput/)
+
 </details>
 <details>
 <summary>
@@ -572,6 +596,14 @@ UpdateDataCellsFilter
 
 [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/lakeformation/command/UpdateDataCellsFilterCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-lakeformation/Interface/UpdateDataCellsFilterCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-lakeformation/Interface/UpdateDataCellsFilterCommandOutput/)
 
+</details>
+<details>
+<summary>
+UpdateLakeFormationIdentityCenterConfiguration
+</summary>
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/lakeformation/command/UpdateLakeFormationIdentityCenterConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-lakeformation/Interface/UpdateLakeFormationIdentityCenterConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-lakeformation/Interface/UpdateLakeFormationIdentityCenterConfigurationCommandOutput/)
+
 </details>
 <details>
 <summary>
diff --git a/clients/client-lakeformation/src/LakeFormation.ts b/clients/client-lakeformation/src/LakeFormation.ts
index 54439da1c2a3..a4882c5ded1b 100644
--- a/clients/client-lakeformation/src/LakeFormation.ts
+++ b/clients/client-lakeformation/src/LakeFormation.ts
@@ -37,6 +37,11 @@ import {
   CreateDataCellsFilterCommandInput,
   CreateDataCellsFilterCommandOutput,
 } from "./commands/CreateDataCellsFilterCommand";
+import {
+  CreateLakeFormationIdentityCenterConfigurationCommand,
+  CreateLakeFormationIdentityCenterConfigurationCommandInput,
+  CreateLakeFormationIdentityCenterConfigurationCommandOutput,
+} from "./commands/CreateLakeFormationIdentityCenterConfigurationCommand";
 import {
   CreateLakeFormationOptInCommand,
   CreateLakeFormationOptInCommandInput,
@@ -48,6 +53,11 @@ import {
   DeleteDataCellsFilterCommandInput,
   DeleteDataCellsFilterCommandOutput,
 } from "./commands/DeleteDataCellsFilterCommand";
+import {
+  DeleteLakeFormationIdentityCenterConfigurationCommand,
+  DeleteLakeFormationIdentityCenterConfigurationCommandInput,
+  DeleteLakeFormationIdentityCenterConfigurationCommandOutput,
+} from "./commands/DeleteLakeFormationIdentityCenterConfigurationCommand";
 import {
   DeleteLakeFormationOptInCommand,
   DeleteLakeFormationOptInCommandInput,
@@ -64,6 +74,11 @@ import {
   DeregisterResourceCommandInput,
   DeregisterResourceCommandOutput,
 } from "./commands/DeregisterResourceCommand";
+import {
+  DescribeLakeFormationIdentityCenterConfigurationCommand,
+  DescribeLakeFormationIdentityCenterConfigurationCommandInput,
+  DescribeLakeFormationIdentityCenterConfigurationCommandOutput,
+} from "./commands/DescribeLakeFormationIdentityCenterConfigurationCommand";
 import {
   DescribeResourceCommand,
   DescribeResourceCommandInput,
@@ -216,6 +231,11 @@ import {
   UpdateDataCellsFilterCommandInput,
   UpdateDataCellsFilterCommandOutput,
 } from "./commands/UpdateDataCellsFilterCommand";
+import {
+  UpdateLakeFormationIdentityCenterConfigurationCommand,
+  UpdateLakeFormationIdentityCenterConfigurationCommandInput,
+  UpdateLakeFormationIdentityCenterConfigurationCommandOutput,
+} from "./commands/UpdateLakeFormationIdentityCenterConfigurationCommand";
 import { UpdateLFTagCommand, UpdateLFTagCommandInput, UpdateLFTagCommandOutput } from "./commands/UpdateLFTagCommand";
 import {
   UpdateResourceCommand,
@@ -242,13 +262,16 @@ const commands = {
   CancelTransactionCommand,
   CommitTransactionCommand,
   CreateDataCellsFilterCommand,
+  CreateLakeFormationIdentityCenterConfigurationCommand,
   CreateLakeFormationOptInCommand,
   CreateLFTagCommand,
   DeleteDataCellsFilterCommand,
+  DeleteLakeFormationIdentityCenterConfigurationCommand,
   DeleteLakeFormationOptInCommand,
   DeleteLFTagCommand,
   DeleteObjectsOnCancelCommand,
   DeregisterResourceCommand,
+  DescribeLakeFormationIdentityCenterConfigurationCommand,
   DescribeResourceCommand,
   DescribeTransactionCommand,
   ExtendTransactionCommand,
@@ -281,6 +304,7 @@ const commands = {
   StartQueryPlanningCommand,
   StartTransactionCommand,
   UpdateDataCellsFilterCommand,
+  UpdateLakeFormationIdentityCenterConfigurationCommand,
   UpdateLFTagCommand,
   UpdateResourceCommand,
   UpdateTableObjectsCommand,
@@ -407,6 +431,23 @@ export interface LakeFormation {
     cb: (err: any, data?: CreateDataCellsFilterCommandOutput) => void
   ): void;
 
+  /**
+   * @see {@link CreateLakeFormationIdentityCenterConfigurationCommand}
+   */
+  createLakeFormationIdentityCenterConfiguration(
+    args: CreateLakeFormationIdentityCenterConfigurationCommandInput,
+    options?: __HttpHandlerOptions
+  ): Promise<CreateLakeFormationIdentityCenterConfigurationCommandOutput>;
+  createLakeFormationIdentityCenterConfiguration(
+    args: CreateLakeFormationIdentityCenterConfigurationCommandInput,
+    cb: (err: any, data?: CreateLakeFormationIdentityCenterConfigurationCommandOutput) => void
+  ): void;
+  createLakeFormationIdentityCenterConfiguration(
+    args: CreateLakeFormationIdentityCenterConfigurationCommandInput,
+    options: __HttpHandlerOptions,
+    cb: (err: any, data?: CreateLakeFormationIdentityCenterConfigurationCommandOutput) => void
+  ): void;
+
   /**
    * @see {@link CreateLakeFormationOptInCommand}
    */
@@ -452,6 +493,23 @@ export interface LakeFormation {
     cb: (err: any, data?: DeleteDataCellsFilterCommandOutput) => void
   ): void;
 
+  /**
+   * @see {@link DeleteLakeFormationIdentityCenterConfigurationCommand}
+   */
+  deleteLakeFormationIdentityCenterConfiguration(
+    args: DeleteLakeFormationIdentityCenterConfigurationCommandInput,
+    options?: __HttpHandlerOptions
+  ): Promise<DeleteLakeFormationIdentityCenterConfigurationCommandOutput>;
+  deleteLakeFormationIdentityCenterConfiguration(
+    args: DeleteLakeFormationIdentityCenterConfigurationCommandInput,
+    cb: (err: any, data?: DeleteLakeFormationIdentityCenterConfigurationCommandOutput) => void
+  ): void;
+  deleteLakeFormationIdentityCenterConfiguration(
+    args: DeleteLakeFormationIdentityCenterConfigurationCommandInput,
+    options: __HttpHandlerOptions,
+    cb: (err: any, data?: DeleteLakeFormationIdentityCenterConfigurationCommandOutput) => void
+  ): void;
+
   /**
    * @see {@link DeleteLakeFormationOptInCommand}
    */
@@ -514,6 +572,23 @@ export interface LakeFormation {
     cb: (err: any, data?: DeregisterResourceCommandOutput) => void
   ): void;
 
+  /**
+   * @see {@link DescribeLakeFormationIdentityCenterConfigurationCommand}
+   */
+  describeLakeFormationIdentityCenterConfiguration(
+    args: DescribeLakeFormationIdentityCenterConfigurationCommandInput,
+    options?: __HttpHandlerOptions
+  ): Promise<DescribeLakeFormationIdentityCenterConfigurationCommandOutput>;
+  describeLakeFormationIdentityCenterConfiguration(
+    args: DescribeLakeFormationIdentityCenterConfigurationCommandInput,
+    cb: (err: any, data?: DescribeLakeFormationIdentityCenterConfigurationCommandOutput) => void
+  ): void;
+  describeLakeFormationIdentityCenterConfiguration(
+    args: DescribeLakeFormationIdentityCenterConfigurationCommandInput,
+    options: __HttpHandlerOptions,
+    cb: (err: any, data?: DescribeLakeFormationIdentityCenterConfigurationCommandOutput) => void
+  ): void;
+
   /**
    * @see {@link DescribeResourceCommand}
    */
@@ -1022,6 +1097,23 @@ export interface LakeFormation {
     cb: (err: any, data?: UpdateDataCellsFilterCommandOutput) => void
   ): void;
 
+  /**
+   * @see {@link UpdateLakeFormationIdentityCenterConfigurationCommand}
+   */
+  updateLakeFormationIdentityCenterConfiguration(
+    args: UpdateLakeFormationIdentityCenterConfigurationCommandInput,
+    options?: __HttpHandlerOptions
+  ): Promise<UpdateLakeFormationIdentityCenterConfigurationCommandOutput>;
+  updateLakeFormationIdentityCenterConfiguration(
+    args: UpdateLakeFormationIdentityCenterConfigurationCommandInput,
+    cb: (err: any, data?: UpdateLakeFormationIdentityCenterConfigurationCommandOutput) => void
+  ): void;
+  updateLakeFormationIdentityCenterConfiguration(
+    args: UpdateLakeFormationIdentityCenterConfigurationCommandInput,
+    options: __HttpHandlerOptions,
+    cb: (err: any, data?: UpdateLakeFormationIdentityCenterConfigurationCommandOutput) => void
+  ): void;
+
   /**
    * @see {@link UpdateLFTagCommand}
    */
diff --git a/clients/client-lakeformation/src/LakeFormationClient.ts b/clients/client-lakeformation/src/LakeFormationClient.ts
index 7b2029beabf3..8a3c64a50963 100644
--- a/clients/client-lakeformation/src/LakeFormationClient.ts
+++ b/clients/client-lakeformation/src/LakeFormationClient.ts
@@ -73,6 +73,10 @@ import {
   CreateDataCellsFilterCommandInput,
   CreateDataCellsFilterCommandOutput,
 } from "./commands/CreateDataCellsFilterCommand";
+import {
+  CreateLakeFormationIdentityCenterConfigurationCommandInput,
+  CreateLakeFormationIdentityCenterConfigurationCommandOutput,
+} from "./commands/CreateLakeFormationIdentityCenterConfigurationCommand";
 import {
   CreateLakeFormationOptInCommandInput,
   CreateLakeFormationOptInCommandOutput,
@@ -82,6 +86,10 @@ import {
   DeleteDataCellsFilterCommandInput,
   DeleteDataCellsFilterCommandOutput,
 } from "./commands/DeleteDataCellsFilterCommand";
+import {
+  DeleteLakeFormationIdentityCenterConfigurationCommandInput,
+  DeleteLakeFormationIdentityCenterConfigurationCommandOutput,
+} from "./commands/DeleteLakeFormationIdentityCenterConfigurationCommand";
 import {
   DeleteLakeFormationOptInCommandInput,
   DeleteLakeFormationOptInCommandOutput,
@@ -92,6 +100,10 @@ import {
   DeleteObjectsOnCancelCommandOutput,
 } from "./commands/DeleteObjectsOnCancelCommand";
 import { DeregisterResourceCommandInput, DeregisterResourceCommandOutput } from "./commands/DeregisterResourceCommand";
+import {
+  DescribeLakeFormationIdentityCenterConfigurationCommandInput,
+  DescribeLakeFormationIdentityCenterConfigurationCommandOutput,
+} from "./commands/DescribeLakeFormationIdentityCenterConfigurationCommand";
 import { DescribeResourceCommandInput, DescribeResourceCommandOutput } from "./commands/DescribeResourceCommand";
 import {
   DescribeTransactionCommandInput,
@@ -163,6 +175,10 @@ import {
   UpdateDataCellsFilterCommandInput,
   UpdateDataCellsFilterCommandOutput,
 } from "./commands/UpdateDataCellsFilterCommand";
+import {
+  UpdateLakeFormationIdentityCenterConfigurationCommandInput,
+  UpdateLakeFormationIdentityCenterConfigurationCommandOutput,
+} from "./commands/UpdateLakeFormationIdentityCenterConfigurationCommand";
 import { UpdateLFTagCommandInput, UpdateLFTagCommandOutput } from "./commands/UpdateLFTagCommand";
 import { UpdateResourceCommandInput, UpdateResourceCommandOutput } from "./commands/UpdateResourceCommand";
 import { UpdateTableObjectsCommandInput, UpdateTableObjectsCommandOutput } from "./commands/UpdateTableObjectsCommand";
@@ -193,12 +209,15 @@ export type ServiceInputTypes =
   | CommitTransactionCommandInput
   | CreateDataCellsFilterCommandInput
   | CreateLFTagCommandInput
+  | CreateLakeFormationIdentityCenterConfigurationCommandInput
   | CreateLakeFormationOptInCommandInput
   | DeleteDataCellsFilterCommandInput
   | DeleteLFTagCommandInput
+  | DeleteLakeFormationIdentityCenterConfigurationCommandInput
   | DeleteLakeFormationOptInCommandInput
   | DeleteObjectsOnCancelCommandInput
   | DeregisterResourceCommandInput
+  | DescribeLakeFormationIdentityCenterConfigurationCommandInput
   | DescribeResourceCommandInput
   | DescribeTransactionCommandInput
   | ExtendTransactionCommandInput
@@ -232,6 +251,7 @@ export type ServiceInputTypes =
   | StartTransactionCommandInput
   | UpdateDataCellsFilterCommandInput
   | UpdateLFTagCommandInput
+  | UpdateLakeFormationIdentityCenterConfigurationCommandInput
   | UpdateResourceCommandInput
   | UpdateTableObjectsCommandInput
   | UpdateTableStorageOptimizerCommandInput;
@@ -248,12 +268,15 @@ export type ServiceOutputTypes =
   | CommitTransactionCommandOutput
   | CreateDataCellsFilterCommandOutput
   | CreateLFTagCommandOutput
+  | CreateLakeFormationIdentityCenterConfigurationCommandOutput
   | CreateLakeFormationOptInCommandOutput
   | DeleteDataCellsFilterCommandOutput
   | DeleteLFTagCommandOutput
+  | DeleteLakeFormationIdentityCenterConfigurationCommandOutput
   | DeleteLakeFormationOptInCommandOutput
   | DeleteObjectsOnCancelCommandOutput
   | DeregisterResourceCommandOutput
+  | DescribeLakeFormationIdentityCenterConfigurationCommandOutput
   | DescribeResourceCommandOutput
   | DescribeTransactionCommandOutput
   | ExtendTransactionCommandOutput
@@ -287,6 +310,7 @@ export type ServiceOutputTypes =
   | StartTransactionCommandOutput
   | UpdateDataCellsFilterCommandOutput
   | UpdateLFTagCommandOutput
+  | UpdateLakeFormationIdentityCenterConfigurationCommandOutput
   | UpdateResourceCommandOutput
   | UpdateTableObjectsCommandOutput
   | UpdateTableStorageOptimizerCommandOutput;
diff --git a/clients/client-lakeformation/src/commands/CreateLakeFormationIdentityCenterConfigurationCommand.ts b/clients/client-lakeformation/src/commands/CreateLakeFormationIdentityCenterConfigurationCommand.ts
new file mode 100644
index 000000000000..9132fde95030
--- /dev/null
+++ b/clients/client-lakeformation/src/commands/CreateLakeFormationIdentityCenterConfigurationCommand.ts
@@ -0,0 +1,185 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+  FinalizeHandlerArguments,
+  Handler,
+  HandlerExecutionContext,
+  HttpHandlerOptions as __HttpHandlerOptions,
+  MetadataBearer as __MetadataBearer,
+  MiddlewareStack,
+  SerdeContext as __SerdeContext,
+  SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { LakeFormationClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LakeFormationClient";
+import {
+  CreateLakeFormationIdentityCenterConfigurationRequest,
+  CreateLakeFormationIdentityCenterConfigurationResponse,
+} from "../models/models_0";
+import {
+  de_CreateLakeFormationIdentityCenterConfigurationCommand,
+  se_CreateLakeFormationIdentityCenterConfigurationCommand,
+} from "../protocols/Aws_restJson1";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link CreateLakeFormationIdentityCenterConfigurationCommand}.
+ */
+export interface CreateLakeFormationIdentityCenterConfigurationCommandInput
+  extends CreateLakeFormationIdentityCenterConfigurationRequest {}
+/**
+ * @public
+ *
+ * The output of {@link CreateLakeFormationIdentityCenterConfigurationCommand}.
+ */
+export interface CreateLakeFormationIdentityCenterConfigurationCommandOutput
+  extends CreateLakeFormationIdentityCenterConfigurationResponse,
+    __MetadataBearer {}
+
+/**
+ * @public
+ * <p>Creates an IAM Identity Center connection with Lake Formation to allow IAM Identity Center users and groups to access Data Catalog resources.</p>
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { LakeFormationClient, CreateLakeFormationIdentityCenterConfigurationCommand } from "@aws-sdk/client-lakeformation"; // ES Modules import
+ * // const { LakeFormationClient, CreateLakeFormationIdentityCenterConfigurationCommand } = require("@aws-sdk/client-lakeformation"); // CommonJS import
+ * const client = new LakeFormationClient(config);
+ * const input = { // CreateLakeFormationIdentityCenterConfigurationRequest
+ *   CatalogId: "STRING_VALUE",
+ *   InstanceArn: "STRING_VALUE",
+ *   ExternalFiltering: { // ExternalFilteringConfiguration
+ *     Status: "ENABLED" || "DISABLED", // required
+ *     AuthorizedTargets: [ // ScopeTargets // required
+ *       "STRING_VALUE",
+ *     ],
+ *   },
+ * };
+ * const command = new CreateLakeFormationIdentityCenterConfigurationCommand(input);
+ * const response = await client.send(command);
+ * // { // CreateLakeFormationIdentityCenterConfigurationResponse
+ * //   ApplicationArn: "STRING_VALUE",
+ * // };
+ *
+ * ```
+ *
+ * @param CreateLakeFormationIdentityCenterConfigurationCommandInput - {@link CreateLakeFormationIdentityCenterConfigurationCommandInput}
+ * @returns {@link CreateLakeFormationIdentityCenterConfigurationCommandOutput}
+ * @see {@link CreateLakeFormationIdentityCenterConfigurationCommandInput} for command's `input` shape.
+ * @see {@link CreateLakeFormationIdentityCenterConfigurationCommandOutput} for command's `response` shape.
+ * @see {@link LakeFormationClientResolvedConfig | config} for LakeFormationClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ *  <p>Access to a resource was denied.</p>
+ *
+ * @throws {@link AlreadyExistsException} (client fault)
+ *  <p>A resource to be created or added already exists.</p>
+ *
+ * @throws {@link ConcurrentModificationException} (client fault)
+ *  <p>Two processes are trying to modify a resource simultaneously.</p>
+ *
+ * @throws {@link InternalServiceException} (server fault)
+ *  <p>An internal service error occurred.</p>
+ *
+ * @throws {@link InvalidInputException} (client fault)
+ *  <p>The input provided was not valid.</p>
+ *
+ * @throws {@link OperationTimeoutException} (client fault)
+ *  <p>The operation timed out.</p>
+ *
+ * @throws {@link LakeFormationServiceException}
+ * <p>Base exception class for all service exceptions from LakeFormation service.</p>
+ *
+ */
+export class CreateLakeFormationIdentityCenterConfigurationCommand extends $Command<
+  CreateLakeFormationIdentityCenterConfigurationCommandInput,
+  CreateLakeFormationIdentityCenterConfigurationCommandOutput,
+  LakeFormationClientResolvedConfig
+> {
+  public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+    return {
+      UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+      Endpoint: { type: "builtInParams", name: "endpoint" },
+      Region: { type: "builtInParams", name: "region" },
+      UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
+    };
+  }
+
+  /**
+   * @public
+   */
+  constructor(readonly input: CreateLakeFormationIdentityCenterConfigurationCommandInput) {
+    super();
+  }
+
+  /**
+   * @internal
+   */
+  resolveMiddleware(
+    clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>,
+    configuration: LakeFormationClientResolvedConfig,
+    options?: __HttpHandlerOptions
+  ): Handler<
+    CreateLakeFormationIdentityCenterConfigurationCommandInput,
+    CreateLakeFormationIdentityCenterConfigurationCommandOutput
+  > {
+    this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+    this.middlewareStack.use(
+      getEndpointPlugin(
+        configuration,
+        CreateLakeFormationIdentityCenterConfigurationCommand.getEndpointParameterInstructions()
+      )
+    );
+
+    const stack = clientStack.concat(this.middlewareStack);
+
+    const { logger } = configuration;
+    const clientName = "LakeFormationClient";
+    const commandName = "CreateLakeFormationIdentityCenterConfigurationCommand";
+    const handlerExecutionContext: HandlerExecutionContext = {
+      logger,
+      clientName,
+      commandName,
+      inputFilterSensitiveLog: (_: any) => _,
+      outputFilterSensitiveLog: (_: any) => _,
+      [SMITHY_CONTEXT_KEY]: {
+        service: "AWSLakeFormation",
+        operation: "CreateLakeFormationIdentityCenterConfiguration",
+      },
+    };
+    const { requestHandler } = configuration;
+    return stack.resolve(
+      (request: FinalizeHandlerArguments<any>) =>
+        requestHandler.handle(request.request as __HttpRequest, options || {}),
+      handlerExecutionContext
+    );
+  }
+
+  /**
+   * @internal
+   */
+  private serialize(
+    input: CreateLakeFormationIdentityCenterConfigurationCommandInput,
+    context: __SerdeContext
+  ): Promise<__HttpRequest> {
+    return se_CreateLakeFormationIdentityCenterConfigurationCommand(input, context);
+  }
+
+  /**
+   * @internal
+   */
+  private deserialize(
+    output: __HttpResponse,
+    context: __SerdeContext
+  ): Promise<CreateLakeFormationIdentityCenterConfigurationCommandOutput> {
+    return de_CreateLakeFormationIdentityCenterConfigurationCommand(output, context);
+  }
+}
diff --git a/clients/client-lakeformation/src/commands/DeleteLakeFormationIdentityCenterConfigurationCommand.ts b/clients/client-lakeformation/src/commands/DeleteLakeFormationIdentityCenterConfigurationCommand.ts
new file mode 100644
index 000000000000..018c4547aa9c
--- /dev/null
+++ b/clients/client-lakeformation/src/commands/DeleteLakeFormationIdentityCenterConfigurationCommand.ts
@@ -0,0 +1,176 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+  FinalizeHandlerArguments,
+  Handler,
+  HandlerExecutionContext,
+  HttpHandlerOptions as __HttpHandlerOptions,
+  MetadataBearer as __MetadataBearer,
+  MiddlewareStack,
+  SerdeContext as __SerdeContext,
+  SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { LakeFormationClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LakeFormationClient";
+import {
+  DeleteLakeFormationIdentityCenterConfigurationRequest,
+  DeleteLakeFormationIdentityCenterConfigurationResponse,
+} from "../models/models_0";
+import {
+  de_DeleteLakeFormationIdentityCenterConfigurationCommand,
+  se_DeleteLakeFormationIdentityCenterConfigurationCommand,
+} from "../protocols/Aws_restJson1";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link DeleteLakeFormationIdentityCenterConfigurationCommand}.
+ */
+export interface DeleteLakeFormationIdentityCenterConfigurationCommandInput
+  extends DeleteLakeFormationIdentityCenterConfigurationRequest {}
+/**
+ * @public
+ *
+ * The output of {@link DeleteLakeFormationIdentityCenterConfigurationCommand}.
+ */
+export interface DeleteLakeFormationIdentityCenterConfigurationCommandOutput
+  extends DeleteLakeFormationIdentityCenterConfigurationResponse,
+    __MetadataBearer {}
+
+/**
+ * @public
+ * <p>Deletes an IAM Identity Center connection with Lake Formation.</p>
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { LakeFormationClient, DeleteLakeFormationIdentityCenterConfigurationCommand } from "@aws-sdk/client-lakeformation"; // ES Modules import
+ * // const { LakeFormationClient, DeleteLakeFormationIdentityCenterConfigurationCommand } = require("@aws-sdk/client-lakeformation"); // CommonJS import
+ * const client = new LakeFormationClient(config);
+ * const input = { // DeleteLakeFormationIdentityCenterConfigurationRequest
+ *   CatalogId: "STRING_VALUE",
+ * };
+ * const command = new DeleteLakeFormationIdentityCenterConfigurationCommand(input);
+ * const response = await client.send(command);
+ * // {};
+ *
+ * ```
+ *
+ * @param DeleteLakeFormationIdentityCenterConfigurationCommandInput - {@link DeleteLakeFormationIdentityCenterConfigurationCommandInput}
+ * @returns {@link DeleteLakeFormationIdentityCenterConfigurationCommandOutput}
+ * @see {@link DeleteLakeFormationIdentityCenterConfigurationCommandInput} for command's `input` shape.
+ * @see {@link DeleteLakeFormationIdentityCenterConfigurationCommandOutput} for command's `response` shape.
+ * @see {@link LakeFormationClientResolvedConfig | config} for LakeFormationClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ *  <p>Access to a resource was denied.</p>
+ *
+ * @throws {@link ConcurrentModificationException} (client fault)
+ *  <p>Two processes are trying to modify a resource simultaneously.</p>
+ *
+ * @throws {@link EntityNotFoundException} (client fault)
+ *  <p>A specified entity does not exist.</p>
+ *
+ * @throws {@link InternalServiceException} (server fault)
+ *  <p>An internal service error occurred.</p>
+ *
+ * @throws {@link InvalidInputException} (client fault)
+ *  <p>The input provided was not valid.</p>
+ *
+ * @throws {@link OperationTimeoutException} (client fault)
+ *  <p>The operation timed out.</p>
+ *
+ * @throws {@link LakeFormationServiceException}
+ * <p>Base exception class for all service exceptions from LakeFormation service.</p>
+ *
+ */
+export class DeleteLakeFormationIdentityCenterConfigurationCommand extends $Command<
+  DeleteLakeFormationIdentityCenterConfigurationCommandInput,
+  DeleteLakeFormationIdentityCenterConfigurationCommandOutput,
+  LakeFormationClientResolvedConfig
+> {
+  public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+    return {
+      UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+      Endpoint: { type: "builtInParams", name: "endpoint" },
+      Region: { type: "builtInParams", name: "region" },
+      UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
+    };
+  }
+
+  /**
+   * @public
+   */
+  constructor(readonly input: DeleteLakeFormationIdentityCenterConfigurationCommandInput) {
+    super();
+  }
+
+  /**
+   * @internal
+   */
+  resolveMiddleware(
+    clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>,
+    configuration: LakeFormationClientResolvedConfig,
+    options?: __HttpHandlerOptions
+  ): Handler<
+    DeleteLakeFormationIdentityCenterConfigurationCommandInput,
+    DeleteLakeFormationIdentityCenterConfigurationCommandOutput
+  > {
+    this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+    this.middlewareStack.use(
+      getEndpointPlugin(
+        configuration,
+        DeleteLakeFormationIdentityCenterConfigurationCommand.getEndpointParameterInstructions()
+      )
+    );
+
+    const stack = clientStack.concat(this.middlewareStack);
+
+    const { logger } = configuration;
+    const clientName = "LakeFormationClient";
+    const commandName = "DeleteLakeFormationIdentityCenterConfigurationCommand";
+    const handlerExecutionContext: HandlerExecutionContext = {
+      logger,
+      clientName,
+      commandName,
+      inputFilterSensitiveLog: (_: any) => _,
+      outputFilterSensitiveLog: (_: any) => _,
+      [SMITHY_CONTEXT_KEY]: {
+        service: "AWSLakeFormation",
+        operation: "DeleteLakeFormationIdentityCenterConfiguration",
+      },
+    };
+    const { requestHandler } = configuration;
+    return stack.resolve(
+      (request: FinalizeHandlerArguments<any>) =>
+        requestHandler.handle(request.request as __HttpRequest, options || {}),
+      handlerExecutionContext
+    );
+  }
+
+  /**
+   * @internal
+   */
+  private serialize(
+    input: DeleteLakeFormationIdentityCenterConfigurationCommandInput,
+    context: __SerdeContext
+  ): Promise<__HttpRequest> {
+    return se_DeleteLakeFormationIdentityCenterConfigurationCommand(input, context);
+  }
+
+  /**
+   * @internal
+   */
+  private deserialize(
+    output: __HttpResponse,
+    context: __SerdeContext
+  ): Promise<DeleteLakeFormationIdentityCenterConfigurationCommandOutput> {
+    return de_DeleteLakeFormationIdentityCenterConfigurationCommand(output, context);
+  }
+}
diff --git a/clients/client-lakeformation/src/commands/DescribeLakeFormationIdentityCenterConfigurationCommand.ts b/clients/client-lakeformation/src/commands/DescribeLakeFormationIdentityCenterConfigurationCommand.ts
new file mode 100644
index 000000000000..390b7f4e38d5
--- /dev/null
+++ b/clients/client-lakeformation/src/commands/DescribeLakeFormationIdentityCenterConfigurationCommand.ts
@@ -0,0 +1,183 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+  FinalizeHandlerArguments,
+  Handler,
+  HandlerExecutionContext,
+  HttpHandlerOptions as __HttpHandlerOptions,
+  MetadataBearer as __MetadataBearer,
+  MiddlewareStack,
+  SerdeContext as __SerdeContext,
+  SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { LakeFormationClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LakeFormationClient";
+import {
+  DescribeLakeFormationIdentityCenterConfigurationRequest,
+  DescribeLakeFormationIdentityCenterConfigurationResponse,
+} from "../models/models_0";
+import {
+  de_DescribeLakeFormationIdentityCenterConfigurationCommand,
+  se_DescribeLakeFormationIdentityCenterConfigurationCommand,
+} from "../protocols/Aws_restJson1";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link DescribeLakeFormationIdentityCenterConfigurationCommand}.
+ */
+export interface DescribeLakeFormationIdentityCenterConfigurationCommandInput
+  extends DescribeLakeFormationIdentityCenterConfigurationRequest {}
+/**
+ * @public
+ *
+ * The output of {@link DescribeLakeFormationIdentityCenterConfigurationCommand}.
+ */
+export interface DescribeLakeFormationIdentityCenterConfigurationCommandOutput
+  extends DescribeLakeFormationIdentityCenterConfigurationResponse,
+    __MetadataBearer {}
+
+/**
+ * @public
+ * <p>Retrieves the instance ARN and application ARN for the connection.</p>
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { LakeFormationClient, DescribeLakeFormationIdentityCenterConfigurationCommand } from "@aws-sdk/client-lakeformation"; // ES Modules import
+ * // const { LakeFormationClient, DescribeLakeFormationIdentityCenterConfigurationCommand } = require("@aws-sdk/client-lakeformation"); // CommonJS import
+ * const client = new LakeFormationClient(config);
+ * const input = { // DescribeLakeFormationIdentityCenterConfigurationRequest
+ *   CatalogId: "STRING_VALUE",
+ * };
+ * const command = new DescribeLakeFormationIdentityCenterConfigurationCommand(input);
+ * const response = await client.send(command);
+ * // { // DescribeLakeFormationIdentityCenterConfigurationResponse
+ * //   CatalogId: "STRING_VALUE",
+ * //   InstanceArn: "STRING_VALUE",
+ * //   ApplicationArn: "STRING_VALUE",
+ * //   ExternalFiltering: { // ExternalFilteringConfiguration
+ * //     Status: "ENABLED" || "DISABLED", // required
+ * //     AuthorizedTargets: [ // ScopeTargets // required
+ * //       "STRING_VALUE",
+ * //     ],
+ * //   },
+ * // };
+ *
+ * ```
+ *
+ * @param DescribeLakeFormationIdentityCenterConfigurationCommandInput - {@link DescribeLakeFormationIdentityCenterConfigurationCommandInput}
+ * @returns {@link DescribeLakeFormationIdentityCenterConfigurationCommandOutput}
+ * @see {@link DescribeLakeFormationIdentityCenterConfigurationCommandInput} for command's `input` shape.
+ * @see {@link DescribeLakeFormationIdentityCenterConfigurationCommandOutput} for command's `response` shape.
+ * @see {@link LakeFormationClientResolvedConfig | config} for LakeFormationClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ *  <p>Access to a resource was denied.</p>
+ *
+ * @throws {@link EntityNotFoundException} (client fault)
+ *  <p>A specified entity does not exist.</p>
+ *
+ * @throws {@link InternalServiceException} (server fault)
+ *  <p>An internal service error occurred.</p>
+ *
+ * @throws {@link InvalidInputException} (client fault)
+ *  <p>The input provided was not valid.</p>
+ *
+ * @throws {@link OperationTimeoutException} (client fault)
+ *  <p>The operation timed out.</p>
+ *
+ * @throws {@link LakeFormationServiceException}
+ * <p>Base exception class for all service exceptions from LakeFormation service.</p>
+ *
+ */
+export class DescribeLakeFormationIdentityCenterConfigurationCommand extends $Command<
+  DescribeLakeFormationIdentityCenterConfigurationCommandInput,
+  DescribeLakeFormationIdentityCenterConfigurationCommandOutput,
+  LakeFormationClientResolvedConfig
+> {
+  public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+    return {
+      UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+      Endpoint: { type: "builtInParams", name: "endpoint" },
+      Region: { type: "builtInParams", name: "region" },
+      UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
+    };
+  }
+
+  /**
+   * @public
+   */
+  constructor(readonly input: DescribeLakeFormationIdentityCenterConfigurationCommandInput) {
+    super();
+  }
+
+  /**
+   * @internal
+   */
+  resolveMiddleware(
+    clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>,
+    configuration: LakeFormationClientResolvedConfig,
+    options?: __HttpHandlerOptions
+  ): Handler<
+    DescribeLakeFormationIdentityCenterConfigurationCommandInput,
+    DescribeLakeFormationIdentityCenterConfigurationCommandOutput
+  > {
+    this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+    this.middlewareStack.use(
+      getEndpointPlugin(
+        configuration,
+        DescribeLakeFormationIdentityCenterConfigurationCommand.getEndpointParameterInstructions()
+      )
+    );
+
+    const stack = clientStack.concat(this.middlewareStack);
+
+    const { logger } = configuration;
+    const clientName = "LakeFormationClient";
+    const commandName = "DescribeLakeFormationIdentityCenterConfigurationCommand";
+    const handlerExecutionContext: HandlerExecutionContext = {
+      logger,
+      clientName,
+      commandName,
+      inputFilterSensitiveLog: (_: any) => _,
+      outputFilterSensitiveLog: (_: any) => _,
+      [SMITHY_CONTEXT_KEY]: {
+        service: "AWSLakeFormation",
+        operation: "DescribeLakeFormationIdentityCenterConfiguration",
+      },
+    };
+    const { requestHandler } = configuration;
+    return stack.resolve(
+      (request: FinalizeHandlerArguments<any>) =>
+        requestHandler.handle(request.request as __HttpRequest, options || {}),
+      handlerExecutionContext
+    );
+  }
+
+  /**
+   * @internal
+   */
+  private serialize(
+    input: DescribeLakeFormationIdentityCenterConfigurationCommandInput,
+    context: __SerdeContext
+  ): Promise<__HttpRequest> {
+    return se_DescribeLakeFormationIdentityCenterConfigurationCommand(input, context);
+  }
+
+  /**
+   * @internal
+   */
+  private deserialize(
+    output: __HttpResponse,
+    context: __SerdeContext
+  ): Promise<DescribeLakeFormationIdentityCenterConfigurationCommandOutput> {
+    return de_DescribeLakeFormationIdentityCenterConfigurationCommand(output, context);
+  }
+}
diff --git a/clients/client-lakeformation/src/commands/UpdateLakeFormationIdentityCenterConfigurationCommand.ts b/clients/client-lakeformation/src/commands/UpdateLakeFormationIdentityCenterConfigurationCommand.ts
new file mode 100644
index 000000000000..d30eb7a18075
--- /dev/null
+++ b/clients/client-lakeformation/src/commands/UpdateLakeFormationIdentityCenterConfigurationCommand.ts
@@ -0,0 +1,183 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+  FinalizeHandlerArguments,
+  Handler,
+  HandlerExecutionContext,
+  HttpHandlerOptions as __HttpHandlerOptions,
+  MetadataBearer as __MetadataBearer,
+  MiddlewareStack,
+  SerdeContext as __SerdeContext,
+  SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { LakeFormationClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LakeFormationClient";
+import {
+  UpdateLakeFormationIdentityCenterConfigurationRequest,
+  UpdateLakeFormationIdentityCenterConfigurationResponse,
+} from "../models/models_0";
+import {
+  de_UpdateLakeFormationIdentityCenterConfigurationCommand,
+  se_UpdateLakeFormationIdentityCenterConfigurationCommand,
+} from "../protocols/Aws_restJson1";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link UpdateLakeFormationIdentityCenterConfigurationCommand}.
+ */
+export interface UpdateLakeFormationIdentityCenterConfigurationCommandInput
+  extends UpdateLakeFormationIdentityCenterConfigurationRequest {}
+/**
+ * @public
+ *
+ * The output of {@link UpdateLakeFormationIdentityCenterConfigurationCommand}.
+ */
+export interface UpdateLakeFormationIdentityCenterConfigurationCommandOutput
+  extends UpdateLakeFormationIdentityCenterConfigurationResponse,
+    __MetadataBearer {}
+
+/**
+ * @public
+ * <p>Updates the IAM Identity Center connection parameters.</p>
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { LakeFormationClient, UpdateLakeFormationIdentityCenterConfigurationCommand } from "@aws-sdk/client-lakeformation"; // ES Modules import
+ * // const { LakeFormationClient, UpdateLakeFormationIdentityCenterConfigurationCommand } = require("@aws-sdk/client-lakeformation"); // CommonJS import
+ * const client = new LakeFormationClient(config);
+ * const input = { // UpdateLakeFormationIdentityCenterConfigurationRequest
+ *   CatalogId: "STRING_VALUE",
+ *   ApplicationStatus: "ENABLED" || "DISABLED",
+ *   ExternalFiltering: { // ExternalFilteringConfiguration
+ *     Status: "ENABLED" || "DISABLED", // required
+ *     AuthorizedTargets: [ // ScopeTargets // required
+ *       "STRING_VALUE",
+ *     ],
+ *   },
+ * };
+ * const command = new UpdateLakeFormationIdentityCenterConfigurationCommand(input);
+ * const response = await client.send(command);
+ * // {};
+ *
+ * ```
+ *
+ * @param UpdateLakeFormationIdentityCenterConfigurationCommandInput - {@link UpdateLakeFormationIdentityCenterConfigurationCommandInput}
+ * @returns {@link UpdateLakeFormationIdentityCenterConfigurationCommandOutput}
+ * @see {@link UpdateLakeFormationIdentityCenterConfigurationCommandInput} for command's `input` shape.
+ * @see {@link UpdateLakeFormationIdentityCenterConfigurationCommandOutput} for command's `response` shape.
+ * @see {@link LakeFormationClientResolvedConfig | config} for LakeFormationClient's `config` shape.
+ *
+ * @throws {@link AccessDeniedException} (client fault)
+ *  <p>Access to a resource was denied.</p>
+ *
+ * @throws {@link ConcurrentModificationException} (client fault)
+ *  <p>Two processes are trying to modify a resource simultaneously.</p>
+ *
+ * @throws {@link EntityNotFoundException} (client fault)
+ *  <p>A specified entity does not exist.</p>
+ *
+ * @throws {@link InternalServiceException} (server fault)
+ *  <p>An internal service error occurred.</p>
+ *
+ * @throws {@link InvalidInputException} (client fault)
+ *  <p>The input provided was not valid.</p>
+ *
+ * @throws {@link OperationTimeoutException} (client fault)
+ *  <p>The operation timed out.</p>
+ *
+ * @throws {@link LakeFormationServiceException}
+ * <p>Base exception class for all service exceptions from LakeFormation service.</p>
+ *
+ */
+export class UpdateLakeFormationIdentityCenterConfigurationCommand extends $Command<
+  UpdateLakeFormationIdentityCenterConfigurationCommandInput,
+  UpdateLakeFormationIdentityCenterConfigurationCommandOutput,
+  LakeFormationClientResolvedConfig
+> {
+  public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+    return {
+      UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+      Endpoint: { type: "builtInParams", name: "endpoint" },
+      Region: { type: "builtInParams", name: "region" },
+      UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
+    };
+  }
+
+  /**
+   * @public
+   */
+  constructor(readonly input: UpdateLakeFormationIdentityCenterConfigurationCommandInput) {
+    super();
+  }
+
+  /**
+   * @internal
+   */
+  resolveMiddleware(
+    clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>,
+    configuration: LakeFormationClientResolvedConfig,
+    options?: __HttpHandlerOptions
+  ): Handler<
+    UpdateLakeFormationIdentityCenterConfigurationCommandInput,
+    UpdateLakeFormationIdentityCenterConfigurationCommandOutput
+  > {
+    this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+    this.middlewareStack.use(
+      getEndpointPlugin(
+        configuration,
+        UpdateLakeFormationIdentityCenterConfigurationCommand.getEndpointParameterInstructions()
+      )
+    );
+
+    const stack = clientStack.concat(this.middlewareStack);
+
+    const { logger } = configuration;
+    const clientName = "LakeFormationClient";
+    const commandName = "UpdateLakeFormationIdentityCenterConfigurationCommand";
+    const handlerExecutionContext: HandlerExecutionContext = {
+      logger,
+      clientName,
+      commandName,
+      inputFilterSensitiveLog: (_: any) => _,
+      outputFilterSensitiveLog: (_: any) => _,
+      [SMITHY_CONTEXT_KEY]: {
+        service: "AWSLakeFormation",
+        operation: "UpdateLakeFormationIdentityCenterConfiguration",
+      },
+    };
+    const { requestHandler } = configuration;
+    return stack.resolve(
+      (request: FinalizeHandlerArguments<any>) =>
+        requestHandler.handle(request.request as __HttpRequest, options || {}),
+      handlerExecutionContext
+    );
+  }
+
+  /**
+   * @internal
+   */
+  private serialize(
+    input: UpdateLakeFormationIdentityCenterConfigurationCommandInput,
+    context: __SerdeContext
+  ): Promise<__HttpRequest> {
+    return se_UpdateLakeFormationIdentityCenterConfigurationCommand(input, context);
+  }
+
+  /**
+   * @internal
+   */
+  private deserialize(
+    output: __HttpResponse,
+    context: __SerdeContext
+  ): Promise<UpdateLakeFormationIdentityCenterConfigurationCommandOutput> {
+    return de_UpdateLakeFormationIdentityCenterConfigurationCommand(output, context);
+  }
+}
diff --git a/clients/client-lakeformation/src/commands/index.ts b/clients/client-lakeformation/src/commands/index.ts
index c66acfe48430..565c746fc66a 100644
--- a/clients/client-lakeformation/src/commands/index.ts
+++ b/clients/client-lakeformation/src/commands/index.ts
@@ -7,12 +7,15 @@ export * from "./CancelTransactionCommand";
 export * from "./CommitTransactionCommand";
 export * from "./CreateDataCellsFilterCommand";
 export * from "./CreateLFTagCommand";
+export * from "./CreateLakeFormationIdentityCenterConfigurationCommand";
 export * from "./CreateLakeFormationOptInCommand";
 export * from "./DeleteDataCellsFilterCommand";
 export * from "./DeleteLFTagCommand";
+export * from "./DeleteLakeFormationIdentityCenterConfigurationCommand";
 export * from "./DeleteLakeFormationOptInCommand";
 export * from "./DeleteObjectsOnCancelCommand";
 export * from "./DeregisterResourceCommand";
+export * from "./DescribeLakeFormationIdentityCenterConfigurationCommand";
 export * from "./DescribeResourceCommand";
 export * from "./DescribeTransactionCommand";
 export * from "./ExtendTransactionCommand";
@@ -46,6 +49,7 @@ export * from "./StartQueryPlanningCommand";
 export * from "./StartTransactionCommand";
 export * from "./UpdateDataCellsFilterCommand";
 export * from "./UpdateLFTagCommand";
+export * from "./UpdateLakeFormationIdentityCenterConfigurationCommand";
 export * from "./UpdateResourceCommand";
 export * from "./UpdateTableObjectsCommand";
 export * from "./UpdateTableStorageOptimizerCommand";
diff --git a/clients/client-lakeformation/src/models/models_0.ts b/clients/client-lakeformation/src/models/models_0.ts
index 446e09ea832a..208518c87959 100644
--- a/clients/client-lakeformation/src/models/models_0.ts
+++ b/clients/client-lakeformation/src/models/models_0.ts
@@ -611,6 +611,20 @@ export class AlreadyExistsException extends __BaseException {
   }
 }
 
+/**
+ * @public
+ * @enum
+ */
+export const ApplicationStatus = {
+  DISABLED: "DISABLED",
+  ENABLED: "ENABLED",
+} as const;
+
+/**
+ * @public
+ */
+export type ApplicationStatus = (typeof ApplicationStatus)[keyof typeof ApplicationStatus];
+
 /**
  * @public
  */
@@ -1077,6 +1091,80 @@ export class ResourceNumberLimitExceededException extends __BaseException {
   }
 }
 
+/**
+ * @public
+ * @enum
+ */
+export const EnableStatus = {
+  DISABLED: "DISABLED",
+  ENABLED: "ENABLED",
+} as const;
+
+/**
+ * @public
+ */
+export type EnableStatus = (typeof EnableStatus)[keyof typeof EnableStatus];
+
+/**
+ * @public
+ * <p>Configuration for enabling external data filtering for third-party applications to
+ *          access data managed by Lake Formation .</p>
+ */
+export interface ExternalFilteringConfiguration {
+  /**
+   * @public
+   * <p>Allows to enable or disable the third-party applications that are allowed to access data
+   *          managed by Lake Formation.</p>
+   */
+  Status: EnableStatus | undefined;
+
+  /**
+   * @public
+   * <p>List of third-party application <code>ARNs</code> integrated with Lake Formation.</p>
+   */
+  AuthorizedTargets: string[] | undefined;
+}
+
+/**
+ * @public
+ */
+export interface CreateLakeFormationIdentityCenterConfigurationRequest {
+  /**
+   * @public
+   * <p>The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the
+   *          persistent metadata store. It contains database definitions, table definitions, view
+   *          definitions, and other control information to manage your Lake Formation
+   *          environment.</p>
+   */
+  CatalogId?: string;
+
+  /**
+   * @public
+   * <p>The ARN of the IAM Identity Center instance for which the operation will be executed.
+   *          For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service
+   *          Namespaces in the Amazon Web Services General Reference.</p>
+   */
+  InstanceArn?: string;
+
+  /**
+   * @public
+   * <p>A list of the account IDs of Amazon Web Services accounts of third-party applications
+   *          that are allowed to to access data managed by Lake Formation.</p>
+   */
+  ExternalFiltering?: ExternalFilteringConfiguration;
+}
+
+/**
+ * @public
+ */
+export interface CreateLakeFormationIdentityCenterConfigurationResponse {
+  /**
+   * @public
+   * <p>The Amazon Resource Name (ARN) of the integrated application.</p>
+   */
+  ApplicationArn?: string;
+}
+
 /**
  * @public
  */
@@ -1162,6 +1250,24 @@ export interface DeleteDataCellsFilterRequest {
  */
 export interface DeleteDataCellsFilterResponse {}
 
+/**
+ * @public
+ */
+export interface DeleteLakeFormationIdentityCenterConfigurationRequest {
+  /**
+   * @public
+   * <p>The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the
+   *          persistent metadata store. It contains database definitions, table definitions, view
+   *          definition, and other control information to manage your Lake Formation environment.</p>
+   */
+  CatalogId?: string;
+}
+
+/**
+ * @public
+ */
+export interface DeleteLakeFormationIdentityCenterConfigurationResponse {}
+
 /**
  * @public
  */
@@ -1308,6 +1414,46 @@ export interface DeregisterResourceRequest {
  */
 export interface DeregisterResourceResponse {}
 
+/**
+ * @public
+ */
+export interface DescribeLakeFormationIdentityCenterConfigurationRequest {
+  /**
+   * @public
+   * <p>The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.</p>
+   */
+  CatalogId?: string;
+}
+
+/**
+ * @public
+ */
+export interface DescribeLakeFormationIdentityCenterConfigurationResponse {
+  /**
+   * @public
+   * <p>The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.</p>
+   */
+  CatalogId?: string;
+
+  /**
+   * @public
+   * <p>The Amazon Resource Name (ARN) of the connection.</p>
+   */
+  InstanceArn?: string;
+
+  /**
+   * @public
+   * <p>The Amazon Resource Name (ARN) of the integrated application.</p>
+   */
+  ApplicationArn?: string;
+
+  /**
+   * @public
+   * <p>Indicates if external filtering is enabled.</p>
+   */
+  ExternalFiltering?: ExternalFilteringConfiguration;
+}
+
 /**
  * @public
  */
@@ -1542,7 +1688,7 @@ export interface DataLakeSettings {
 
   /**
    * @public
-   * <p>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.</p>
+   * <p>A key-value map that provides an additional configuration on your data lake. CROSS_ACCOUNT_VERSION is the key you can configure in the Parameters field. Accepted values for the CrossAccountVersion key are 1, 2, 3, and 4.</p>
    */
   Parameters?: Record<string, string>;
 
@@ -3350,7 +3496,7 @@ export interface TaggedTable {
 export interface SearchTablesByLFTagsResponse {
   /**
    * @public
-   * <p>A continuation token, present if the current list segment is not the last.</p>
+   * <p>A continuation token, present if the current list segment is not the last. On the first run, if you include a not null (a value) token you can get empty pages.</p>
    */
   NextToken?: string;
 
@@ -3478,6 +3624,38 @@ export interface UpdateDataCellsFilterRequest {
  */
 export interface UpdateDataCellsFilterResponse {}
 
+/**
+ * @public
+ */
+export interface UpdateLakeFormationIdentityCenterConfigurationRequest {
+  /**
+   * @public
+   * <p>The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the
+   *          persistent metadata store. It contains database definitions, table definitions, view
+   *          definitions, and other control information to manage your Lake Formation
+   *          environment.</p>
+   */
+  CatalogId?: string;
+
+  /**
+   * @public
+   * <p>Allows to enable or disable the IAM Identity Center connection.</p>
+   */
+  ApplicationStatus?: ApplicationStatus;
+
+  /**
+   * @public
+   * <p>A list of the account IDs of Amazon Web Services accounts of third-party applications
+   *          that are allowed to access data managed by Lake Formation.</p>
+   */
+  ExternalFiltering?: ExternalFilteringConfiguration;
+}
+
+/**
+ * @public
+ */
+export interface UpdateLakeFormationIdentityCenterConfigurationResponse {}
+
 /**
  * @public
  */
diff --git a/clients/client-lakeformation/src/protocols/Aws_restJson1.ts b/clients/client-lakeformation/src/protocols/Aws_restJson1.ts
index 8f13ec5a54e7..630ef3f8cc2d 100644
--- a/clients/client-lakeformation/src/protocols/Aws_restJson1.ts
+++ b/clients/client-lakeformation/src/protocols/Aws_restJson1.ts
@@ -48,6 +48,10 @@ import {
   CreateDataCellsFilterCommandInput,
   CreateDataCellsFilterCommandOutput,
 } from "../commands/CreateDataCellsFilterCommand";
+import {
+  CreateLakeFormationIdentityCenterConfigurationCommandInput,
+  CreateLakeFormationIdentityCenterConfigurationCommandOutput,
+} from "../commands/CreateLakeFormationIdentityCenterConfigurationCommand";
 import {
   CreateLakeFormationOptInCommandInput,
   CreateLakeFormationOptInCommandOutput,
@@ -57,6 +61,10 @@ import {
   DeleteDataCellsFilterCommandInput,
   DeleteDataCellsFilterCommandOutput,
 } from "../commands/DeleteDataCellsFilterCommand";
+import {
+  DeleteLakeFormationIdentityCenterConfigurationCommandInput,
+  DeleteLakeFormationIdentityCenterConfigurationCommandOutput,
+} from "../commands/DeleteLakeFormationIdentityCenterConfigurationCommand";
 import {
   DeleteLakeFormationOptInCommandInput,
   DeleteLakeFormationOptInCommandOutput,
@@ -67,6 +75,10 @@ import {
   DeleteObjectsOnCancelCommandOutput,
 } from "../commands/DeleteObjectsOnCancelCommand";
 import { DeregisterResourceCommandInput, DeregisterResourceCommandOutput } from "../commands/DeregisterResourceCommand";
+import {
+  DescribeLakeFormationIdentityCenterConfigurationCommandInput,
+  DescribeLakeFormationIdentityCenterConfigurationCommandOutput,
+} from "../commands/DescribeLakeFormationIdentityCenterConfigurationCommand";
 import { DescribeResourceCommandInput, DescribeResourceCommandOutput } from "../commands/DescribeResourceCommand";
 import {
   DescribeTransactionCommandInput,
@@ -138,6 +150,10 @@ import {
   UpdateDataCellsFilterCommandInput,
   UpdateDataCellsFilterCommandOutput,
 } from "../commands/UpdateDataCellsFilterCommand";
+import {
+  UpdateLakeFormationIdentityCenterConfigurationCommandInput,
+  UpdateLakeFormationIdentityCenterConfigurationCommandOutput,
+} from "../commands/UpdateLakeFormationIdentityCenterConfigurationCommand";
 import { UpdateLFTagCommandInput, UpdateLFTagCommandOutput } from "../commands/UpdateLFTagCommand";
 import { UpdateResourceCommandInput, UpdateResourceCommandOutput } from "../commands/UpdateResourceCommand";
 import { UpdateTableObjectsCommandInput, UpdateTableObjectsCommandOutput } from "../commands/UpdateTableObjectsCommand";
@@ -165,6 +181,7 @@ import {
   DeleteObjectInput,
   EntityNotFoundException,
   ExpiredException,
+  ExternalFilteringConfiguration,
   FilterCondition,
   GlueEncryptionException,
   InternalServiceException,
@@ -414,6 +431,39 @@ export const se_CreateDataCellsFilterCommand = async (
   });
 };
 
+/**
+ * serializeAws_restJson1CreateLakeFormationIdentityCenterConfigurationCommand
+ */
+export const se_CreateLakeFormationIdentityCenterConfigurationCommand = async (
+  input: CreateLakeFormationIdentityCenterConfigurationCommandInput,
+  context: __SerdeContext
+): Promise<__HttpRequest> => {
+  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
+  const headers: any = {
+    "content-type": "application/json",
+  };
+  const resolvedPath =
+    `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
+    "/CreateLakeFormationIdentityCenterConfiguration";
+  let body: any;
+  body = JSON.stringify(
+    take(input, {
+      CatalogId: [],
+      ExternalFiltering: (_) => _json(_),
+      InstanceArn: [],
+    })
+  );
+  return new __HttpRequest({
+    protocol,
+    hostname,
+    port,
+    method: "POST",
+    headers,
+    path: resolvedPath,
+    body,
+  });
+};
+
 /**
  * serializeAws_restJson1CreateLakeFormationOptInCommand
  */
@@ -508,6 +558,37 @@ export const se_DeleteDataCellsFilterCommand = async (
   });
 };
 
+/**
+ * serializeAws_restJson1DeleteLakeFormationIdentityCenterConfigurationCommand
+ */
+export const se_DeleteLakeFormationIdentityCenterConfigurationCommand = async (
+  input: DeleteLakeFormationIdentityCenterConfigurationCommandInput,
+  context: __SerdeContext
+): Promise<__HttpRequest> => {
+  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
+  const headers: any = {
+    "content-type": "application/json",
+  };
+  const resolvedPath =
+    `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
+    "/DeleteLakeFormationIdentityCenterConfiguration";
+  let body: any;
+  body = JSON.stringify(
+    take(input, {
+      CatalogId: [],
+    })
+  );
+  return new __HttpRequest({
+    protocol,
+    hostname,
+    port,
+    method: "POST",
+    headers,
+    path: resolvedPath,
+    body,
+  });
+};
+
 /**
  * serializeAws_restJson1DeleteLakeFormationOptInCommand
  */
@@ -631,6 +712,37 @@ export const se_DeregisterResourceCommand = async (
   });
 };
 
+/**
+ * serializeAws_restJson1DescribeLakeFormationIdentityCenterConfigurationCommand
+ */
+export const se_DescribeLakeFormationIdentityCenterConfigurationCommand = async (
+  input: DescribeLakeFormationIdentityCenterConfigurationCommandInput,
+  context: __SerdeContext
+): Promise<__HttpRequest> => {
+  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
+  const headers: any = {
+    "content-type": "application/json",
+  };
+  const resolvedPath =
+    `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
+    "/DescribeLakeFormationIdentityCenterConfiguration";
+  let body: any;
+  body = JSON.stringify(
+    take(input, {
+      CatalogId: [],
+    })
+  );
+  return new __HttpRequest({
+    protocol,
+    hostname,
+    port,
+    method: "POST",
+    headers,
+    path: resolvedPath,
+    body,
+  });
+};
+
 /**
  * serializeAws_restJson1DescribeResourceCommand
  */
@@ -1676,6 +1788,39 @@ export const se_UpdateDataCellsFilterCommand = async (
   });
 };
 
+/**
+ * serializeAws_restJson1UpdateLakeFormationIdentityCenterConfigurationCommand
+ */
+export const se_UpdateLakeFormationIdentityCenterConfigurationCommand = async (
+  input: UpdateLakeFormationIdentityCenterConfigurationCommandInput,
+  context: __SerdeContext
+): Promise<__HttpRequest> => {
+  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
+  const headers: any = {
+    "content-type": "application/json",
+  };
+  const resolvedPath =
+    `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
+    "/UpdateLakeFormationIdentityCenterConfiguration";
+  let body: any;
+  body = JSON.stringify(
+    take(input, {
+      ApplicationStatus: [],
+      CatalogId: [],
+      ExternalFiltering: (_) => _json(_),
+    })
+  );
+  return new __HttpRequest({
+    protocol,
+    hostname,
+    port,
+    method: "POST",
+    headers,
+    path: resolvedPath,
+    body,
+  });
+};
+
 /**
  * serializeAws_restJson1UpdateLFTagCommand
  */
@@ -2214,6 +2359,68 @@ const de_CreateDataCellsFilterCommandError = async (
   }
 };
 
+/**
+ * deserializeAws_restJson1CreateLakeFormationIdentityCenterConfigurationCommand
+ */
+export const de_CreateLakeFormationIdentityCenterConfigurationCommand = async (
+  output: __HttpResponse,
+  context: __SerdeContext
+): Promise<CreateLakeFormationIdentityCenterConfigurationCommandOutput> => {
+  if (output.statusCode !== 200 && output.statusCode >= 300) {
+    return de_CreateLakeFormationIdentityCenterConfigurationCommandError(output, context);
+  }
+  const contents: any = map({
+    $metadata: deserializeMetadata(output),
+  });
+  const data: Record<string, any> = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+  const doc = take(data, {
+    ApplicationArn: __expectString,
+  });
+  Object.assign(contents, doc);
+  return contents;
+};
+
+/**
+ * deserializeAws_restJson1CreateLakeFormationIdentityCenterConfigurationCommandError
+ */
+const de_CreateLakeFormationIdentityCenterConfigurationCommandError = async (
+  output: __HttpResponse,
+  context: __SerdeContext
+): Promise<CreateLakeFormationIdentityCenterConfigurationCommandOutput> => {
+  const parsedOutput: any = {
+    ...output,
+    body: await parseErrorBody(output.body, context),
+  };
+  const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
+  switch (errorCode) {
+    case "AccessDeniedException":
+    case "com.amazonaws.lakeformation#AccessDeniedException":
+      throw await de_AccessDeniedExceptionRes(parsedOutput, context);
+    case "AlreadyExistsException":
+    case "com.amazonaws.lakeformation#AlreadyExistsException":
+      throw await de_AlreadyExistsExceptionRes(parsedOutput, context);
+    case "ConcurrentModificationException":
+    case "com.amazonaws.lakeformation#ConcurrentModificationException":
+      throw await de_ConcurrentModificationExceptionRes(parsedOutput, context);
+    case "InternalServiceException":
+    case "com.amazonaws.lakeformation#InternalServiceException":
+      throw await de_InternalServiceExceptionRes(parsedOutput, context);
+    case "InvalidInputException":
+    case "com.amazonaws.lakeformation#InvalidInputException":
+      throw await de_InvalidInputExceptionRes(parsedOutput, context);
+    case "OperationTimeoutException":
+    case "com.amazonaws.lakeformation#OperationTimeoutException":
+      throw await de_OperationTimeoutExceptionRes(parsedOutput, context);
+    default:
+      const parsedBody = parsedOutput.body;
+      return throwDefaultError({
+        output,
+        parsedBody,
+        errorCode,
+      });
+  }
+};
+
 /**
  * deserializeAws_restJson1CreateLakeFormationOptInCommand
  */
@@ -2385,6 +2592,64 @@ const de_DeleteDataCellsFilterCommandError = async (
   }
 };
 
+/**
+ * deserializeAws_restJson1DeleteLakeFormationIdentityCenterConfigurationCommand
+ */
+export const de_DeleteLakeFormationIdentityCenterConfigurationCommand = async (
+  output: __HttpResponse,
+  context: __SerdeContext
+): Promise<DeleteLakeFormationIdentityCenterConfigurationCommandOutput> => {
+  if (output.statusCode !== 200 && output.statusCode >= 300) {
+    return de_DeleteLakeFormationIdentityCenterConfigurationCommandError(output, context);
+  }
+  const contents: any = map({
+    $metadata: deserializeMetadata(output),
+  });
+  await collectBody(output.body, context);
+  return contents;
+};
+
+/**
+ * deserializeAws_restJson1DeleteLakeFormationIdentityCenterConfigurationCommandError
+ */
+const de_DeleteLakeFormationIdentityCenterConfigurationCommandError = async (
+  output: __HttpResponse,
+  context: __SerdeContext
+): Promise<DeleteLakeFormationIdentityCenterConfigurationCommandOutput> => {
+  const parsedOutput: any = {
+    ...output,
+    body: await parseErrorBody(output.body, context),
+  };
+  const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
+  switch (errorCode) {
+    case "AccessDeniedException":
+    case "com.amazonaws.lakeformation#AccessDeniedException":
+      throw await de_AccessDeniedExceptionRes(parsedOutput, context);
+    case "ConcurrentModificationException":
+    case "com.amazonaws.lakeformation#ConcurrentModificationException":
+      throw await de_ConcurrentModificationExceptionRes(parsedOutput, context);
+    case "EntityNotFoundException":
+    case "com.amazonaws.lakeformation#EntityNotFoundException":
+      throw await de_EntityNotFoundExceptionRes(parsedOutput, context);
+    case "InternalServiceException":
+    case "com.amazonaws.lakeformation#InternalServiceException":
+      throw await de_InternalServiceExceptionRes(parsedOutput, context);
+    case "InvalidInputException":
+    case "com.amazonaws.lakeformation#InvalidInputException":
+      throw await de_InvalidInputExceptionRes(parsedOutput, context);
+    case "OperationTimeoutException":
+    case "com.amazonaws.lakeformation#OperationTimeoutException":
+      throw await de_OperationTimeoutExceptionRes(parsedOutput, context);
+    default:
+      const parsedBody = parsedOutput.body;
+      return throwDefaultError({
+        output,
+        parsedBody,
+        errorCode,
+      });
+  }
+};
+
 /**
  * deserializeAws_restJson1DeleteLakeFormationOptInCommand
  */
@@ -2614,6 +2879,68 @@ const de_DeregisterResourceCommandError = async (
   }
 };
 
+/**
+ * deserializeAws_restJson1DescribeLakeFormationIdentityCenterConfigurationCommand
+ */
+export const de_DescribeLakeFormationIdentityCenterConfigurationCommand = async (
+  output: __HttpResponse,
+  context: __SerdeContext
+): Promise<DescribeLakeFormationIdentityCenterConfigurationCommandOutput> => {
+  if (output.statusCode !== 200 && output.statusCode >= 300) {
+    return de_DescribeLakeFormationIdentityCenterConfigurationCommandError(output, context);
+  }
+  const contents: any = map({
+    $metadata: deserializeMetadata(output),
+  });
+  const data: Record<string, any> = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+  const doc = take(data, {
+    ApplicationArn: __expectString,
+    CatalogId: __expectString,
+    ExternalFiltering: _json,
+    InstanceArn: __expectString,
+  });
+  Object.assign(contents, doc);
+  return contents;
+};
+
+/**
+ * deserializeAws_restJson1DescribeLakeFormationIdentityCenterConfigurationCommandError
+ */
+const de_DescribeLakeFormationIdentityCenterConfigurationCommandError = async (
+  output: __HttpResponse,
+  context: __SerdeContext
+): Promise<DescribeLakeFormationIdentityCenterConfigurationCommandOutput> => {
+  const parsedOutput: any = {
+    ...output,
+    body: await parseErrorBody(output.body, context),
+  };
+  const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
+  switch (errorCode) {
+    case "AccessDeniedException":
+    case "com.amazonaws.lakeformation#AccessDeniedException":
+      throw await de_AccessDeniedExceptionRes(parsedOutput, context);
+    case "EntityNotFoundException":
+    case "com.amazonaws.lakeformation#EntityNotFoundException":
+      throw await de_EntityNotFoundExceptionRes(parsedOutput, context);
+    case "InternalServiceException":
+    case "com.amazonaws.lakeformation#InternalServiceException":
+      throw await de_InternalServiceExceptionRes(parsedOutput, context);
+    case "InvalidInputException":
+    case "com.amazonaws.lakeformation#InvalidInputException":
+      throw await de_InvalidInputExceptionRes(parsedOutput, context);
+    case "OperationTimeoutException":
+    case "com.amazonaws.lakeformation#OperationTimeoutException":
+      throw await de_OperationTimeoutExceptionRes(parsedOutput, context);
+    default:
+      const parsedBody = parsedOutput.body;
+      return throwDefaultError({
+        output,
+        parsedBody,
+        errorCode,
+      });
+  }
+};
+
 /**
  * deserializeAws_restJson1DescribeResourceCommand
  */
@@ -4466,6 +4793,64 @@ const de_UpdateDataCellsFilterCommandError = async (
   }
 };
 
+/**
+ * deserializeAws_restJson1UpdateLakeFormationIdentityCenterConfigurationCommand
+ */
+export const de_UpdateLakeFormationIdentityCenterConfigurationCommand = async (
+  output: __HttpResponse,
+  context: __SerdeContext
+): Promise<UpdateLakeFormationIdentityCenterConfigurationCommandOutput> => {
+  if (output.statusCode !== 200 && output.statusCode >= 300) {
+    return de_UpdateLakeFormationIdentityCenterConfigurationCommandError(output, context);
+  }
+  const contents: any = map({
+    $metadata: deserializeMetadata(output),
+  });
+  await collectBody(output.body, context);
+  return contents;
+};
+
+/**
+ * deserializeAws_restJson1UpdateLakeFormationIdentityCenterConfigurationCommandError
+ */
+const de_UpdateLakeFormationIdentityCenterConfigurationCommandError = async (
+  output: __HttpResponse,
+  context: __SerdeContext
+): Promise<UpdateLakeFormationIdentityCenterConfigurationCommandOutput> => {
+  const parsedOutput: any = {
+    ...output,
+    body: await parseErrorBody(output.body, context),
+  };
+  const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
+  switch (errorCode) {
+    case "AccessDeniedException":
+    case "com.amazonaws.lakeformation#AccessDeniedException":
+      throw await de_AccessDeniedExceptionRes(parsedOutput, context);
+    case "ConcurrentModificationException":
+    case "com.amazonaws.lakeformation#ConcurrentModificationException":
+      throw await de_ConcurrentModificationExceptionRes(parsedOutput, context);
+    case "EntityNotFoundException":
+    case "com.amazonaws.lakeformation#EntityNotFoundException":
+      throw await de_EntityNotFoundExceptionRes(parsedOutput, context);
+    case "InternalServiceException":
+    case "com.amazonaws.lakeformation#InternalServiceException":
+      throw await de_InternalServiceExceptionRes(parsedOutput, context);
+    case "InvalidInputException":
+    case "com.amazonaws.lakeformation#InvalidInputException":
+      throw await de_InvalidInputExceptionRes(parsedOutput, context);
+    case "OperationTimeoutException":
+    case "com.amazonaws.lakeformation#OperationTimeoutException":
+      throw await de_OperationTimeoutExceptionRes(parsedOutput, context);
+    default:
+      const parsedBody = parsedOutput.body;
+      return throwDefaultError({
+        output,
+        parsedBody,
+        errorCode,
+      });
+  }
+};
+
 /**
  * deserializeAws_restJson1UpdateLFTagCommand
  */
@@ -5090,6 +5475,8 @@ const de_WorkUnitsNotReadyYetExceptionRes = async (
 
 // se_Expression omitted.
 
+// se_ExternalFilteringConfiguration omitted.
+
 // se_FilterCondition omitted.
 
 // se_FilterConditionList omitted.
@@ -5137,6 +5524,8 @@ const se_QueryPlanningContext = (input: QueryPlanningContext, context: __SerdeCo
 
 // se_RowFilter omitted.
 
+// se_ScopeTargets omitted.
+
 // se_StorageOptimizerConfig omitted.
 
 // se_StorageOptimizerConfigMap omitted.
@@ -5209,6 +5598,8 @@ const se_QueryPlanningContext = (input: QueryPlanningContext, context: __SerdeCo
 
 // de_Expression omitted.
 
+// de_ExternalFilteringConfiguration omitted.
+
 /**
  * deserializeAws_restJson1LakeFormationOptInsInfo
  */
@@ -5321,6 +5712,8 @@ const de_ResourceInfoList = (output: any, context: __SerdeContext): ResourceInfo
 
 // de_RowFilter omitted.
 
+// de_ScopeTargets omitted.
+
 // de_StorageOptimizer omitted.
 
 // de_StorageOptimizerConfig omitted.
diff --git a/codegen/sdk-codegen/aws-models/lakeformation.json b/codegen/sdk-codegen/aws-models/lakeformation.json
index 5f9a77cb7edd..3c7a3a9275b0 100644
--- a/codegen/sdk-codegen/aws-models/lakeformation.json
+++ b/codegen/sdk-codegen/aws-models/lakeformation.json
@@ -54,6 +54,9 @@
         {
           "target": "com.amazonaws.lakeformation#CreateDataCellsFilter"
         },
+        {
+          "target": "com.amazonaws.lakeformation#CreateLakeFormationIdentityCenterConfiguration"
+        },
         {
           "target": "com.amazonaws.lakeformation#CreateLakeFormationOptIn"
         },
@@ -63,6 +66,9 @@
         {
           "target": "com.amazonaws.lakeformation#DeleteDataCellsFilter"
         },
+        {
+          "target": "com.amazonaws.lakeformation#DeleteLakeFormationIdentityCenterConfiguration"
+        },
         {
           "target": "com.amazonaws.lakeformation#DeleteLakeFormationOptIn"
         },
@@ -75,6 +81,9 @@
         {
           "target": "com.amazonaws.lakeformation#DeregisterResource"
         },
+        {
+          "target": "com.amazonaws.lakeformation#DescribeLakeFormationIdentityCenterConfiguration"
+        },
         {
           "target": "com.amazonaws.lakeformation#DescribeResource"
         },
@@ -171,6 +180,9 @@
         {
           "target": "com.amazonaws.lakeformation#UpdateDataCellsFilter"
         },
+        {
+          "target": "com.amazonaws.lakeformation#UpdateLakeFormationIdentityCenterConfiguration"
+        },
         {
           "target": "com.amazonaws.lakeformation#UpdateLFTag"
         },
@@ -1322,6 +1334,26 @@
         "smithy.api#error": "client"
       }
     },
+    "com.amazonaws.lakeformation#ApplicationArn": {
+      "type": "string"
+    },
+    "com.amazonaws.lakeformation#ApplicationStatus": {
+      "type": "enum",
+      "members": {
+        "ENABLED": {
+          "target": "smithy.api#Unit",
+          "traits": {
+            "smithy.api#enumValue": "ENABLED"
+          }
+        },
+        "DISABLED": {
+          "target": "smithy.api#Unit",
+          "traits": {
+            "smithy.api#enumValue": "DISABLED"
+          }
+        }
+      }
+    },
     "com.amazonaws.lakeformation#AssumeDecoratedRoleWithSAML": {
       "type": "operation",
       "input": {
@@ -2058,6 +2090,83 @@
         "smithy.api#output": {}
       }
     },
+    "com.amazonaws.lakeformation#CreateLakeFormationIdentityCenterConfiguration": {
+      "type": "operation",
+      "input": {
+        "target": "com.amazonaws.lakeformation#CreateLakeFormationIdentityCenterConfigurationRequest"
+      },
+      "output": {
+        "target": "com.amazonaws.lakeformation#CreateLakeFormationIdentityCenterConfigurationResponse"
+      },
+      "errors": [
+        {
+          "target": "com.amazonaws.lakeformation#AccessDeniedException"
+        },
+        {
+          "target": "com.amazonaws.lakeformation#AlreadyExistsException"
+        },
+        {
+          "target": "com.amazonaws.lakeformation#ConcurrentModificationException"
+        },
+        {
+          "target": "com.amazonaws.lakeformation#InternalServiceException"
+        },
+        {
+          "target": "com.amazonaws.lakeformation#InvalidInputException"
+        },
+        {
+          "target": "com.amazonaws.lakeformation#OperationTimeoutException"
+        }
+      ],
+      "traits": {
+        "smithy.api#documentation": "<p>Creates an IAM Identity Center connection with Lake Formation to allow IAM Identity Center users and groups to access Data Catalog resources.</p>",
+        "smithy.api#http": {
+          "method": "POST",
+          "uri": "/CreateLakeFormationIdentityCenterConfiguration",
+          "code": 200
+        }
+      }
+    },
+    "com.amazonaws.lakeformation#CreateLakeFormationIdentityCenterConfigurationRequest": {
+      "type": "structure",
+      "members": {
+        "CatalogId": {
+          "target": "com.amazonaws.lakeformation#CatalogIdString",
+          "traits": {
+            "smithy.api#documentation": "<p>The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the\n         persistent metadata store. It contains database definitions, table definitions, view\n         definitions, and other control information to manage your Lake Formation\n         environment.</p>"
+          }
+        },
+        "InstanceArn": {
+          "target": "com.amazonaws.lakeformation#IdentityCenterInstanceArn",
+          "traits": {
+            "smithy.api#documentation": "<p>The ARN of the IAM Identity Center instance for which the operation will be executed.\n         For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service\n         Namespaces in the Amazon Web Services General Reference.</p>"
+          }
+        },
+        "ExternalFiltering": {
+          "target": "com.amazonaws.lakeformation#ExternalFilteringConfiguration",
+          "traits": {
+            "smithy.api#documentation": "<p>A list of the account IDs of Amazon Web Services accounts of third-party applications\n         that are allowed to to access data managed by Lake Formation.</p>"
+          }
+        }
+      },
+      "traits": {
+        "smithy.api#input": {}
+      }
+    },
+    "com.amazonaws.lakeformation#CreateLakeFormationIdentityCenterConfigurationResponse": {
+      "type": "structure",
+      "members": {
+        "ApplicationArn": {
+          "target": "com.amazonaws.lakeformation#ApplicationArn",
+          "traits": {
+            "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the integrated application.</p>"
+          }
+        }
+      },
+      "traits": {
+        "smithy.api#output": {}
+      }
+    },
     "com.amazonaws.lakeformation#CreateLakeFormationOptIn": {
       "type": "operation",
       "input": {
@@ -2347,7 +2456,7 @@
         "Parameters": {
           "target": "com.amazonaws.lakeformation#ParametersMap",
           "traits": {
-            "smithy.api#documentation": "<p>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.</p>"
+            "smithy.api#documentation": "<p>A key-value map that provides an additional configuration on your data lake. CROSS_ACCOUNT_VERSION is the key you can configure in the Parameters field. Accepted values for the CrossAccountVersion key are 1, 2, 3, and 4.</p>"
           }
         },
         "TrustedResourceOwners": {
@@ -2574,6 +2683,64 @@
         "smithy.api#output": {}
       }
     },
+    "com.amazonaws.lakeformation#DeleteLakeFormationIdentityCenterConfiguration": {
+      "type": "operation",
+      "input": {
+        "target": "com.amazonaws.lakeformation#DeleteLakeFormationIdentityCenterConfigurationRequest"
+      },
+      "output": {
+        "target": "com.amazonaws.lakeformation#DeleteLakeFormationIdentityCenterConfigurationResponse"
+      },
+      "errors": [
+        {
+          "target": "com.amazonaws.lakeformation#AccessDeniedException"
+        },
+        {
+          "target": "com.amazonaws.lakeformation#ConcurrentModificationException"
+        },
+        {
+          "target": "com.amazonaws.lakeformation#EntityNotFoundException"
+        },
+        {
+          "target": "com.amazonaws.lakeformation#InternalServiceException"
+        },
+        {
+          "target": "com.amazonaws.lakeformation#InvalidInputException"
+        },
+        {
+          "target": "com.amazonaws.lakeformation#OperationTimeoutException"
+        }
+      ],
+      "traits": {
+        "smithy.api#documentation": "<p>Deletes an IAM Identity Center connection with Lake Formation.</p>",
+        "smithy.api#http": {
+          "method": "POST",
+          "uri": "/DeleteLakeFormationIdentityCenterConfiguration",
+          "code": 200
+        }
+      }
+    },
+    "com.amazonaws.lakeformation#DeleteLakeFormationIdentityCenterConfigurationRequest": {
+      "type": "structure",
+      "members": {
+        "CatalogId": {
+          "target": "com.amazonaws.lakeformation#CatalogIdString",
+          "traits": {
+            "smithy.api#documentation": "<p>The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the\n         persistent metadata store. It contains database definitions, table definitions, view\n         definition, and other control information to manage your Lake Formation environment.</p>"
+          }
+        }
+      },
+      "traits": {
+        "smithy.api#input": {}
+      }
+    },
+    "com.amazonaws.lakeformation#DeleteLakeFormationIdentityCenterConfigurationResponse": {
+      "type": "structure",
+      "members": {},
+      "traits": {
+        "smithy.api#output": {}
+      }
+    },
     "com.amazonaws.lakeformation#DeleteLakeFormationOptIn": {
       "type": "operation",
       "input": {
@@ -2810,6 +2977,86 @@
         "smithy.api#output": {}
       }
     },
+    "com.amazonaws.lakeformation#DescribeLakeFormationIdentityCenterConfiguration": {
+      "type": "operation",
+      "input": {
+        "target": "com.amazonaws.lakeformation#DescribeLakeFormationIdentityCenterConfigurationRequest"
+      },
+      "output": {
+        "target": "com.amazonaws.lakeformation#DescribeLakeFormationIdentityCenterConfigurationResponse"
+      },
+      "errors": [
+        {
+          "target": "com.amazonaws.lakeformation#AccessDeniedException"
+        },
+        {
+          "target": "com.amazonaws.lakeformation#EntityNotFoundException"
+        },
+        {
+          "target": "com.amazonaws.lakeformation#InternalServiceException"
+        },
+        {
+          "target": "com.amazonaws.lakeformation#InvalidInputException"
+        },
+        {
+          "target": "com.amazonaws.lakeformation#OperationTimeoutException"
+        }
+      ],
+      "traits": {
+        "smithy.api#documentation": "<p>Retrieves the instance ARN and application ARN for the connection.</p>",
+        "smithy.api#http": {
+          "method": "POST",
+          "uri": "/DescribeLakeFormationIdentityCenterConfiguration",
+          "code": 200
+        }
+      }
+    },
+    "com.amazonaws.lakeformation#DescribeLakeFormationIdentityCenterConfigurationRequest": {
+      "type": "structure",
+      "members": {
+        "CatalogId": {
+          "target": "com.amazonaws.lakeformation#CatalogIdString",
+          "traits": {
+            "smithy.api#documentation": "<p>The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.</p>"
+          }
+        }
+      },
+      "traits": {
+        "smithy.api#input": {}
+      }
+    },
+    "com.amazonaws.lakeformation#DescribeLakeFormationIdentityCenterConfigurationResponse": {
+      "type": "structure",
+      "members": {
+        "CatalogId": {
+          "target": "com.amazonaws.lakeformation#CatalogIdString",
+          "traits": {
+            "smithy.api#documentation": "<p>The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.</p>"
+          }
+        },
+        "InstanceArn": {
+          "target": "com.amazonaws.lakeformation#IdentityCenterInstanceArn",
+          "traits": {
+            "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the connection.</p>"
+          }
+        },
+        "ApplicationArn": {
+          "target": "com.amazonaws.lakeformation#ApplicationArn",
+          "traits": {
+            "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the integrated application.</p>"
+          }
+        },
+        "ExternalFiltering": {
+          "target": "com.amazonaws.lakeformation#ExternalFilteringConfiguration",
+          "traits": {
+            "smithy.api#documentation": "<p>Indicates if external filtering is enabled.</p>"
+          }
+        }
+      },
+      "traits": {
+        "smithy.api#output": {}
+      }
+    },
     "com.amazonaws.lakeformation#DescribeResource": {
       "type": "operation",
       "input": {
@@ -2964,6 +3211,23 @@
         "smithy.api#pattern": "^[\\p{L}\\p{N}\\p{P}]*$"
       }
     },
+    "com.amazonaws.lakeformation#EnableStatus": {
+      "type": "enum",
+      "members": {
+        "ENABLED": {
+          "target": "smithy.api#Unit",
+          "traits": {
+            "smithy.api#enumValue": "ENABLED"
+          }
+        },
+        "DISABLED": {
+          "target": "smithy.api#Unit",
+          "traits": {
+            "smithy.api#enumValue": "DISABLED"
+          }
+        }
+      }
+    },
     "com.amazonaws.lakeformation#EntityNotFoundException": {
       "type": "structure",
       "members": {
@@ -3117,6 +3381,28 @@
         "smithy.api#output": {}
       }
     },
+    "com.amazonaws.lakeformation#ExternalFilteringConfiguration": {
+      "type": "structure",
+      "members": {
+        "Status": {
+          "target": "com.amazonaws.lakeformation#EnableStatus",
+          "traits": {
+            "smithy.api#documentation": "<p>Allows to enable or disable the third-party applications that are allowed to access data\n         managed by Lake Formation.</p>",
+            "smithy.api#required": {}
+          }
+        },
+        "AuthorizedTargets": {
+          "target": "com.amazonaws.lakeformation#ScopeTargets",
+          "traits": {
+            "smithy.api#documentation": "<p>List of third-party application <code>ARNs</code> integrated with Lake Formation.</p>",
+            "smithy.api#required": {}
+          }
+        }
+      },
+      "traits": {
+        "smithy.api#documentation": "<p>Configuration for enabling external data filtering for third-party applications to\n         access data managed by Lake Formation .</p>"
+      }
+    },
     "com.amazonaws.lakeformation#FieldNameString": {
       "type": "enum",
       "members": {
@@ -4413,6 +4699,9 @@
         }
       }
     },
+    "com.amazonaws.lakeformation#IdentityCenterInstanceArn": {
+      "type": "string"
+    },
     "com.amazonaws.lakeformation#InternalServiceException": {
       "type": "structure",
       "members": {
@@ -6330,6 +6619,15 @@
         }
       }
     },
+    "com.amazonaws.lakeformation#ScopeTarget": {
+      "type": "string"
+    },
+    "com.amazonaws.lakeformation#ScopeTargets": {
+      "type": "list",
+      "member": {
+        "target": "com.amazonaws.lakeformation#ScopeTarget"
+      }
+    },
     "com.amazonaws.lakeformation#SearchDatabasesByLFTags": {
       "type": "operation",
       "input": {
@@ -6517,7 +6815,7 @@
         "NextToken": {
           "target": "com.amazonaws.lakeformation#Token",
           "traits": {
-            "smithy.api#documentation": "<p>A continuation token, present if the current list segment is not the last.</p>"
+            "smithy.api#documentation": "<p>A continuation token, present if the current list segment is not the last. On the first run, if you include a not null (a value) token you can get empty pages.</p>"
           }
         },
         "TableList": {
@@ -7329,6 +7627,76 @@
         "smithy.api#output": {}
       }
     },
+    "com.amazonaws.lakeformation#UpdateLakeFormationIdentityCenterConfiguration": {
+      "type": "operation",
+      "input": {
+        "target": "com.amazonaws.lakeformation#UpdateLakeFormationIdentityCenterConfigurationRequest"
+      },
+      "output": {
+        "target": "com.amazonaws.lakeformation#UpdateLakeFormationIdentityCenterConfigurationResponse"
+      },
+      "errors": [
+        {
+          "target": "com.amazonaws.lakeformation#AccessDeniedException"
+        },
+        {
+          "target": "com.amazonaws.lakeformation#ConcurrentModificationException"
+        },
+        {
+          "target": "com.amazonaws.lakeformation#EntityNotFoundException"
+        },
+        {
+          "target": "com.amazonaws.lakeformation#InternalServiceException"
+        },
+        {
+          "target": "com.amazonaws.lakeformation#InvalidInputException"
+        },
+        {
+          "target": "com.amazonaws.lakeformation#OperationTimeoutException"
+        }
+      ],
+      "traits": {
+        "smithy.api#documentation": "<p>Updates the IAM Identity Center connection parameters.</p>",
+        "smithy.api#http": {
+          "method": "POST",
+          "uri": "/UpdateLakeFormationIdentityCenterConfiguration",
+          "code": 200
+        }
+      }
+    },
+    "com.amazonaws.lakeformation#UpdateLakeFormationIdentityCenterConfigurationRequest": {
+      "type": "structure",
+      "members": {
+        "CatalogId": {
+          "target": "com.amazonaws.lakeformation#CatalogIdString",
+          "traits": {
+            "smithy.api#documentation": "<p>The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the\n         persistent metadata store. It contains database definitions, table definitions, view\n         definitions, and other control information to manage your Lake Formation\n         environment.</p>"
+          }
+        },
+        "ApplicationStatus": {
+          "target": "com.amazonaws.lakeformation#ApplicationStatus",
+          "traits": {
+            "smithy.api#documentation": "<p>Allows to enable or disable the IAM Identity Center connection.</p>"
+          }
+        },
+        "ExternalFiltering": {
+          "target": "com.amazonaws.lakeformation#ExternalFilteringConfiguration",
+          "traits": {
+            "smithy.api#documentation": "<p>A list of the account IDs of Amazon Web Services accounts of third-party applications\n         that are allowed to access data managed by Lake Formation.</p>"
+          }
+        }
+      },
+      "traits": {
+        "smithy.api#input": {}
+      }
+    },
+    "com.amazonaws.lakeformation#UpdateLakeFormationIdentityCenterConfigurationResponse": {
+      "type": "structure",
+      "members": {},
+      "traits": {
+        "smithy.api#output": {}
+      }
+    },
     "com.amazonaws.lakeformation#UpdateResource": {
       "type": "operation",
       "input": {