From 639c7113d1dd7305c0870b9466ba11160401c31b Mon Sep 17 00:00:00 2001 From: awstools Date: Tue, 16 Apr 2024 18:21:50 +0000 Subject: [PATCH] feat(client-entityresolution): Cross Account Resource Support . --- clients/client-entityresolution/README.md | 86 +- .../src/EntityResolution.ts | 185 ++ .../src/EntityResolutionClient.ts | 30 + .../src/commands/AddPolicyStatementCommand.ts | 123 ++ .../CreateIdMappingWorkflowCommand.ts | 10 +- .../src/commands/CreateIdNamespaceCommand.ts | 160 ++ .../DeleteIdMappingWorkflowCommand.ts | 6 + .../src/commands/DeleteIdNamespaceCommand.ts | 101 + .../commands/DeleteMatchingWorkflowCommand.ts | 6 + .../commands/DeletePolicyStatementCommand.ts | 114 + .../src/commands/GetIdMappingJobCommand.ts | 7 + .../commands/GetIdMappingWorkflowCommand.ts | 5 +- .../src/commands/GetIdNamespaceCommand.ts | 129 ++ .../src/commands/GetMatchIdCommand.ts | 2 + .../src/commands/GetMatchingJobCommand.ts | 7 + .../src/commands/GetPolicyCommand.ts | 107 + .../src/commands/GetProviderServiceCommand.ts | 21 + .../src/commands/ListIdNamespacesCommand.ts | 112 + .../src/commands/PutPolicyCommand.ts | 115 + .../src/commands/StartIdMappingJobCommand.ts | 14 + .../UpdateIdMappingWorkflowCommand.ts | 10 +- .../src/commands/UpdateIdNamespaceCommand.ts | 143 ++ .../src/commands/index.ts | 9 + .../src/models/models_0.ts | 1174 +++++++++-- .../pagination/ListIdNamespacesPaginator.ts | 24 + .../src/pagination/index.ts | 1 + .../src/protocols/Aws_restJson1.ts | 609 +++++- .../aws-models/entityresolution.json | 1863 +++++++++++++++-- 28 files changed, 4833 insertions(+), 340 deletions(-) create mode 100644 clients/client-entityresolution/src/commands/AddPolicyStatementCommand.ts create mode 100644 clients/client-entityresolution/src/commands/CreateIdNamespaceCommand.ts create mode 100644 clients/client-entityresolution/src/commands/DeleteIdNamespaceCommand.ts create mode 100644 clients/client-entityresolution/src/commands/DeletePolicyStatementCommand.ts create mode 100644 clients/client-entityresolution/src/commands/GetIdNamespaceCommand.ts create mode 100644 clients/client-entityresolution/src/commands/GetPolicyCommand.ts create mode 100644 clients/client-entityresolution/src/commands/ListIdNamespacesCommand.ts create mode 100644 clients/client-entityresolution/src/commands/PutPolicyCommand.ts create mode 100644 clients/client-entityresolution/src/commands/UpdateIdNamespaceCommand.ts create mode 100644 clients/client-entityresolution/src/pagination/ListIdNamespacesPaginator.ts diff --git a/clients/client-entityresolution/README.md b/clients/client-entityresolution/README.md index c81d8fe48f7f..895cccd9dda7 100644 --- a/clients/client-entityresolution/README.md +++ b/clients/client-entityresolution/README.md @@ -33,16 +33,16 @@ using your favorite package manager: The AWS SDK is modulized by clients and commands. To send a request, you only need to import the `EntityResolutionClient` and -the commands you need, for example `ListIdMappingJobsCommand`: +the commands you need, for example `ListIdNamespacesCommand`: ```js // ES5 example -const { EntityResolutionClient, ListIdMappingJobsCommand } = require("@aws-sdk/client-entityresolution"); +const { EntityResolutionClient, ListIdNamespacesCommand } = require("@aws-sdk/client-entityresolution"); ``` ```ts // ES6+ example -import { EntityResolutionClient, ListIdMappingJobsCommand } from "@aws-sdk/client-entityresolution"; +import { EntityResolutionClient, ListIdNamespacesCommand } from "@aws-sdk/client-entityresolution"; ``` ### Usage @@ -61,7 +61,7 @@ const client = new EntityResolutionClient({ region: "REGION" }); const params = { /** input parameters */ }; -const command = new ListIdMappingJobsCommand(params); +const command = new ListIdNamespacesCommand(params); ``` #### Async/await @@ -140,7 +140,7 @@ const client = new AWS.EntityResolution({ region: "REGION" }); // async/await. try { - const data = await client.listIdMappingJobs(params); + const data = await client.listIdNamespaces(params); // process data. } catch (error) { // error handling. @@ -148,7 +148,7 @@ try { // Promises. client - .listIdMappingJobs(params) + .listIdNamespaces(params) .then((data) => { // process data. }) @@ -157,7 +157,7 @@ client }); // callbacks. -client.listIdMappingJobs(params, (err, data) => { +client.listIdNamespaces(params, (err, data) => { // process err and data. }); ``` @@ -213,6 +213,14 @@ see LICENSE for more information. ## Client Commands (Operations List) +
+ +AddPolicyStatement + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/entityresolution/command/AddPolicyStatementCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/AddPolicyStatementCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/AddPolicyStatementCommandOutput/) + +
CreateIdMappingWorkflow @@ -220,6 +228,14 @@ CreateIdMappingWorkflow [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/entityresolution/command/CreateIdMappingWorkflowCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/CreateIdMappingWorkflowCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/CreateIdMappingWorkflowCommandOutput/) +
+
+ +CreateIdNamespace + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/entityresolution/command/CreateIdNamespaceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/CreateIdNamespaceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/CreateIdNamespaceCommandOutput/) +
@@ -244,6 +260,14 @@ DeleteIdMappingWorkflow [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/entityresolution/command/DeleteIdMappingWorkflowCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/DeleteIdMappingWorkflowCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/DeleteIdMappingWorkflowCommandOutput/) +
+
+ +DeleteIdNamespace + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/entityresolution/command/DeleteIdNamespaceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/DeleteIdNamespaceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/DeleteIdNamespaceCommandOutput/) +
@@ -252,6 +276,14 @@ DeleteMatchingWorkflow [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/entityresolution/command/DeleteMatchingWorkflowCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/DeleteMatchingWorkflowCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/DeleteMatchingWorkflowCommandOutput/) +
+
+ +DeletePolicyStatement + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/entityresolution/command/DeletePolicyStatementCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/DeletePolicyStatementCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/DeletePolicyStatementCommandOutput/) +
@@ -276,6 +308,14 @@ GetIdMappingWorkflow [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/entityresolution/command/GetIdMappingWorkflowCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/GetIdMappingWorkflowCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/GetIdMappingWorkflowCommandOutput/) +
+
+ +GetIdNamespace + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/entityresolution/command/GetIdNamespaceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/GetIdNamespaceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/GetIdNamespaceCommandOutput/) +
@@ -300,6 +340,14 @@ GetMatchingWorkflow [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/entityresolution/command/GetMatchingWorkflowCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/GetMatchingWorkflowCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/GetMatchingWorkflowCommandOutput/) +
+
+ +GetPolicy + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/entityresolution/command/GetPolicyCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/GetPolicyCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/GetPolicyCommandOutput/) +
@@ -332,6 +380,14 @@ ListIdMappingWorkflows [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/entityresolution/command/ListIdMappingWorkflowsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/ListIdMappingWorkflowsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/ListIdMappingWorkflowsCommandOutput/) +
+
+ +ListIdNamespaces + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/entityresolution/command/ListIdNamespacesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/ListIdNamespacesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/ListIdNamespacesCommandOutput/) +
@@ -372,6 +428,14 @@ ListTagsForResource [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/entityresolution/command/ListTagsForResourceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/ListTagsForResourceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/ListTagsForResourceCommandOutput/) +
+
+ +PutPolicy + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/entityresolution/command/PutPolicyCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/PutPolicyCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/PutPolicyCommandOutput/) +
@@ -412,6 +476,14 @@ UpdateIdMappingWorkflow [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/entityresolution/command/UpdateIdMappingWorkflowCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/UpdateIdMappingWorkflowCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/UpdateIdMappingWorkflowCommandOutput/) +
+
+ +UpdateIdNamespace + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/entityresolution/command/UpdateIdNamespaceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/UpdateIdNamespaceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-entityresolution/Interface/UpdateIdNamespaceCommandOutput/) +
diff --git a/clients/client-entityresolution/src/EntityResolution.ts b/clients/client-entityresolution/src/EntityResolution.ts index 0e02ecbf7992..3c86403de318 100644 --- a/clients/client-entityresolution/src/EntityResolution.ts +++ b/clients/client-entityresolution/src/EntityResolution.ts @@ -2,11 +2,21 @@ import { createAggregatedClient } from "@smithy/smithy-client"; import { HttpHandlerOptions as __HttpHandlerOptions } from "@smithy/types"; +import { + AddPolicyStatementCommand, + AddPolicyStatementCommandInput, + AddPolicyStatementCommandOutput, +} from "./commands/AddPolicyStatementCommand"; import { CreateIdMappingWorkflowCommand, CreateIdMappingWorkflowCommandInput, CreateIdMappingWorkflowCommandOutput, } from "./commands/CreateIdMappingWorkflowCommand"; +import { + CreateIdNamespaceCommand, + CreateIdNamespaceCommandInput, + CreateIdNamespaceCommandOutput, +} from "./commands/CreateIdNamespaceCommand"; import { CreateMatchingWorkflowCommand, CreateMatchingWorkflowCommandInput, @@ -22,11 +32,21 @@ import { DeleteIdMappingWorkflowCommandInput, DeleteIdMappingWorkflowCommandOutput, } from "./commands/DeleteIdMappingWorkflowCommand"; +import { + DeleteIdNamespaceCommand, + DeleteIdNamespaceCommandInput, + DeleteIdNamespaceCommandOutput, +} from "./commands/DeleteIdNamespaceCommand"; import { DeleteMatchingWorkflowCommand, DeleteMatchingWorkflowCommandInput, DeleteMatchingWorkflowCommandOutput, } from "./commands/DeleteMatchingWorkflowCommand"; +import { + DeletePolicyStatementCommand, + DeletePolicyStatementCommandInput, + DeletePolicyStatementCommandOutput, +} from "./commands/DeletePolicyStatementCommand"; import { DeleteSchemaMappingCommand, DeleteSchemaMappingCommandInput, @@ -42,6 +62,11 @@ import { GetIdMappingWorkflowCommandInput, GetIdMappingWorkflowCommandOutput, } from "./commands/GetIdMappingWorkflowCommand"; +import { + GetIdNamespaceCommand, + GetIdNamespaceCommandInput, + GetIdNamespaceCommandOutput, +} from "./commands/GetIdNamespaceCommand"; import { GetMatchIdCommand, GetMatchIdCommandInput, GetMatchIdCommandOutput } from "./commands/GetMatchIdCommand"; import { GetMatchingJobCommand, @@ -53,6 +78,7 @@ import { GetMatchingWorkflowCommandInput, GetMatchingWorkflowCommandOutput, } from "./commands/GetMatchingWorkflowCommand"; +import { GetPolicyCommand, GetPolicyCommandInput, GetPolicyCommandOutput } from "./commands/GetPolicyCommand"; import { GetProviderServiceCommand, GetProviderServiceCommandInput, @@ -73,6 +99,11 @@ import { ListIdMappingWorkflowsCommandInput, ListIdMappingWorkflowsCommandOutput, } from "./commands/ListIdMappingWorkflowsCommand"; +import { + ListIdNamespacesCommand, + ListIdNamespacesCommandInput, + ListIdNamespacesCommandOutput, +} from "./commands/ListIdNamespacesCommand"; import { ListMatchingJobsCommand, ListMatchingJobsCommandInput, @@ -98,6 +129,7 @@ import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "./commands/ListTagsForResourceCommand"; +import { PutPolicyCommand, PutPolicyCommandInput, PutPolicyCommandOutput } from "./commands/PutPolicyCommand"; import { StartIdMappingJobCommand, StartIdMappingJobCommandInput, @@ -119,6 +151,11 @@ import { UpdateIdMappingWorkflowCommandInput, UpdateIdMappingWorkflowCommandOutput, } from "./commands/UpdateIdMappingWorkflowCommand"; +import { + UpdateIdNamespaceCommand, + UpdateIdNamespaceCommandInput, + UpdateIdNamespaceCommandOutput, +} from "./commands/UpdateIdNamespaceCommand"; import { UpdateMatchingWorkflowCommand, UpdateMatchingWorkflowCommandInput, @@ -132,36 +169,62 @@ import { import { EntityResolutionClient, EntityResolutionClientConfig } from "./EntityResolutionClient"; const commands = { + AddPolicyStatementCommand, CreateIdMappingWorkflowCommand, + CreateIdNamespaceCommand, CreateMatchingWorkflowCommand, CreateSchemaMappingCommand, DeleteIdMappingWorkflowCommand, + DeleteIdNamespaceCommand, DeleteMatchingWorkflowCommand, + DeletePolicyStatementCommand, DeleteSchemaMappingCommand, GetIdMappingJobCommand, GetIdMappingWorkflowCommand, + GetIdNamespaceCommand, GetMatchIdCommand, GetMatchingJobCommand, GetMatchingWorkflowCommand, + GetPolicyCommand, GetProviderServiceCommand, GetSchemaMappingCommand, ListIdMappingJobsCommand, ListIdMappingWorkflowsCommand, + ListIdNamespacesCommand, ListMatchingJobsCommand, ListMatchingWorkflowsCommand, ListProviderServicesCommand, ListSchemaMappingsCommand, ListTagsForResourceCommand, + PutPolicyCommand, StartIdMappingJobCommand, StartMatchingJobCommand, TagResourceCommand, UntagResourceCommand, UpdateIdMappingWorkflowCommand, + UpdateIdNamespaceCommand, UpdateMatchingWorkflowCommand, UpdateSchemaMappingCommand, }; export interface EntityResolution { + /** + * @see {@link AddPolicyStatementCommand} + */ + addPolicyStatement( + args: AddPolicyStatementCommandInput, + options?: __HttpHandlerOptions + ): Promise; + addPolicyStatement( + args: AddPolicyStatementCommandInput, + cb: (err: any, data?: AddPolicyStatementCommandOutput) => void + ): void; + addPolicyStatement( + args: AddPolicyStatementCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: AddPolicyStatementCommandOutput) => void + ): void; + /** * @see {@link CreateIdMappingWorkflowCommand} */ @@ -179,6 +242,23 @@ export interface EntityResolution { cb: (err: any, data?: CreateIdMappingWorkflowCommandOutput) => void ): void; + /** + * @see {@link CreateIdNamespaceCommand} + */ + createIdNamespace( + args: CreateIdNamespaceCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createIdNamespace( + args: CreateIdNamespaceCommandInput, + cb: (err: any, data?: CreateIdNamespaceCommandOutput) => void + ): void; + createIdNamespace( + args: CreateIdNamespaceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateIdNamespaceCommandOutput) => void + ): void; + /** * @see {@link CreateMatchingWorkflowCommand} */ @@ -230,6 +310,23 @@ export interface EntityResolution { cb: (err: any, data?: DeleteIdMappingWorkflowCommandOutput) => void ): void; + /** + * @see {@link DeleteIdNamespaceCommand} + */ + deleteIdNamespace( + args: DeleteIdNamespaceCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deleteIdNamespace( + args: DeleteIdNamespaceCommandInput, + cb: (err: any, data?: DeleteIdNamespaceCommandOutput) => void + ): void; + deleteIdNamespace( + args: DeleteIdNamespaceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteIdNamespaceCommandOutput) => void + ): void; + /** * @see {@link DeleteMatchingWorkflowCommand} */ @@ -247,6 +344,23 @@ export interface EntityResolution { cb: (err: any, data?: DeleteMatchingWorkflowCommandOutput) => void ): void; + /** + * @see {@link DeletePolicyStatementCommand} + */ + deletePolicyStatement( + args: DeletePolicyStatementCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deletePolicyStatement( + args: DeletePolicyStatementCommandInput, + cb: (err: any, data?: DeletePolicyStatementCommandOutput) => void + ): void; + deletePolicyStatement( + args: DeletePolicyStatementCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeletePolicyStatementCommandOutput) => void + ): void; + /** * @see {@link DeleteSchemaMappingCommand} */ @@ -295,6 +409,20 @@ export interface EntityResolution { cb: (err: any, data?: GetIdMappingWorkflowCommandOutput) => void ): void; + /** + * @see {@link GetIdNamespaceCommand} + */ + getIdNamespace( + args: GetIdNamespaceCommandInput, + options?: __HttpHandlerOptions + ): Promise; + getIdNamespace(args: GetIdNamespaceCommandInput, cb: (err: any, data?: GetIdNamespaceCommandOutput) => void): void; + getIdNamespace( + args: GetIdNamespaceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetIdNamespaceCommandOutput) => void + ): void; + /** * @see {@link GetMatchIdCommand} */ @@ -337,6 +465,17 @@ export interface EntityResolution { cb: (err: any, data?: GetMatchingWorkflowCommandOutput) => void ): void; + /** + * @see {@link GetPolicyCommand} + */ + getPolicy(args: GetPolicyCommandInput, options?: __HttpHandlerOptions): Promise; + getPolicy(args: GetPolicyCommandInput, cb: (err: any, data?: GetPolicyCommandOutput) => void): void; + getPolicy( + args: GetPolicyCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetPolicyCommandOutput) => void + ): void; + /** * @see {@link GetProviderServiceCommand} */ @@ -406,6 +545,24 @@ export interface EntityResolution { cb: (err: any, data?: ListIdMappingWorkflowsCommandOutput) => void ): void; + /** + * @see {@link ListIdNamespacesCommand} + */ + listIdNamespaces(): Promise; + listIdNamespaces( + args: ListIdNamespacesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listIdNamespaces( + args: ListIdNamespacesCommandInput, + cb: (err: any, data?: ListIdNamespacesCommandOutput) => void + ): void; + listIdNamespaces( + args: ListIdNamespacesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListIdNamespacesCommandOutput) => void + ): void; + /** * @see {@link ListMatchingJobsCommand} */ @@ -494,6 +651,17 @@ export interface EntityResolution { cb: (err: any, data?: ListTagsForResourceCommandOutput) => void ): void; + /** + * @see {@link PutPolicyCommand} + */ + putPolicy(args: PutPolicyCommandInput, options?: __HttpHandlerOptions): Promise; + putPolicy(args: PutPolicyCommandInput, cb: (err: any, data?: PutPolicyCommandOutput) => void): void; + putPolicy( + args: PutPolicyCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: PutPolicyCommandOutput) => void + ): void; + /** * @see {@link StartIdMappingJobCommand} */ @@ -567,6 +735,23 @@ export interface EntityResolution { cb: (err: any, data?: UpdateIdMappingWorkflowCommandOutput) => void ): void; + /** + * @see {@link UpdateIdNamespaceCommand} + */ + updateIdNamespace( + args: UpdateIdNamespaceCommandInput, + options?: __HttpHandlerOptions + ): Promise; + updateIdNamespace( + args: UpdateIdNamespaceCommandInput, + cb: (err: any, data?: UpdateIdNamespaceCommandOutput) => void + ): void; + updateIdNamespace( + args: UpdateIdNamespaceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateIdNamespaceCommandOutput) => void + ): void; + /** * @see {@link UpdateMatchingWorkflowCommand} */ diff --git a/clients/client-entityresolution/src/EntityResolutionClient.ts b/clients/client-entityresolution/src/EntityResolutionClient.ts index b8fc0ccd321f..a3a7ae774471 100644 --- a/clients/client-entityresolution/src/EntityResolutionClient.ts +++ b/clients/client-entityresolution/src/EntityResolutionClient.ts @@ -53,10 +53,12 @@ import { HttpAuthSchemeResolvedConfig, resolveHttpAuthSchemeConfig, } from "./auth/httpAuthSchemeProvider"; +import { AddPolicyStatementCommandInput, AddPolicyStatementCommandOutput } from "./commands/AddPolicyStatementCommand"; import { CreateIdMappingWorkflowCommandInput, CreateIdMappingWorkflowCommandOutput, } from "./commands/CreateIdMappingWorkflowCommand"; +import { CreateIdNamespaceCommandInput, CreateIdNamespaceCommandOutput } from "./commands/CreateIdNamespaceCommand"; import { CreateMatchingWorkflowCommandInput, CreateMatchingWorkflowCommandOutput, @@ -69,10 +71,15 @@ import { DeleteIdMappingWorkflowCommandInput, DeleteIdMappingWorkflowCommandOutput, } from "./commands/DeleteIdMappingWorkflowCommand"; +import { DeleteIdNamespaceCommandInput, DeleteIdNamespaceCommandOutput } from "./commands/DeleteIdNamespaceCommand"; import { DeleteMatchingWorkflowCommandInput, DeleteMatchingWorkflowCommandOutput, } from "./commands/DeleteMatchingWorkflowCommand"; +import { + DeletePolicyStatementCommandInput, + DeletePolicyStatementCommandOutput, +} from "./commands/DeletePolicyStatementCommand"; import { DeleteSchemaMappingCommandInput, DeleteSchemaMappingCommandOutput, @@ -82,12 +89,14 @@ import { GetIdMappingWorkflowCommandInput, GetIdMappingWorkflowCommandOutput, } from "./commands/GetIdMappingWorkflowCommand"; +import { GetIdNamespaceCommandInput, GetIdNamespaceCommandOutput } from "./commands/GetIdNamespaceCommand"; import { GetMatchIdCommandInput, GetMatchIdCommandOutput } from "./commands/GetMatchIdCommand"; import { GetMatchingJobCommandInput, GetMatchingJobCommandOutput } from "./commands/GetMatchingJobCommand"; import { GetMatchingWorkflowCommandInput, GetMatchingWorkflowCommandOutput, } from "./commands/GetMatchingWorkflowCommand"; +import { GetPolicyCommandInput, GetPolicyCommandOutput } from "./commands/GetPolicyCommand"; import { GetProviderServiceCommandInput, GetProviderServiceCommandOutput } from "./commands/GetProviderServiceCommand"; import { GetSchemaMappingCommandInput, GetSchemaMappingCommandOutput } from "./commands/GetSchemaMappingCommand"; import { ListIdMappingJobsCommandInput, ListIdMappingJobsCommandOutput } from "./commands/ListIdMappingJobsCommand"; @@ -95,6 +104,7 @@ import { ListIdMappingWorkflowsCommandInput, ListIdMappingWorkflowsCommandOutput, } from "./commands/ListIdMappingWorkflowsCommand"; +import { ListIdNamespacesCommandInput, ListIdNamespacesCommandOutput } from "./commands/ListIdNamespacesCommand"; import { ListMatchingJobsCommandInput, ListMatchingJobsCommandOutput } from "./commands/ListMatchingJobsCommand"; import { ListMatchingWorkflowsCommandInput, @@ -109,6 +119,7 @@ import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "./commands/ListTagsForResourceCommand"; +import { PutPolicyCommandInput, PutPolicyCommandOutput } from "./commands/PutPolicyCommand"; import { StartIdMappingJobCommandInput, StartIdMappingJobCommandOutput } from "./commands/StartIdMappingJobCommand"; import { StartMatchingJobCommandInput, StartMatchingJobCommandOutput } from "./commands/StartMatchingJobCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; @@ -117,6 +128,7 @@ import { UpdateIdMappingWorkflowCommandInput, UpdateIdMappingWorkflowCommandOutput, } from "./commands/UpdateIdMappingWorkflowCommand"; +import { UpdateIdNamespaceCommandInput, UpdateIdNamespaceCommandOutput } from "./commands/UpdateIdNamespaceCommand"; import { UpdateMatchingWorkflowCommandInput, UpdateMatchingWorkflowCommandOutput, @@ -140,31 +152,40 @@ export { __Client }; * @public */ export type ServiceInputTypes = + | AddPolicyStatementCommandInput | CreateIdMappingWorkflowCommandInput + | CreateIdNamespaceCommandInput | CreateMatchingWorkflowCommandInput | CreateSchemaMappingCommandInput | DeleteIdMappingWorkflowCommandInput + | DeleteIdNamespaceCommandInput | DeleteMatchingWorkflowCommandInput + | DeletePolicyStatementCommandInput | DeleteSchemaMappingCommandInput | GetIdMappingJobCommandInput | GetIdMappingWorkflowCommandInput + | GetIdNamespaceCommandInput | GetMatchIdCommandInput | GetMatchingJobCommandInput | GetMatchingWorkflowCommandInput + | GetPolicyCommandInput | GetProviderServiceCommandInput | GetSchemaMappingCommandInput | ListIdMappingJobsCommandInput | ListIdMappingWorkflowsCommandInput + | ListIdNamespacesCommandInput | ListMatchingJobsCommandInput | ListMatchingWorkflowsCommandInput | ListProviderServicesCommandInput | ListSchemaMappingsCommandInput | ListTagsForResourceCommandInput + | PutPolicyCommandInput | StartIdMappingJobCommandInput | StartMatchingJobCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateIdMappingWorkflowCommandInput + | UpdateIdNamespaceCommandInput | UpdateMatchingWorkflowCommandInput | UpdateSchemaMappingCommandInput; @@ -172,31 +193,40 @@ export type ServiceInputTypes = * @public */ export type ServiceOutputTypes = + | AddPolicyStatementCommandOutput | CreateIdMappingWorkflowCommandOutput + | CreateIdNamespaceCommandOutput | CreateMatchingWorkflowCommandOutput | CreateSchemaMappingCommandOutput | DeleteIdMappingWorkflowCommandOutput + | DeleteIdNamespaceCommandOutput | DeleteMatchingWorkflowCommandOutput + | DeletePolicyStatementCommandOutput | DeleteSchemaMappingCommandOutput | GetIdMappingJobCommandOutput | GetIdMappingWorkflowCommandOutput + | GetIdNamespaceCommandOutput | GetMatchIdCommandOutput | GetMatchingJobCommandOutput | GetMatchingWorkflowCommandOutput + | GetPolicyCommandOutput | GetProviderServiceCommandOutput | GetSchemaMappingCommandOutput | ListIdMappingJobsCommandOutput | ListIdMappingWorkflowsCommandOutput + | ListIdNamespacesCommandOutput | ListMatchingJobsCommandOutput | ListMatchingWorkflowsCommandOutput | ListProviderServicesCommandOutput | ListSchemaMappingsCommandOutput | ListTagsForResourceCommandOutput + | PutPolicyCommandOutput | StartIdMappingJobCommandOutput | StartMatchingJobCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateIdMappingWorkflowCommandOutput + | UpdateIdNamespaceCommandOutput | UpdateMatchingWorkflowCommandOutput | UpdateSchemaMappingCommandOutput; diff --git a/clients/client-entityresolution/src/commands/AddPolicyStatementCommand.ts b/clients/client-entityresolution/src/commands/AddPolicyStatementCommand.ts new file mode 100644 index 000000000000..a2df1532212f --- /dev/null +++ b/clients/client-entityresolution/src/commands/AddPolicyStatementCommand.ts @@ -0,0 +1,123 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { EntityResolutionClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EntityResolutionClient"; +import { AddPolicyStatementInput, AddPolicyStatementOutput } from "../models/models_0"; +import { de_AddPolicyStatementCommand, se_AddPolicyStatementCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link AddPolicyStatementCommand}. + */ +export interface AddPolicyStatementCommandInput extends AddPolicyStatementInput {} +/** + * @public + * + * The output of {@link AddPolicyStatementCommand}. + */ +export interface AddPolicyStatementCommandOutput extends AddPolicyStatementOutput, __MetadataBearer {} + +/** + *

Adds a policy statement object. To retrieve a list of existing policy statements, use + * the GetPolicy API.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EntityResolutionClient, AddPolicyStatementCommand } from "@aws-sdk/client-entityresolution"; // ES Modules import + * // const { EntityResolutionClient, AddPolicyStatementCommand } = require("@aws-sdk/client-entityresolution"); // CommonJS import + * const client = new EntityResolutionClient(config); + * const input = { // AddPolicyStatementInput + * arn: "STRING_VALUE", // required + * statementId: "STRING_VALUE", // required + * effect: "Allow" || "Deny", // required + * action: [ // StatementActionList // required + * "STRING_VALUE", + * ], + * principal: [ // StatementPrincipalList // required + * "STRING_VALUE", + * ], + * condition: "STRING_VALUE", + * }; + * const command = new AddPolicyStatementCommand(input); + * const response = await client.send(command); + * // { // AddPolicyStatementOutput + * // arn: "STRING_VALUE", // required + * // token: "STRING_VALUE", // required + * // policy: "STRING_VALUE", + * // }; + * + * ``` + * + * @param AddPolicyStatementCommandInput - {@link AddPolicyStatementCommandInput} + * @returns {@link AddPolicyStatementCommandOutput} + * @see {@link AddPolicyStatementCommandInput} for command's `input` shape. + * @see {@link AddPolicyStatementCommandOutput} for command's `response` shape. + * @see {@link EntityResolutionClientResolvedConfig | config} for EntityResolutionClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action. HTTP Status Code: + * 403 + *

+ * + * @throws {@link ConflictException} (client fault) + *

The request could not be processed because of conflict in the current state of the + * resource. Example: Workflow already exists, Schema already exists, Workflow is currently + * running, etc. HTTP Status Code: 400 + *

+ * + * @throws {@link InternalServerException} (server fault) + *

This exception occurs when there is an internal failure in the Entity Resolution + * service. HTTP Status Code: 500 + *

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The resource could not be found. HTTP Status Code: 404 + *

+ * + * @throws {@link ThrottlingException} (client fault) + *

The request was denied due to request throttling. HTTP Status Code: + * 429 + *

+ * + * @throws {@link ValidationException} (client fault) + *

The input fails to satisfy the constraints specified by Entity Resolution. HTTP + * Status Code: 400 + *

+ * + * @throws {@link EntityResolutionServiceException} + *

Base exception class for all service exceptions from EntityResolution service.

+ * + * @public + */ +export class AddPolicyStatementCommand extends $Command + .classBuilder< + AddPolicyStatementCommandInput, + AddPolicyStatementCommandOutput, + EntityResolutionClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: EntityResolutionClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSVeniceService", "AddPolicyStatement", {}) + .n("EntityResolutionClient", "AddPolicyStatementCommand") + .f(void 0, void 0) + .ser(se_AddPolicyStatementCommand) + .de(de_AddPolicyStatementCommand) + .build() {} diff --git a/clients/client-entityresolution/src/commands/CreateIdMappingWorkflowCommand.ts b/clients/client-entityresolution/src/commands/CreateIdMappingWorkflowCommand.ts index 6a641e9f76bb..5755c56cabfe 100644 --- a/clients/client-entityresolution/src/commands/CreateIdMappingWorkflowCommand.ts +++ b/clients/client-entityresolution/src/commands/CreateIdMappingWorkflowCommand.ts @@ -43,10 +43,11 @@ export interface CreateIdMappingWorkflowCommandOutput extends CreateIdMappingWor * inputSourceConfig: [ // IdMappingWorkflowInputSourceConfig // required * { // IdMappingWorkflowInputSource * inputSourceARN: "STRING_VALUE", // required - * schemaName: "STRING_VALUE", // required + * schemaName: "STRING_VALUE", + * type: "SOURCE" || "TARGET", * }, * ], - * outputSourceConfig: [ // IdMappingWorkflowOutputSourceConfig // required + * outputSourceConfig: [ // IdMappingWorkflowOutputSourceConfig * { // IdMappingWorkflowOutputSource * outputS3Path: "STRING_VALUE", // required * KMSArn: "STRING_VALUE", @@ -76,10 +77,11 @@ export interface CreateIdMappingWorkflowCommandOutput extends CreateIdMappingWor * // inputSourceConfig: [ // IdMappingWorkflowInputSourceConfig // required * // { // IdMappingWorkflowInputSource * // inputSourceARN: "STRING_VALUE", // required - * // schemaName: "STRING_VALUE", // required + * // schemaName: "STRING_VALUE", + * // type: "SOURCE" || "TARGET", * // }, * // ], - * // outputSourceConfig: [ // IdMappingWorkflowOutputSourceConfig // required + * // outputSourceConfig: [ // IdMappingWorkflowOutputSourceConfig * // { // IdMappingWorkflowOutputSource * // outputS3Path: "STRING_VALUE", // required * // KMSArn: "STRING_VALUE", diff --git a/clients/client-entityresolution/src/commands/CreateIdNamespaceCommand.ts b/clients/client-entityresolution/src/commands/CreateIdNamespaceCommand.ts new file mode 100644 index 000000000000..fa4ae1969afa --- /dev/null +++ b/clients/client-entityresolution/src/commands/CreateIdNamespaceCommand.ts @@ -0,0 +1,160 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { EntityResolutionClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EntityResolutionClient"; +import { CreateIdNamespaceInput, CreateIdNamespaceOutput } from "../models/models_0"; +import { de_CreateIdNamespaceCommand, se_CreateIdNamespaceCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link CreateIdNamespaceCommand}. + */ +export interface CreateIdNamespaceCommandInput extends CreateIdNamespaceInput {} +/** + * @public + * + * The output of {@link CreateIdNamespaceCommand}. + */ +export interface CreateIdNamespaceCommandOutput extends CreateIdNamespaceOutput, __MetadataBearer {} + +/** + *

Creates an ID namespace object which will help customers provide metadata explaining + * their dataset and how to use it. Each ID namespace must have a unique name. To modify an + * existing ID namespace, use the UpdateIdNamespace API.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EntityResolutionClient, CreateIdNamespaceCommand } from "@aws-sdk/client-entityresolution"; // ES Modules import + * // const { EntityResolutionClient, CreateIdNamespaceCommand } = require("@aws-sdk/client-entityresolution"); // CommonJS import + * const client = new EntityResolutionClient(config); + * const input = { // CreateIdNamespaceInput + * idNamespaceName: "STRING_VALUE", // required + * description: "STRING_VALUE", + * inputSourceConfig: [ // IdNamespaceInputSourceConfig + * { // IdNamespaceInputSource + * inputSourceARN: "STRING_VALUE", // required + * schemaName: "STRING_VALUE", + * }, + * ], + * idMappingWorkflowProperties: [ // IdNamespaceIdMappingWorkflowPropertiesList + * { // IdNamespaceIdMappingWorkflowProperties + * idMappingType: "PROVIDER", // required + * providerProperties: { // NamespaceProviderProperties + * providerServiceArn: "STRING_VALUE", // required + * providerConfiguration: "DOCUMENT_VALUE", + * }, + * }, + * ], + * type: "SOURCE" || "TARGET", // required + * roleArn: "STRING_VALUE", + * tags: { // TagMap + * "": "STRING_VALUE", + * }, + * }; + * const command = new CreateIdNamespaceCommand(input); + * const response = await client.send(command); + * // { // CreateIdNamespaceOutput + * // idNamespaceName: "STRING_VALUE", // required + * // idNamespaceArn: "STRING_VALUE", // required + * // description: "STRING_VALUE", + * // inputSourceConfig: [ // IdNamespaceInputSourceConfig + * // { // IdNamespaceInputSource + * // inputSourceARN: "STRING_VALUE", // required + * // schemaName: "STRING_VALUE", + * // }, + * // ], + * // idMappingWorkflowProperties: [ // IdNamespaceIdMappingWorkflowPropertiesList + * // { // IdNamespaceIdMappingWorkflowProperties + * // idMappingType: "PROVIDER", // required + * // providerProperties: { // NamespaceProviderProperties + * // providerServiceArn: "STRING_VALUE", // required + * // providerConfiguration: "DOCUMENT_VALUE", + * // }, + * // }, + * // ], + * // type: "SOURCE" || "TARGET", // required + * // roleArn: "STRING_VALUE", + * // createdAt: new Date("TIMESTAMP"), // required + * // updatedAt: new Date("TIMESTAMP"), // required + * // tags: { // TagMap + * // "": "STRING_VALUE", + * // }, + * // }; + * + * ``` + * + * @param CreateIdNamespaceCommandInput - {@link CreateIdNamespaceCommandInput} + * @returns {@link CreateIdNamespaceCommandOutput} + * @see {@link CreateIdNamespaceCommandInput} for command's `input` shape. + * @see {@link CreateIdNamespaceCommandOutput} for command's `response` shape. + * @see {@link EntityResolutionClientResolvedConfig | config} for EntityResolutionClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action. HTTP Status Code: + * 403 + *

+ * + * @throws {@link ConflictException} (client fault) + *

The request could not be processed because of conflict in the current state of the + * resource. Example: Workflow already exists, Schema already exists, Workflow is currently + * running, etc. HTTP Status Code: 400 + *

+ * + * @throws {@link ExceedsLimitException} (client fault) + *

The request was rejected because it attempted to create resources beyond the current + * Entity Resolution account limits. The error message describes the limit exceeded. + * HTTP Status Code: 402 + *

+ * + * @throws {@link InternalServerException} (server fault) + *

This exception occurs when there is an internal failure in the Entity Resolution + * service. HTTP Status Code: 500 + *

+ * + * @throws {@link ThrottlingException} (client fault) + *

The request was denied due to request throttling. HTTP Status Code: + * 429 + *

+ * + * @throws {@link ValidationException} (client fault) + *

The input fails to satisfy the constraints specified by Entity Resolution. HTTP + * Status Code: 400 + *

+ * + * @throws {@link EntityResolutionServiceException} + *

Base exception class for all service exceptions from EntityResolution service.

+ * + * @public + */ +export class CreateIdNamespaceCommand extends $Command + .classBuilder< + CreateIdNamespaceCommandInput, + CreateIdNamespaceCommandOutput, + EntityResolutionClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: EntityResolutionClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSVeniceService", "CreateIdNamespace", {}) + .n("EntityResolutionClient", "CreateIdNamespaceCommand") + .f(void 0, void 0) + .ser(se_CreateIdNamespaceCommand) + .de(de_CreateIdNamespaceCommand) + .build() {} diff --git a/clients/client-entityresolution/src/commands/DeleteIdMappingWorkflowCommand.ts b/clients/client-entityresolution/src/commands/DeleteIdMappingWorkflowCommand.ts index ab9b03fe9e4a..5651edf885d5 100644 --- a/clients/client-entityresolution/src/commands/DeleteIdMappingWorkflowCommand.ts +++ b/clients/client-entityresolution/src/commands/DeleteIdMappingWorkflowCommand.ts @@ -57,6 +57,12 @@ export interface DeleteIdMappingWorkflowCommandOutput extends DeleteIdMappingWor * 403 *

* + * @throws {@link ConflictException} (client fault) + *

The request could not be processed because of conflict in the current state of the + * resource. Example: Workflow already exists, Schema already exists, Workflow is currently + * running, etc. HTTP Status Code: 400 + *

+ * * @throws {@link InternalServerException} (server fault) *

This exception occurs when there is an internal failure in the Entity Resolution * service. HTTP Status Code: 500 diff --git a/clients/client-entityresolution/src/commands/DeleteIdNamespaceCommand.ts b/clients/client-entityresolution/src/commands/DeleteIdNamespaceCommand.ts new file mode 100644 index 000000000000..81b5b9a4a0ad --- /dev/null +++ b/clients/client-entityresolution/src/commands/DeleteIdNamespaceCommand.ts @@ -0,0 +1,101 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { EntityResolutionClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EntityResolutionClient"; +import { DeleteIdNamespaceInput, DeleteIdNamespaceOutput } from "../models/models_0"; +import { de_DeleteIdNamespaceCommand, se_DeleteIdNamespaceCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link DeleteIdNamespaceCommand}. + */ +export interface DeleteIdNamespaceCommandInput extends DeleteIdNamespaceInput {} +/** + * @public + * + * The output of {@link DeleteIdNamespaceCommand}. + */ +export interface DeleteIdNamespaceCommandOutput extends DeleteIdNamespaceOutput, __MetadataBearer {} + +/** + *

Deletes the IdNamespace with a given name.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EntityResolutionClient, DeleteIdNamespaceCommand } from "@aws-sdk/client-entityresolution"; // ES Modules import + * // const { EntityResolutionClient, DeleteIdNamespaceCommand } = require("@aws-sdk/client-entityresolution"); // CommonJS import + * const client = new EntityResolutionClient(config); + * const input = { // DeleteIdNamespaceInput + * idNamespaceName: "STRING_VALUE", // required + * }; + * const command = new DeleteIdNamespaceCommand(input); + * const response = await client.send(command); + * // { // DeleteIdNamespaceOutput + * // message: "STRING_VALUE", // required + * // }; + * + * ``` + * + * @param DeleteIdNamespaceCommandInput - {@link DeleteIdNamespaceCommandInput} + * @returns {@link DeleteIdNamespaceCommandOutput} + * @see {@link DeleteIdNamespaceCommandInput} for command's `input` shape. + * @see {@link DeleteIdNamespaceCommandOutput} for command's `response` shape. + * @see {@link EntityResolutionClientResolvedConfig | config} for EntityResolutionClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action. HTTP Status Code: + * 403 + *

+ * + * @throws {@link InternalServerException} (server fault) + *

This exception occurs when there is an internal failure in the Entity Resolution + * service. HTTP Status Code: 500 + *

+ * + * @throws {@link ThrottlingException} (client fault) + *

The request was denied due to request throttling. HTTP Status Code: + * 429 + *

+ * + * @throws {@link ValidationException} (client fault) + *

The input fails to satisfy the constraints specified by Entity Resolution. HTTP + * Status Code: 400 + *

+ * + * @throws {@link EntityResolutionServiceException} + *

Base exception class for all service exceptions from EntityResolution service.

+ * + * @public + */ +export class DeleteIdNamespaceCommand extends $Command + .classBuilder< + DeleteIdNamespaceCommandInput, + DeleteIdNamespaceCommandOutput, + EntityResolutionClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: EntityResolutionClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSVeniceService", "DeleteIdNamespace", {}) + .n("EntityResolutionClient", "DeleteIdNamespaceCommand") + .f(void 0, void 0) + .ser(se_DeleteIdNamespaceCommand) + .de(de_DeleteIdNamespaceCommand) + .build() {} diff --git a/clients/client-entityresolution/src/commands/DeleteMatchingWorkflowCommand.ts b/clients/client-entityresolution/src/commands/DeleteMatchingWorkflowCommand.ts index 4077c77ecbab..fea804c4b073 100644 --- a/clients/client-entityresolution/src/commands/DeleteMatchingWorkflowCommand.ts +++ b/clients/client-entityresolution/src/commands/DeleteMatchingWorkflowCommand.ts @@ -57,6 +57,12 @@ export interface DeleteMatchingWorkflowCommandOutput extends DeleteMatchingWorkf * 403 *

* + * @throws {@link ConflictException} (client fault) + *

The request could not be processed because of conflict in the current state of the + * resource. Example: Workflow already exists, Schema already exists, Workflow is currently + * running, etc. HTTP Status Code: 400 + *

+ * * @throws {@link InternalServerException} (server fault) *

This exception occurs when there is an internal failure in the Entity Resolution * service. HTTP Status Code: 500 diff --git a/clients/client-entityresolution/src/commands/DeletePolicyStatementCommand.ts b/clients/client-entityresolution/src/commands/DeletePolicyStatementCommand.ts new file mode 100644 index 000000000000..fce23cf69b07 --- /dev/null +++ b/clients/client-entityresolution/src/commands/DeletePolicyStatementCommand.ts @@ -0,0 +1,114 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { EntityResolutionClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EntityResolutionClient"; +import { DeletePolicyStatementInput, DeletePolicyStatementOutput } from "../models/models_0"; +import { de_DeletePolicyStatementCommand, se_DeletePolicyStatementCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link DeletePolicyStatementCommand}. + */ +export interface DeletePolicyStatementCommandInput extends DeletePolicyStatementInput {} +/** + * @public + * + * The output of {@link DeletePolicyStatementCommand}. + */ +export interface DeletePolicyStatementCommandOutput extends DeletePolicyStatementOutput, __MetadataBearer {} + +/** + *

Deletes the policy statement.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EntityResolutionClient, DeletePolicyStatementCommand } from "@aws-sdk/client-entityresolution"; // ES Modules import + * // const { EntityResolutionClient, DeletePolicyStatementCommand } = require("@aws-sdk/client-entityresolution"); // CommonJS import + * const client = new EntityResolutionClient(config); + * const input = { // DeletePolicyStatementInput + * arn: "STRING_VALUE", // required + * statementId: "STRING_VALUE", // required + * }; + * const command = new DeletePolicyStatementCommand(input); + * const response = await client.send(command); + * // { // DeletePolicyStatementOutput + * // arn: "STRING_VALUE", // required + * // token: "STRING_VALUE", // required + * // policy: "STRING_VALUE", + * // }; + * + * ``` + * + * @param DeletePolicyStatementCommandInput - {@link DeletePolicyStatementCommandInput} + * @returns {@link DeletePolicyStatementCommandOutput} + * @see {@link DeletePolicyStatementCommandInput} for command's `input` shape. + * @see {@link DeletePolicyStatementCommandOutput} for command's `response` shape. + * @see {@link EntityResolutionClientResolvedConfig | config} for EntityResolutionClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action. HTTP Status Code: + * 403 + *

+ * + * @throws {@link ConflictException} (client fault) + *

The request could not be processed because of conflict in the current state of the + * resource. Example: Workflow already exists, Schema already exists, Workflow is currently + * running, etc. HTTP Status Code: 400 + *

+ * + * @throws {@link InternalServerException} (server fault) + *

This exception occurs when there is an internal failure in the Entity Resolution + * service. HTTP Status Code: 500 + *

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The resource could not be found. HTTP Status Code: 404 + *

+ * + * @throws {@link ThrottlingException} (client fault) + *

The request was denied due to request throttling. HTTP Status Code: + * 429 + *

+ * + * @throws {@link ValidationException} (client fault) + *

The input fails to satisfy the constraints specified by Entity Resolution. HTTP + * Status Code: 400 + *

+ * + * @throws {@link EntityResolutionServiceException} + *

Base exception class for all service exceptions from EntityResolution service.

+ * + * @public + */ +export class DeletePolicyStatementCommand extends $Command + .classBuilder< + DeletePolicyStatementCommandInput, + DeletePolicyStatementCommandOutput, + EntityResolutionClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: EntityResolutionClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSVeniceService", "DeletePolicyStatement", {}) + .n("EntityResolutionClient", "DeletePolicyStatementCommand") + .f(void 0, void 0) + .ser(se_DeletePolicyStatementCommand) + .de(de_DeletePolicyStatementCommand) + .build() {} diff --git a/clients/client-entityresolution/src/commands/GetIdMappingJobCommand.ts b/clients/client-entityresolution/src/commands/GetIdMappingJobCommand.ts index b4c83be1196f..fd883616049d 100644 --- a/clients/client-entityresolution/src/commands/GetIdMappingJobCommand.ts +++ b/clients/client-entityresolution/src/commands/GetIdMappingJobCommand.ts @@ -54,6 +54,13 @@ export interface GetIdMappingJobCommandOutput extends GetIdMappingJobOutput, __M * // errorDetails: { // ErrorDetails * // errorMessage: "STRING_VALUE", * // }, + * // outputSourceConfig: [ // IdMappingJobOutputSourceConfig + * // { // IdMappingJobOutputSource + * // roleArn: "STRING_VALUE", // required + * // outputS3Path: "STRING_VALUE", // required + * // KMSArn: "STRING_VALUE", + * // }, + * // ], * // }; * * ``` diff --git a/clients/client-entityresolution/src/commands/GetIdMappingWorkflowCommand.ts b/clients/client-entityresolution/src/commands/GetIdMappingWorkflowCommand.ts index bc0bc17356d5..b90a573fea65 100644 --- a/clients/client-entityresolution/src/commands/GetIdMappingWorkflowCommand.ts +++ b/clients/client-entityresolution/src/commands/GetIdMappingWorkflowCommand.ts @@ -46,10 +46,11 @@ export interface GetIdMappingWorkflowCommandOutput extends GetIdMappingWorkflowO * // inputSourceConfig: [ // IdMappingWorkflowInputSourceConfig // required * // { // IdMappingWorkflowInputSource * // inputSourceARN: "STRING_VALUE", // required - * // schemaName: "STRING_VALUE", // required + * // schemaName: "STRING_VALUE", + * // type: "SOURCE" || "TARGET", * // }, * // ], - * // outputSourceConfig: [ // IdMappingWorkflowOutputSourceConfig // required + * // outputSourceConfig: [ // IdMappingWorkflowOutputSourceConfig * // { // IdMappingWorkflowOutputSource * // outputS3Path: "STRING_VALUE", // required * // KMSArn: "STRING_VALUE", diff --git a/clients/client-entityresolution/src/commands/GetIdNamespaceCommand.ts b/clients/client-entityresolution/src/commands/GetIdNamespaceCommand.ts new file mode 100644 index 000000000000..ebe91bf24322 --- /dev/null +++ b/clients/client-entityresolution/src/commands/GetIdNamespaceCommand.ts @@ -0,0 +1,129 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { EntityResolutionClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EntityResolutionClient"; +import { GetIdNamespaceInput, GetIdNamespaceOutput } from "../models/models_0"; +import { de_GetIdNamespaceCommand, se_GetIdNamespaceCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link GetIdNamespaceCommand}. + */ +export interface GetIdNamespaceCommandInput extends GetIdNamespaceInput {} +/** + * @public + * + * The output of {@link GetIdNamespaceCommand}. + */ +export interface GetIdNamespaceCommandOutput extends GetIdNamespaceOutput, __MetadataBearer {} + +/** + *

Returns the IdNamespace with a given name, if it exists.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EntityResolutionClient, GetIdNamespaceCommand } from "@aws-sdk/client-entityresolution"; // ES Modules import + * // const { EntityResolutionClient, GetIdNamespaceCommand } = require("@aws-sdk/client-entityresolution"); // CommonJS import + * const client = new EntityResolutionClient(config); + * const input = { // GetIdNamespaceInput + * idNamespaceName: "STRING_VALUE", // required + * }; + * const command = new GetIdNamespaceCommand(input); + * const response = await client.send(command); + * // { // GetIdNamespaceOutput + * // idNamespaceName: "STRING_VALUE", // required + * // idNamespaceArn: "STRING_VALUE", // required + * // description: "STRING_VALUE", + * // inputSourceConfig: [ // IdNamespaceInputSourceConfig + * // { // IdNamespaceInputSource + * // inputSourceARN: "STRING_VALUE", // required + * // schemaName: "STRING_VALUE", + * // }, + * // ], + * // idMappingWorkflowProperties: [ // IdNamespaceIdMappingWorkflowPropertiesList + * // { // IdNamespaceIdMappingWorkflowProperties + * // idMappingType: "PROVIDER", // required + * // providerProperties: { // NamespaceProviderProperties + * // providerServiceArn: "STRING_VALUE", // required + * // providerConfiguration: "DOCUMENT_VALUE", + * // }, + * // }, + * // ], + * // type: "SOURCE" || "TARGET", // required + * // roleArn: "STRING_VALUE", + * // createdAt: new Date("TIMESTAMP"), // required + * // updatedAt: new Date("TIMESTAMP"), // required + * // tags: { // TagMap + * // "": "STRING_VALUE", + * // }, + * // }; + * + * ``` + * + * @param GetIdNamespaceCommandInput - {@link GetIdNamespaceCommandInput} + * @returns {@link GetIdNamespaceCommandOutput} + * @see {@link GetIdNamespaceCommandInput} for command's `input` shape. + * @see {@link GetIdNamespaceCommandOutput} for command's `response` shape. + * @see {@link EntityResolutionClientResolvedConfig | config} for EntityResolutionClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action. HTTP Status Code: + * 403 + *

+ * + * @throws {@link InternalServerException} (server fault) + *

This exception occurs when there is an internal failure in the Entity Resolution + * service. HTTP Status Code: 500 + *

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The resource could not be found. HTTP Status Code: 404 + *

+ * + * @throws {@link ThrottlingException} (client fault) + *

The request was denied due to request throttling. HTTP Status Code: + * 429 + *

+ * + * @throws {@link ValidationException} (client fault) + *

The input fails to satisfy the constraints specified by Entity Resolution. HTTP + * Status Code: 400 + *

+ * + * @throws {@link EntityResolutionServiceException} + *

Base exception class for all service exceptions from EntityResolution service.

+ * + * @public + */ +export class GetIdNamespaceCommand extends $Command + .classBuilder< + GetIdNamespaceCommandInput, + GetIdNamespaceCommandOutput, + EntityResolutionClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: EntityResolutionClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSVeniceService", "GetIdNamespace", {}) + .n("EntityResolutionClient", "GetIdNamespaceCommand") + .f(void 0, void 0) + .ser(se_GetIdNamespaceCommand) + .de(de_GetIdNamespaceCommand) + .build() {} diff --git a/clients/client-entityresolution/src/commands/GetMatchIdCommand.ts b/clients/client-entityresolution/src/commands/GetMatchIdCommand.ts index 041cd40a1707..670a7d48eb2f 100644 --- a/clients/client-entityresolution/src/commands/GetMatchIdCommand.ts +++ b/clients/client-entityresolution/src/commands/GetMatchIdCommand.ts @@ -40,11 +40,13 @@ export interface GetMatchIdCommandOutput extends GetMatchIdOutput, __MetadataBea * record: { // RecordAttributeMap // required * "": "STRING_VALUE", * }, + * applyNormalization: true || false, * }; * const command = new GetMatchIdCommand(input); * const response = await client.send(command); * // { // GetMatchIdOutput * // matchId: "STRING_VALUE", + * // matchRule: "STRING_VALUE", * // }; * * ``` diff --git a/clients/client-entityresolution/src/commands/GetMatchingJobCommand.ts b/clients/client-entityresolution/src/commands/GetMatchingJobCommand.ts index c48c29934570..08f80569164a 100644 --- a/clients/client-entityresolution/src/commands/GetMatchingJobCommand.ts +++ b/clients/client-entityresolution/src/commands/GetMatchingJobCommand.ts @@ -55,6 +55,13 @@ export interface GetMatchingJobCommandOutput extends GetMatchingJobOutput, __Met * // errorDetails: { // ErrorDetails * // errorMessage: "STRING_VALUE", * // }, + * // outputSourceConfig: [ // JobOutputSourceConfig + * // { // JobOutputSource + * // roleArn: "STRING_VALUE", // required + * // outputS3Path: "STRING_VALUE", // required + * // KMSArn: "STRING_VALUE", + * // }, + * // ], * // }; * * ``` diff --git a/clients/client-entityresolution/src/commands/GetPolicyCommand.ts b/clients/client-entityresolution/src/commands/GetPolicyCommand.ts new file mode 100644 index 000000000000..11aaba00fe35 --- /dev/null +++ b/clients/client-entityresolution/src/commands/GetPolicyCommand.ts @@ -0,0 +1,107 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { EntityResolutionClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EntityResolutionClient"; +import { GetPolicyInput, GetPolicyOutput } from "../models/models_0"; +import { de_GetPolicyCommand, se_GetPolicyCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link GetPolicyCommand}. + */ +export interface GetPolicyCommandInput extends GetPolicyInput {} +/** + * @public + * + * The output of {@link GetPolicyCommand}. + */ +export interface GetPolicyCommandOutput extends GetPolicyOutput, __MetadataBearer {} + +/** + *

Returns the resource-based policy.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EntityResolutionClient, GetPolicyCommand } from "@aws-sdk/client-entityresolution"; // ES Modules import + * // const { EntityResolutionClient, GetPolicyCommand } = require("@aws-sdk/client-entityresolution"); // CommonJS import + * const client = new EntityResolutionClient(config); + * const input = { // GetPolicyInput + * arn: "STRING_VALUE", // required + * }; + * const command = new GetPolicyCommand(input); + * const response = await client.send(command); + * // { // GetPolicyOutput + * // arn: "STRING_VALUE", // required + * // token: "STRING_VALUE", // required + * // policy: "STRING_VALUE", + * // }; + * + * ``` + * + * @param GetPolicyCommandInput - {@link GetPolicyCommandInput} + * @returns {@link GetPolicyCommandOutput} + * @see {@link GetPolicyCommandInput} for command's `input` shape. + * @see {@link GetPolicyCommandOutput} for command's `response` shape. + * @see {@link EntityResolutionClientResolvedConfig | config} for EntityResolutionClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action. HTTP Status Code: + * 403 + *

+ * + * @throws {@link InternalServerException} (server fault) + *

This exception occurs when there is an internal failure in the Entity Resolution + * service. HTTP Status Code: 500 + *

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The resource could not be found. HTTP Status Code: 404 + *

+ * + * @throws {@link ThrottlingException} (client fault) + *

The request was denied due to request throttling. HTTP Status Code: + * 429 + *

+ * + * @throws {@link ValidationException} (client fault) + *

The input fails to satisfy the constraints specified by Entity Resolution. HTTP + * Status Code: 400 + *

+ * + * @throws {@link EntityResolutionServiceException} + *

Base exception class for all service exceptions from EntityResolution service.

+ * + * @public + */ +export class GetPolicyCommand extends $Command + .classBuilder< + GetPolicyCommandInput, + GetPolicyCommandOutput, + EntityResolutionClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: EntityResolutionClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSVeniceService", "GetPolicy", {}) + .n("EntityResolutionClient", "GetPolicyCommand") + .f(void 0, void 0) + .ser(se_GetPolicyCommand) + .de(de_GetPolicyCommand) + .build() {} diff --git a/clients/client-entityresolution/src/commands/GetProviderServiceCommand.ts b/clients/client-entityresolution/src/commands/GetProviderServiceCommand.ts index b52ea3297285..979421573ae1 100644 --- a/clients/client-entityresolution/src/commands/GetProviderServiceCommand.ts +++ b/clients/client-entityresolution/src/commands/GetProviderServiceCommand.ts @@ -47,6 +47,12 @@ export interface GetProviderServiceCommandOutput extends GetProviderServiceOutpu * // providerServiceType: "ASSIGNMENT" || "ID_MAPPING", // required * // providerServiceArn: "STRING_VALUE", // required * // providerConfigurationDefinition: "DOCUMENT_VALUE", + * // providerIdNameSpaceConfiguration: { // ProviderIdNameSpaceConfiguration + * // description: "STRING_VALUE", + * // providerTargetConfigurationDefinition: "DOCUMENT_VALUE", + * // providerSourceConfigurationDefinition: "DOCUMENT_VALUE", + * // }, + * // providerJobConfiguration: "DOCUMENT_VALUE", * // providerEndpointConfiguration: { // ProviderEndpointConfiguration Union: only one key present * // marketplaceConfiguration: { // ProviderMarketplaceConfiguration * // dataSetId: "STRING_VALUE", // required @@ -65,6 +71,21 @@ export interface GetProviderServiceCommandOutput extends GetProviderServiceOutpu * // "STRING_VALUE", * // ], * // }, + * // providerComponentSchema: { // ProviderComponentSchema + * // schemas: [ // Schemas + * // [ // SchemaList + * // "STRING_VALUE", + * // ], + * // ], + * // providerSchemaAttributes: [ // ProviderSchemaAttributes + * // { // ProviderSchemaAttribute + * // fieldName: "STRING_VALUE", // required + * // type: "NAME" || "NAME_FIRST" || "NAME_MIDDLE" || "NAME_LAST" || "ADDRESS" || "ADDRESS_STREET1" || "ADDRESS_STREET2" || "ADDRESS_STREET3" || "ADDRESS_CITY" || "ADDRESS_STATE" || "ADDRESS_COUNTRY" || "ADDRESS_POSTALCODE" || "PHONE" || "PHONE_NUMBER" || "PHONE_COUNTRYCODE" || "EMAIL_ADDRESS" || "UNIQUE_ID" || "DATE" || "STRING" || "PROVIDER_ID", // required + * // subType: "STRING_VALUE", + * // hashing: true || false, + * // }, + * // ], + * // }, * // }; * * ``` diff --git a/clients/client-entityresolution/src/commands/ListIdNamespacesCommand.ts b/clients/client-entityresolution/src/commands/ListIdNamespacesCommand.ts new file mode 100644 index 000000000000..50583d316259 --- /dev/null +++ b/clients/client-entityresolution/src/commands/ListIdNamespacesCommand.ts @@ -0,0 +1,112 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { EntityResolutionClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EntityResolutionClient"; +import { ListIdNamespacesInput, ListIdNamespacesOutput } from "../models/models_0"; +import { de_ListIdNamespacesCommand, se_ListIdNamespacesCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link ListIdNamespacesCommand}. + */ +export interface ListIdNamespacesCommandInput extends ListIdNamespacesInput {} +/** + * @public + * + * The output of {@link ListIdNamespacesCommand}. + */ +export interface ListIdNamespacesCommandOutput extends ListIdNamespacesOutput, __MetadataBearer {} + +/** + *

Returns a list of all ID namespaces.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EntityResolutionClient, ListIdNamespacesCommand } from "@aws-sdk/client-entityresolution"; // ES Modules import + * // const { EntityResolutionClient, ListIdNamespacesCommand } = require("@aws-sdk/client-entityresolution"); // CommonJS import + * const client = new EntityResolutionClient(config); + * const input = { // ListIdNamespacesInput + * nextToken: "STRING_VALUE", + * maxResults: Number("int"), + * }; + * const command = new ListIdNamespacesCommand(input); + * const response = await client.send(command); + * // { // ListIdNamespacesOutput + * // idNamespaceSummaries: [ // IdNamespaceList + * // { // IdNamespaceSummary + * // idNamespaceName: "STRING_VALUE", // required + * // idNamespaceArn: "STRING_VALUE", // required + * // description: "STRING_VALUE", + * // type: "SOURCE" || "TARGET", // required + * // createdAt: new Date("TIMESTAMP"), // required + * // updatedAt: new Date("TIMESTAMP"), // required + * // }, + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListIdNamespacesCommandInput - {@link ListIdNamespacesCommandInput} + * @returns {@link ListIdNamespacesCommandOutput} + * @see {@link ListIdNamespacesCommandInput} for command's `input` shape. + * @see {@link ListIdNamespacesCommandOutput} for command's `response` shape. + * @see {@link EntityResolutionClientResolvedConfig | config} for EntityResolutionClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action. HTTP Status Code: + * 403 + *

+ * + * @throws {@link InternalServerException} (server fault) + *

This exception occurs when there is an internal failure in the Entity Resolution + * service. HTTP Status Code: 500 + *

+ * + * @throws {@link ThrottlingException} (client fault) + *

The request was denied due to request throttling. HTTP Status Code: + * 429 + *

+ * + * @throws {@link ValidationException} (client fault) + *

The input fails to satisfy the constraints specified by Entity Resolution. HTTP + * Status Code: 400 + *

+ * + * @throws {@link EntityResolutionServiceException} + *

Base exception class for all service exceptions from EntityResolution service.

+ * + * @public + */ +export class ListIdNamespacesCommand extends $Command + .classBuilder< + ListIdNamespacesCommandInput, + ListIdNamespacesCommandOutput, + EntityResolutionClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: EntityResolutionClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSVeniceService", "ListIdNamespaces", {}) + .n("EntityResolutionClient", "ListIdNamespacesCommand") + .f(void 0, void 0) + .ser(se_ListIdNamespacesCommand) + .de(de_ListIdNamespacesCommand) + .build() {} diff --git a/clients/client-entityresolution/src/commands/PutPolicyCommand.ts b/clients/client-entityresolution/src/commands/PutPolicyCommand.ts new file mode 100644 index 000000000000..f190fb5de404 --- /dev/null +++ b/clients/client-entityresolution/src/commands/PutPolicyCommand.ts @@ -0,0 +1,115 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { EntityResolutionClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EntityResolutionClient"; +import { PutPolicyInput, PutPolicyOutput } from "../models/models_0"; +import { de_PutPolicyCommand, se_PutPolicyCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link PutPolicyCommand}. + */ +export interface PutPolicyCommandInput extends PutPolicyInput {} +/** + * @public + * + * The output of {@link PutPolicyCommand}. + */ +export interface PutPolicyCommandOutput extends PutPolicyOutput, __MetadataBearer {} + +/** + *

Updates the resource-based policy.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EntityResolutionClient, PutPolicyCommand } from "@aws-sdk/client-entityresolution"; // ES Modules import + * // const { EntityResolutionClient, PutPolicyCommand } = require("@aws-sdk/client-entityresolution"); // CommonJS import + * const client = new EntityResolutionClient(config); + * const input = { // PutPolicyInput + * arn: "STRING_VALUE", // required + * token: "STRING_VALUE", + * policy: "STRING_VALUE", // required + * }; + * const command = new PutPolicyCommand(input); + * const response = await client.send(command); + * // { // PutPolicyOutput + * // arn: "STRING_VALUE", // required + * // token: "STRING_VALUE", // required + * // policy: "STRING_VALUE", + * // }; + * + * ``` + * + * @param PutPolicyCommandInput - {@link PutPolicyCommandInput} + * @returns {@link PutPolicyCommandOutput} + * @see {@link PutPolicyCommandInput} for command's `input` shape. + * @see {@link PutPolicyCommandOutput} for command's `response` shape. + * @see {@link EntityResolutionClientResolvedConfig | config} for EntityResolutionClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action. HTTP Status Code: + * 403 + *

+ * + * @throws {@link ConflictException} (client fault) + *

The request could not be processed because of conflict in the current state of the + * resource. Example: Workflow already exists, Schema already exists, Workflow is currently + * running, etc. HTTP Status Code: 400 + *

+ * + * @throws {@link InternalServerException} (server fault) + *

This exception occurs when there is an internal failure in the Entity Resolution + * service. HTTP Status Code: 500 + *

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The resource could not be found. HTTP Status Code: 404 + *

+ * + * @throws {@link ThrottlingException} (client fault) + *

The request was denied due to request throttling. HTTP Status Code: + * 429 + *

+ * + * @throws {@link ValidationException} (client fault) + *

The input fails to satisfy the constraints specified by Entity Resolution. HTTP + * Status Code: 400 + *

+ * + * @throws {@link EntityResolutionServiceException} + *

Base exception class for all service exceptions from EntityResolution service.

+ * + * @public + */ +export class PutPolicyCommand extends $Command + .classBuilder< + PutPolicyCommandInput, + PutPolicyCommandOutput, + EntityResolutionClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: EntityResolutionClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSVeniceService", "PutPolicy", {}) + .n("EntityResolutionClient", "PutPolicyCommand") + .f(void 0, void 0) + .ser(se_PutPolicyCommand) + .de(de_PutPolicyCommand) + .build() {} diff --git a/clients/client-entityresolution/src/commands/StartIdMappingJobCommand.ts b/clients/client-entityresolution/src/commands/StartIdMappingJobCommand.ts index 13b27fb4ff78..c2f19202f90d 100644 --- a/clients/client-entityresolution/src/commands/StartIdMappingJobCommand.ts +++ b/clients/client-entityresolution/src/commands/StartIdMappingJobCommand.ts @@ -37,11 +37,25 @@ export interface StartIdMappingJobCommandOutput extends StartIdMappingJobOutput, * const client = new EntityResolutionClient(config); * const input = { // StartIdMappingJobInput * workflowName: "STRING_VALUE", // required + * outputSourceConfig: [ // IdMappingJobOutputSourceConfig + * { // IdMappingJobOutputSource + * roleArn: "STRING_VALUE", // required + * outputS3Path: "STRING_VALUE", // required + * KMSArn: "STRING_VALUE", + * }, + * ], * }; * const command = new StartIdMappingJobCommand(input); * const response = await client.send(command); * // { // StartIdMappingJobOutput * // jobId: "STRING_VALUE", // required + * // outputSourceConfig: [ // IdMappingJobOutputSourceConfig + * // { // IdMappingJobOutputSource + * // roleArn: "STRING_VALUE", // required + * // outputS3Path: "STRING_VALUE", // required + * // KMSArn: "STRING_VALUE", + * // }, + * // ], * // }; * * ``` diff --git a/clients/client-entityresolution/src/commands/UpdateIdMappingWorkflowCommand.ts b/clients/client-entityresolution/src/commands/UpdateIdMappingWorkflowCommand.ts index 897f85d29bdb..967448d03b88 100644 --- a/clients/client-entityresolution/src/commands/UpdateIdMappingWorkflowCommand.ts +++ b/clients/client-entityresolution/src/commands/UpdateIdMappingWorkflowCommand.ts @@ -43,10 +43,11 @@ export interface UpdateIdMappingWorkflowCommandOutput extends UpdateIdMappingWor * inputSourceConfig: [ // IdMappingWorkflowInputSourceConfig // required * { // IdMappingWorkflowInputSource * inputSourceARN: "STRING_VALUE", // required - * schemaName: "STRING_VALUE", // required + * schemaName: "STRING_VALUE", + * type: "SOURCE" || "TARGET", * }, * ], - * outputSourceConfig: [ // IdMappingWorkflowOutputSourceConfig // required + * outputSourceConfig: [ // IdMappingWorkflowOutputSourceConfig * { // IdMappingWorkflowOutputSource * outputS3Path: "STRING_VALUE", // required * KMSArn: "STRING_VALUE", @@ -73,10 +74,11 @@ export interface UpdateIdMappingWorkflowCommandOutput extends UpdateIdMappingWor * // inputSourceConfig: [ // IdMappingWorkflowInputSourceConfig // required * // { // IdMappingWorkflowInputSource * // inputSourceARN: "STRING_VALUE", // required - * // schemaName: "STRING_VALUE", // required + * // schemaName: "STRING_VALUE", + * // type: "SOURCE" || "TARGET", * // }, * // ], - * // outputSourceConfig: [ // IdMappingWorkflowOutputSourceConfig // required + * // outputSourceConfig: [ // IdMappingWorkflowOutputSourceConfig * // { // IdMappingWorkflowOutputSource * // outputS3Path: "STRING_VALUE", // required * // KMSArn: "STRING_VALUE", diff --git a/clients/client-entityresolution/src/commands/UpdateIdNamespaceCommand.ts b/clients/client-entityresolution/src/commands/UpdateIdNamespaceCommand.ts new file mode 100644 index 000000000000..71a876f9e065 --- /dev/null +++ b/clients/client-entityresolution/src/commands/UpdateIdNamespaceCommand.ts @@ -0,0 +1,143 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { EntityResolutionClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EntityResolutionClient"; +import { UpdateIdNamespaceInput, UpdateIdNamespaceOutput } from "../models/models_0"; +import { de_UpdateIdNamespaceCommand, se_UpdateIdNamespaceCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link UpdateIdNamespaceCommand}. + */ +export interface UpdateIdNamespaceCommandInput extends UpdateIdNamespaceInput {} +/** + * @public + * + * The output of {@link UpdateIdNamespaceCommand}. + */ +export interface UpdateIdNamespaceCommandOutput extends UpdateIdNamespaceOutput, __MetadataBearer {} + +/** + *

Updates an existing ID namespace.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EntityResolutionClient, UpdateIdNamespaceCommand } from "@aws-sdk/client-entityresolution"; // ES Modules import + * // const { EntityResolutionClient, UpdateIdNamespaceCommand } = require("@aws-sdk/client-entityresolution"); // CommonJS import + * const client = new EntityResolutionClient(config); + * const input = { // UpdateIdNamespaceInput + * idNamespaceName: "STRING_VALUE", // required + * description: "STRING_VALUE", + * inputSourceConfig: [ // IdNamespaceInputSourceConfig + * { // IdNamespaceInputSource + * inputSourceARN: "STRING_VALUE", // required + * schemaName: "STRING_VALUE", + * }, + * ], + * idMappingWorkflowProperties: [ // IdNamespaceIdMappingWorkflowPropertiesList + * { // IdNamespaceIdMappingWorkflowProperties + * idMappingType: "PROVIDER", // required + * providerProperties: { // NamespaceProviderProperties + * providerServiceArn: "STRING_VALUE", // required + * providerConfiguration: "DOCUMENT_VALUE", + * }, + * }, + * ], + * roleArn: "STRING_VALUE", + * }; + * const command = new UpdateIdNamespaceCommand(input); + * const response = await client.send(command); + * // { // UpdateIdNamespaceOutput + * // idNamespaceName: "STRING_VALUE", // required + * // idNamespaceArn: "STRING_VALUE", // required + * // description: "STRING_VALUE", + * // inputSourceConfig: [ // IdNamespaceInputSourceConfig + * // { // IdNamespaceInputSource + * // inputSourceARN: "STRING_VALUE", // required + * // schemaName: "STRING_VALUE", + * // }, + * // ], + * // idMappingWorkflowProperties: [ // IdNamespaceIdMappingWorkflowPropertiesList + * // { // IdNamespaceIdMappingWorkflowProperties + * // idMappingType: "PROVIDER", // required + * // providerProperties: { // NamespaceProviderProperties + * // providerServiceArn: "STRING_VALUE", // required + * // providerConfiguration: "DOCUMENT_VALUE", + * // }, + * // }, + * // ], + * // type: "SOURCE" || "TARGET", // required + * // roleArn: "STRING_VALUE", + * // createdAt: new Date("TIMESTAMP"), // required + * // updatedAt: new Date("TIMESTAMP"), // required + * // }; + * + * ``` + * + * @param UpdateIdNamespaceCommandInput - {@link UpdateIdNamespaceCommandInput} + * @returns {@link UpdateIdNamespaceCommandOutput} + * @see {@link UpdateIdNamespaceCommandInput} for command's `input` shape. + * @see {@link UpdateIdNamespaceCommandOutput} for command's `response` shape. + * @see {@link EntityResolutionClientResolvedConfig | config} for EntityResolutionClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action. HTTP Status Code: + * 403 + *

+ * + * @throws {@link InternalServerException} (server fault) + *

This exception occurs when there is an internal failure in the Entity Resolution + * service. HTTP Status Code: 500 + *

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The resource could not be found. HTTP Status Code: 404 + *

+ * + * @throws {@link ThrottlingException} (client fault) + *

The request was denied due to request throttling. HTTP Status Code: + * 429 + *

+ * + * @throws {@link ValidationException} (client fault) + *

The input fails to satisfy the constraints specified by Entity Resolution. HTTP + * Status Code: 400 + *

+ * + * @throws {@link EntityResolutionServiceException} + *

Base exception class for all service exceptions from EntityResolution service.

+ * + * @public + */ +export class UpdateIdNamespaceCommand extends $Command + .classBuilder< + UpdateIdNamespaceCommandInput, + UpdateIdNamespaceCommandOutput, + EntityResolutionClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: EntityResolutionClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSVeniceService", "UpdateIdNamespace", {}) + .n("EntityResolutionClient", "UpdateIdNamespaceCommand") + .f(void 0, void 0) + .ser(se_UpdateIdNamespaceCommand) + .de(de_UpdateIdNamespaceCommand) + .build() {} diff --git a/clients/client-entityresolution/src/commands/index.ts b/clients/client-entityresolution/src/commands/index.ts index 584b1917ca46..9f8d96265316 100644 --- a/clients/client-entityresolution/src/commands/index.ts +++ b/clients/client-entityresolution/src/commands/index.ts @@ -1,28 +1,37 @@ // smithy-typescript generated code +export * from "./AddPolicyStatementCommand"; export * from "./CreateIdMappingWorkflowCommand"; +export * from "./CreateIdNamespaceCommand"; export * from "./CreateMatchingWorkflowCommand"; export * from "./CreateSchemaMappingCommand"; export * from "./DeleteIdMappingWorkflowCommand"; +export * from "./DeleteIdNamespaceCommand"; export * from "./DeleteMatchingWorkflowCommand"; +export * from "./DeletePolicyStatementCommand"; export * from "./DeleteSchemaMappingCommand"; export * from "./GetIdMappingJobCommand"; export * from "./GetIdMappingWorkflowCommand"; +export * from "./GetIdNamespaceCommand"; export * from "./GetMatchIdCommand"; export * from "./GetMatchingJobCommand"; export * from "./GetMatchingWorkflowCommand"; +export * from "./GetPolicyCommand"; export * from "./GetProviderServiceCommand"; export * from "./GetSchemaMappingCommand"; export * from "./ListIdMappingJobsCommand"; export * from "./ListIdMappingWorkflowsCommand"; +export * from "./ListIdNamespacesCommand"; export * from "./ListMatchingJobsCommand"; export * from "./ListMatchingWorkflowsCommand"; export * from "./ListProviderServicesCommand"; export * from "./ListSchemaMappingsCommand"; export * from "./ListTagsForResourceCommand"; +export * from "./PutPolicyCommand"; export * from "./StartIdMappingJobCommand"; export * from "./StartMatchingJobCommand"; export * from "./TagResourceCommand"; export * from "./UntagResourceCommand"; export * from "./UpdateIdMappingWorkflowCommand"; +export * from "./UpdateIdNamespaceCommand"; export * from "./UpdateMatchingWorkflowCommand"; export * from "./UpdateSchemaMappingCommand"; diff --git a/clients/client-entityresolution/src/models/models_0.ts b/clients/client-entityresolution/src/models/models_0.ts index f254486f9fe6..a95c58c20432 100644 --- a/clients/client-entityresolution/src/models/models_0.ts +++ b/clients/client-entityresolution/src/models/models_0.ts @@ -31,15 +31,86 @@ export class AccessDeniedException extends __BaseException { * @public * @enum */ -export const AttributeMatchingModel = { - MANY_TO_MANY: "MANY_TO_MANY", - ONE_TO_ONE: "ONE_TO_ONE", +export const StatementEffect = { + Allow: "Allow", + Deny: "Deny", } as const; /** * @public */ -export type AttributeMatchingModel = (typeof AttributeMatchingModel)[keyof typeof AttributeMatchingModel]; +export type StatementEffect = (typeof StatementEffect)[keyof typeof StatementEffect]; + +/** + * @public + */ +export interface AddPolicyStatementInput { + /** + *

The Amazon Resource Name (ARN) of the resource that will be accessed by the + * principal.

+ * @public + */ + arn: string | undefined; + + /** + *

A statement identifier that differentiates the statement from others in the same + * policy.

+ * @public + */ + statementId: string | undefined; + + /** + *

Determines whether the permissions specified in the policy are to be allowed + * (Allow) or denied (Deny).

+ * @public + */ + effect: StatementEffect | undefined; + + /** + *

The action that the principal can use on the resource.

+ *

For example, entityresolution:GetIdMappingJob, + * entityresolution:GetMatchingJob.

+ * @public + */ + action: string[] | undefined; + + /** + *

The Amazon Web Services service or Amazon Web Services account that can access the + * resource defined as ARN.

+ * @public + */ + principal: string[] | undefined; + + /** + *

A set of condition keys that you can use in key policies.

+ * @public + */ + condition?: string; +} + +/** + * @public + */ +export interface AddPolicyStatementOutput { + /** + *

The Amazon Resource Name (ARN) of the resource that will be accessed by the + * principal.

+ * @public + */ + arn: string | undefined; + + /** + *

A unique identifier for the current revision of the policy.

+ * @public + */ + token: string | undefined; + + /** + *

The resource-based policy.

+ * @public + */ + policy?: string; +} /** *

The request could not be processed because of conflict in the current state of the @@ -64,6 +135,111 @@ export class ConflictException extends __BaseException { } } +/** + *

This exception occurs when there is an internal failure in the Entity Resolution + * service. HTTP Status Code: 500 + *

+ * @public + */ +export class InternalServerException extends __BaseException { + readonly name: "InternalServerException" = "InternalServerException"; + readonly $fault: "server" = "server"; + $retryable = {}; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "InternalServerException", + $fault: "server", + ...opts, + }); + Object.setPrototypeOf(this, InternalServerException.prototype); + } +} + +/** + *

The resource could not be found. HTTP Status Code: 404 + *

+ * @public + */ +export class ResourceNotFoundException extends __BaseException { + readonly name: "ResourceNotFoundException" = "ResourceNotFoundException"; + readonly $fault: "client" = "client"; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ResourceNotFoundException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ResourceNotFoundException.prototype); + } +} + +/** + *

The request was denied due to request throttling. HTTP Status Code: + * 429 + *

+ * @public + */ +export class ThrottlingException extends __BaseException { + readonly name: "ThrottlingException" = "ThrottlingException"; + readonly $fault: "client" = "client"; + $retryable = { + throttling: true, + }; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ThrottlingException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ThrottlingException.prototype); + } +} + +/** + *

The input fails to satisfy the constraints specified by Entity Resolution. HTTP + * Status Code: 400 + *

+ * @public + */ +export class ValidationException extends __BaseException { + readonly name: "ValidationException" = "ValidationException"; + readonly $fault: "client" = "client"; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ValidationException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ValidationException.prototype); + } +} + +/** + * @public + * @enum + */ +export const AttributeMatchingModel = { + MANY_TO_MANY: "MANY_TO_MANY", + ONE_TO_ONE: "ONE_TO_ONE", +} as const; + +/** + * @public + */ +export type AttributeMatchingModel = (typeof AttributeMatchingModel)[keyof typeof AttributeMatchingModel]; + /** * @public * @enum @@ -135,16 +311,31 @@ export interface IdMappingTechniques { * service.

* @public */ - providerProperties: ProviderProperties | undefined; + providerProperties?: ProviderProperties; } /** - *

An object containing InputSourceARN and SchemaName.

+ * @public + * @enum + */ +export const IdNamespaceType = { + SOURCE: "SOURCE", + TARGET: "TARGET", +} as const; + +/** + * @public + */ +export type IdNamespaceType = (typeof IdNamespaceType)[keyof typeof IdNamespaceType]; + +/** + *

An object containing InputSourceARN, SchemaName, and + * Type.

* @public */ export interface IdMappingWorkflowInputSource { /** - *

An Gluetable ARN for the input source table.

+ *

An Glue table ARN for the input source table.

* @public */ inputSourceARN: string | undefined; @@ -153,7 +344,18 @@ export interface IdMappingWorkflowInputSource { *

The name of the schema to be retrieved.

* @public */ - schemaName: string | undefined; + schemaName?: string; + + /** + *

The type of ID namespace. There are two types: SOURCE and + * TARGET.

+ *

The SOURCE contains configurations for sourceId data that will + * be processed in an ID mapping workflow.

+ *

The TARGET contains a configuration of targetId to which all + * sourceIds will resolve to.

+ * @public + */ + type?: IdNamespaceType; } /** @@ -204,7 +406,7 @@ export interface CreateIdMappingWorkflowInput { * fields OutputS3Path and Output.

* @public */ - outputSourceConfig: IdMappingWorkflowOutputSource[] | undefined; + outputSourceConfig?: IdMappingWorkflowOutputSource[]; /** *

An object which defines the idMappingType and the @@ -262,7 +464,7 @@ export interface CreateIdMappingWorkflowOutput { * fields OutputS3Path and Output.

* @public */ - outputSourceConfig: IdMappingWorkflowOutputSource[] | undefined; + outputSourceConfig?: IdMappingWorkflowOutputSource[]; /** *

An object which defines the idMappingType and the @@ -317,73 +519,193 @@ export class ExceedsLimitException extends __BaseException { } /** - *

This exception occurs when there is an internal failure in the Entity Resolution - * service. HTTP Status Code: 500 - *

+ *

An object containing ProviderConfiguration and + * ProviderServiceArn.

* @public */ -export class InternalServerException extends __BaseException { - readonly name: "InternalServerException" = "InternalServerException"; - readonly $fault: "server" = "server"; - $retryable = {}; +export interface NamespaceProviderProperties { /** - * @internal + *

The Amazon Resource Name (ARN) of the provider service.

+ * @public */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "InternalServerException", - $fault: "server", - ...opts, - }); - Object.setPrototypeOf(this, InternalServerException.prototype); - } + providerServiceArn: string | undefined; + + /** + *

An object which defines any additional configurations required by the provider + * service.

+ * @public + */ + providerConfiguration?: __DocumentType; } /** - *

The request was denied due to request throttling. HTTP Status Code: - * 429 - *

+ *

An object containing IdMappingType and + * ProviderProperties.

* @public */ -export class ThrottlingException extends __BaseException { - readonly name: "ThrottlingException" = "ThrottlingException"; - readonly $fault: "client" = "client"; - $retryable = { - throttling: true, - }; +export interface IdNamespaceIdMappingWorkflowProperties { /** - * @internal + *

The type of ID mapping.

+ * @public */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ThrottlingException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ThrottlingException.prototype); - } + idMappingType: IdMappingType | undefined; + + /** + *

An object which defines any additional configurations required by the provider + * service.

+ * @public + */ + providerProperties?: NamespaceProviderProperties; } /** - *

The input fails to satisfy the constraints specified by Entity Resolution. HTTP - * Status Code: 400 - *

+ *

An object containing InputSourceARN and SchemaName.

* @public */ -export class ValidationException extends __BaseException { - readonly name: "ValidationException" = "ValidationException"; - readonly $fault: "client" = "client"; +export interface IdNamespaceInputSource { /** - * @internal + *

An Glue table ARN for the input source table.

+ * @public */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ValidationException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ValidationException.prototype); - } + inputSourceARN: string | undefined; + + /** + *

The name of the schema.

+ * @public + */ + schemaName?: string; +} + +/** + * @public + */ +export interface CreateIdNamespaceInput { + /** + *

The name of the ID namespace.

+ * @public + */ + idNamespaceName: string | undefined; + + /** + *

The description of the ID namespace.

+ * @public + */ + description?: string; + + /** + *

A list of InputSource objects, which have the fields + * InputSourceARN and SchemaName.

+ * @public + */ + inputSourceConfig?: IdNamespaceInputSource[]; + + /** + *

Determines the properties of IdMappingWorflow where this + * IdNamespace can be used as a Source or a + * Target.

+ * @public + */ + idMappingWorkflowProperties?: IdNamespaceIdMappingWorkflowProperties[]; + + /** + *

The type of ID namespace. There are two types: SOURCE and + * TARGET.

+ *

The SOURCE contains configurations for sourceId data that will + * be processed in an ID mapping workflow.

+ *

The TARGET contains a configuration of targetId to which all + * sourceIds will resolve to.

+ * @public + */ + type: IdNamespaceType | undefined; + + /** + *

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes + * this role to access the resources defined in this IdNamespace on your behalf + * as part of the workflow run.

+ * @public + */ + roleArn?: string; + + /** + *

The tags used to organize, track, or control access for this resource.

+ * @public + */ + tags?: Record; +} + +/** + * @public + */ +export interface CreateIdNamespaceOutput { + /** + *

The name of the ID namespace.

+ * @public + */ + idNamespaceName: string | undefined; + + /** + *

The Amazon Resource Name (ARN) of the ID namespace.

+ * @public + */ + idNamespaceArn: string | undefined; + + /** + *

The description of the ID namespace.

+ * @public + */ + description?: string; + + /** + *

A list of InputSource objects, which have the fields + * InputSourceARN and SchemaName.

+ * @public + */ + inputSourceConfig?: IdNamespaceInputSource[]; + + /** + *

Determines the properties of IdMappingWorkflow where this + * IdNamespace can be used as a Source or a + * Target.

+ * @public + */ + idMappingWorkflowProperties?: IdNamespaceIdMappingWorkflowProperties[]; + + /** + *

The type of ID namespace. There are two types: SOURCE and + * TARGET.

+ *

The SOURCE contains configurations for sourceId data that will + * be processed in an ID mapping workflow.

+ *

The TARGET contains a configuration of targetId to which all + * sourceIds will resolve to.

+ * @public + */ + type: IdNamespaceType | undefined; + + /** + *

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes + * this role to access the resources defined in inputSourceConfig on your behalf + * as part of the workflow run.

+ * @public + */ + roleArn?: string; + + /** + *

The timestamp of when the ID namespace was created.

+ * @public + */ + createdAt: Date | undefined; + + /** + *

The timestamp of when the ID namespace was last updated.

+ * @public + */ + updatedAt: Date | undefined; + + /** + *

The tags used to organize, track, or control access for this resource.

+ * @public + */ + tags?: Record; } /** @@ -568,8 +890,8 @@ export interface RuleBasedProperties { */ export interface ResolutionTechniques { /** - *

The type of matching. There are two types of matching: RULE_MATCHING and - * ML_MATCHING.

+ *

The type of matching. There are three types of matching: RULE_MATCHING, + * ML_MATCHING, and PROVIDER.

* @public */ resolutionType: ResolutionType | undefined; @@ -742,7 +1064,7 @@ export type SchemaAttributeType = (typeof SchemaAttributeType)[keyof typeof Sche /** *

An object containing FieldName, Type, GroupName, - * and MatchKey.

+ * MatchKey, and SubType.

* @public */ export interface SchemaInputAttribute { @@ -759,23 +1081,24 @@ export interface SchemaInputAttribute { type: SchemaAttributeType | undefined; /** - *

Instruct Entity Resolution to combine several columns into a unified column with the - * identical attribute type. For example, when working with columns such as first_name, - * middle_name, and last_name, assigning them a common GroupName will prompt - * Entity Resolution to concatenate them into a single value.

+ *

A string that instructs Entity Resolution to combine several columns into a unified + * column with the identical attribute type.

+ *

For example, when working with columns such as first_name, + * middle_name, and last_name, assigning them a common + * groupName will prompt Entity Resolution to concatenate them into a single + * value.

* @public */ groupName?: string; /** *

A key that allows grouping of multiple input attributes into a unified matching group. - * For example, let's consider a scenario where the source table contains various addresses, - * such as business_address and shipping_address. By assigning the - * MatchKey - * Address to both attributes, Entity Resolution will match records - * across these fields to create a consolidated matching group. If no MatchKey is - * specified for a column, it won't be utilized for matching purposes but will still be - * included in the output table.

+ * For example, consider a scenario where the source table contains various addresses, such as + * business_address and shipping_address. By assigning a + * matchKey called address to both attributes, Entity Resolution + * will match records across these fields to create a consolidated matching group. If no + * matchKey is specified for a column, it won't be utilized for matching + * purposes but will still be included in the output table.

* @public */ matchKey?: string; @@ -873,6 +1196,28 @@ export interface DeleteIdMappingWorkflowOutput { message: string | undefined; } +/** + * @public + */ +export interface DeleteIdNamespaceInput { + /** + *

The name of the ID namespace.

+ * @public + */ + idNamespaceName: string | undefined; +} + +/** + * @public + */ +export interface DeleteIdNamespaceOutput { + /** + *

A successful operation message.

+ * @public + */ + message: string | undefined; +} + /** * @public */ @@ -895,6 +1240,47 @@ export interface DeleteMatchingWorkflowOutput { message: string | undefined; } +/** + * @public + */ +export interface DeletePolicyStatementInput { + /** + *

The ARN of the resource for which the policy need to be deleted.

+ * @public + */ + arn: string | undefined; + + /** + *

A statement identifier that differentiates the statement from others in the same + * policy.

+ * @public + */ + statementId: string | undefined; +} + +/** + * @public + */ +export interface DeletePolicyStatementOutput { + /** + *

The ARN of the resource for which the policy need to be deleted.

+ * @public + */ + arn: string | undefined; + + /** + *

A unique identifier for the deleted policy.

+ * @public + */ + token: string | undefined; + + /** + *

The resource-based policy.

+ * @public + */ + policy?: string; +} + /** * @public */ @@ -971,6 +1357,34 @@ export interface IdMappingJobMetrics { recordsNotProcessed?: number; } +/** + *

An object containing KMSArn, OutputS3Path, and + * RoleARN.

+ * @public + */ +export interface IdMappingJobOutputSource { + /** + *

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes + * this role to access Amazon Web Services resources on your behalf as part of workflow + * execution.

+ * @public + */ + roleArn: string | undefined; + + /** + *

The S3 path to which Entity Resolution will write the output table.

+ * @public + */ + outputS3Path: string | undefined; + + /** + *

Customer KMS ARN for encryption at rest. If not provided, system will use + * an Entity Resolution managed KMS key.

+ * @public + */ + KMSArn?: string; +} + /** * @public * @enum @@ -1027,27 +1441,12 @@ export interface GetIdMappingJobOutput { * @public */ errorDetails?: ErrorDetails; -} -/** - *

The resource could not be found. HTTP Status Code: 404 - *

- * @public - */ -export class ResourceNotFoundException extends __BaseException { - readonly name: "ResourceNotFoundException" = "ResourceNotFoundException"; - readonly $fault: "client" = "client"; /** - * @internal + *

A list of OutputSource objects.

+ * @public */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ResourceNotFoundException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ResourceNotFoundException.prototype); - } + outputSourceConfig?: IdMappingJobOutputSource[]; } /** @@ -1096,7 +1495,7 @@ export interface GetIdMappingWorkflowOutput { * OutputS3Path and KMSArn.

* @public */ - outputSourceConfig: IdMappingWorkflowOutputSource[] | undefined; + outputSourceConfig?: IdMappingWorkflowOutputSource[]; /** *

An object which defines the idMappingType and the @@ -1119,7 +1518,7 @@ export interface GetIdMappingWorkflowOutput { /** *

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes - * this role to access resources on your behalf.

+ * this role to access Amazon Web Services resources on your behalf.

* @public */ roleArn: string | undefined; @@ -1131,6 +1530,92 @@ export interface GetIdMappingWorkflowOutput { tags?: Record; } +/** + * @public + */ +export interface GetIdNamespaceInput { + /** + *

The name of the ID namespace.

+ * @public + */ + idNamespaceName: string | undefined; +} + +/** + * @public + */ +export interface GetIdNamespaceOutput { + /** + *

The name of the ID namespace.

+ * @public + */ + idNamespaceName: string | undefined; + + /** + *

The Amazon Resource Name (ARN) of the ID namespace.

+ * @public + */ + idNamespaceArn: string | undefined; + + /** + *

The description of the ID namespace.

+ * @public + */ + description?: string; + + /** + *

A list of InputSource objects, which have the fields + * InputSourceARN and SchemaName.

+ * @public + */ + inputSourceConfig?: IdNamespaceInputSource[]; + + /** + *

Determines the properties of IdMappingWorkflow where this + * IdNamespace can be used as a Source or a + * Target.

+ * @public + */ + idMappingWorkflowProperties?: IdNamespaceIdMappingWorkflowProperties[]; + + /** + *

The type of ID namespace. There are two types: SOURCE and + * TARGET.

+ *

The SOURCE contains configurations for sourceId data that will + * be processed in an ID mapping workflow.

+ *

The TARGET contains a configuration of targetId to which all + * sourceIds will resolve to.

+ * @public + */ + type: IdNamespaceType | undefined; + + /** + *

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes + * this role to access the resources defined in this IdNamespace on your behalf + * as part of a workflow run.

+ * @public + */ + roleArn?: string; + + /** + *

The timestamp of when the ID namespace was created.

+ * @public + */ + createdAt: Date | undefined; + + /** + *

The timestamp of when the ID namespace was last updated.

+ * @public + */ + updatedAt: Date | undefined; + + /** + *

The tags used to organize, track, or control access for this resource.

+ * @public + */ + tags?: Record; +} + /** * @public */ @@ -1146,6 +1631,15 @@ export interface GetMatchIdInput { * @public */ record: Record | undefined; + + /** + *

Normalizes the attributes defined in the schema in the input data. For example, if an + * attribute has an AttributeType of PHONE_NUMBER, and the data in + * the input table is in a format of 1234567890, Entity Resolution will normalize this field + * in the output to (123)-456-7890.

+ * @public + */ + applyNormalization?: boolean; } /** @@ -1157,6 +1651,12 @@ export interface GetMatchIdOutput { * @public */ matchId?: string; + + /** + *

The rule the record matched on.

+ * @public + */ + matchRule?: string; } /** @@ -1207,6 +1707,34 @@ export interface JobMetrics { matchIDs?: number; } +/** + *

An object containing KMSArn, OutputS3Path, and + * RoleArn.

+ * @public + */ +export interface JobOutputSource { + /** + *

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes + * this role to access Amazon Web Services resources on your behalf as part of workflow + * execution.

+ * @public + */ + roleArn: string | undefined; + + /** + *

The S3 path to which Entity Resolution will write the output table.

+ * @public + */ + outputS3Path: string | undefined; + + /** + *

Customer KMS ARN for encryption at rest. If not provided, system will use + * an Entity Resolution managed KMS key.

+ * @public + */ + KMSArn?: string; +} + /** * @public */ @@ -1247,6 +1775,12 @@ export interface GetMatchingJobOutput { * @public */ errorDetails?: ErrorDetails; + + /** + *

A list of OutputSource objects.

+ * @public + */ + outputSourceConfig?: JobOutputSource[]; } /** @@ -1271,88 +1805,171 @@ export interface GetMatchingWorkflowOutput { workflowName: string | undefined; /** - *

The ARN (Amazon Resource Name) that Entity Resolution generated for the - * MatchingWorkflow.

+ *

The ARN (Amazon Resource Name) that Entity Resolution generated for the + * MatchingWorkflow.

+ * @public + */ + workflowArn: string | undefined; + + /** + *

A description of the workflow.

+ * @public + */ + description?: string; + + /** + *

A list of InputSource objects, which have the fields + * InputSourceARN and SchemaName.

+ * @public + */ + inputSourceConfig: InputSource[] | undefined; + + /** + *

A list of OutputSource objects, each of which contains fields + * OutputS3Path, ApplyNormalization, and + * Output.

+ * @public + */ + outputSourceConfig: OutputSource[] | undefined; + + /** + *

An object which defines the resolutionType and the + * ruleBasedProperties.

+ * @public + */ + resolutionTechniques: ResolutionTechniques | undefined; + + /** + *

The timestamp of when the workflow was created.

+ * @public + */ + createdAt: Date | undefined; + + /** + *

The timestamp of when the workflow was last updated.

+ * @public + */ + updatedAt: Date | undefined; + + /** + *

An object which defines an incremental run type and has only + * incrementalRunType as a field.

+ * @public + */ + incrementalRunConfig?: IncrementalRunConfig; + + /** + *

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes + * this role to access Amazon Web Services resources on your behalf.

+ * @public + */ + roleArn: string | undefined; + + /** + *

The tags used to organize, track, or control access for this resource.

+ * @public + */ + tags?: Record; +} + +/** + * @public + */ +export interface GetPolicyInput { + /** + *

The Amazon Resource Name (ARN) of the resource for which the policy need to be + * returned.

* @public */ - workflowArn: string | undefined; + arn: string | undefined; +} +/** + * @public + */ +export interface GetPolicyOutput { /** - *

A description of the workflow.

+ *

The Entity Resolution resource ARN.

* @public */ - description?: string; + arn: string | undefined; /** - *

A list of InputSource objects, which have the fields - * InputSourceARN and SchemaName.

+ *

A unique identifier for the current revision of the policy.

* @public */ - inputSourceConfig: InputSource[] | undefined; + token: string | undefined; /** - *

A list of OutputSource objects, each of which contains fields - * OutputS3Path, ApplyNormalization, and - * Output.

+ *

The resource-based policy.

* @public */ - outputSourceConfig: OutputSource[] | undefined; + policy?: string; +} +/** + * @public + */ +export interface GetProviderServiceInput { /** - *

An object which defines the resolutionType and the - * ruleBasedProperties.

+ *

The name of the provider. This name is typically the company name.

* @public */ - resolutionTechniques: ResolutionTechniques | undefined; + providerName: string | undefined; /** - *

The timestamp of when the workflow was created.

+ *

The ARN (Amazon Resource Name) of the product that the provider service provides.

* @public */ - createdAt: Date | undefined; + providerServiceName: string | undefined; +} +/** + *

The provider schema attribute.

+ * @public + */ +export interface ProviderSchemaAttribute { /** - *

The timestamp of when the workflow was last updated.

+ *

The field name.

* @public */ - updatedAt: Date | undefined; + fieldName: string | undefined; /** - *

An object which defines an incremental run type and has only - * incrementalRunType as a field.

+ *

The type of the provider schema attribute.

* @public */ - incrementalRunConfig?: IncrementalRunConfig; + type: SchemaAttributeType | undefined; /** - *

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes - * this role to access resources on your behalf.

+ *

The sub type of the provider schema attribute.

* @public */ - roleArn: string | undefined; + subType?: string; /** - *

The tags used to organize, track, or control access for this resource.

+ *

The hashing attribute of the provider schema.

* @public */ - tags?: Record; + hashing?: boolean; } /** + *

The input schema supported by provider service.

* @public */ -export interface GetProviderServiceInput { +export interface ProviderComponentSchema { /** - *

The name of the provider. This name is typically the company name.

+ *

Input schema for the provider service.

* @public */ - providerName: string | undefined; + schemas?: string[][]; /** - *

The ARN (Amazon Resource Name) of the product that the provider service provides.

+ *

The provider schema attributes.

* @public */ - providerServiceName: string | undefined; + providerSchemaAttributes?: ProviderSchemaAttribute[]; } /** @@ -1426,6 +2043,30 @@ export namespace ProviderEndpointConfiguration { }; } +/** + *

The provider configuration required for different ID namespace types.

+ * @public + */ +export interface ProviderIdNameSpaceConfiguration { + /** + *

The description of the ID namespace.

+ * @public + */ + description?: string; + + /** + *

Configurations required for the target ID namespace.

+ * @public + */ + providerTargetConfigurationDefinition?: __DocumentType; + + /** + *

Configurations required for the source ID namespace.

+ * @public + */ + providerSourceConfigurationDefinition?: __DocumentType; +} + /** *

The required configuration fields to give intermediate access to a provider * service.

@@ -1433,10 +2074,8 @@ export namespace ProviderEndpointConfiguration { */ export interface ProviderIntermediateDataAccessConfiguration { /** - *

The Amazon Web Services account - * that - * provider can use to read or write data into the customer's intermediate S3 - * bucket.

+ *

The Amazon Web Services account that provider can use to read or write data into the + * customer's intermediate S3 bucket.

* @public */ awsAccountIds?: string[]; @@ -1503,6 +2142,18 @@ export interface GetProviderServiceOutput { */ providerConfigurationDefinition?: __DocumentType; + /** + *

The provider configuration required for different ID namespace types.

+ * @public + */ + providerIdNameSpaceConfiguration?: ProviderIdNameSpaceConfiguration; + + /** + *

Provider service job configurations.

+ * @public + */ + providerJobConfiguration?: __DocumentType; + /** *

The required configuration fields to use with the provider service.

* @public @@ -1531,6 +2182,12 @@ export interface GetProviderServiceOutput { * @public */ providerIntermediateDataAccessConfiguration?: ProviderIntermediateDataAccessConfiguration; + + /** + *

Input schema for the provider service.

+ * @public + */ + providerComponentSchema?: ProviderComponentSchema; } /** @@ -1738,6 +2395,87 @@ export interface ListIdMappingWorkflowsOutput { nextToken?: string; } +/** + * @public + */ +export interface ListIdNamespacesInput { + /** + *

The pagination token from the previous API call.

+ * @public + */ + nextToken?: string; + + /** + *

The maximum number of IdNamespace objects returned per page.

+ * @public + */ + maxResults?: number; +} + +/** + *

A summary of ID namespaces.

+ * @public + */ +export interface IdNamespaceSummary { + /** + *

The name of the ID namespace.

+ * @public + */ + idNamespaceName: string | undefined; + + /** + *

The Amazon Resource Name (ARN) of the ID namespace.

+ * @public + */ + idNamespaceArn: string | undefined; + + /** + *

The description of the ID namespace.

+ * @public + */ + description?: string; + + /** + *

The type of ID namespace. There are two types: SOURCE and + * TARGET.

+ *

The SOURCE contains configurations for sourceId data that will + * be processed in an ID mapping workflow.

+ *

The TARGET contains a configuration of targetId to which all + * sourceIds will resolve to.

+ * @public + */ + type: IdNamespaceType | undefined; + + /** + *

The timestamp of when the ID namespace was created.

+ * @public + */ + createdAt: Date | undefined; + + /** + *

The timestamp of when the ID namespace was last updated.

+ * @public + */ + updatedAt: Date | undefined; +} + +/** + * @public + */ +export interface ListIdNamespacesOutput { + /** + *

A list of IdNamespaceSummaries objects.

+ * @public + */ + idNamespaceSummaries?: IdNamespaceSummary[]; + + /** + *

The pagination token from the previous API call.

+ * @public + */ + nextToken?: string; +} + /** * @public */ @@ -2030,6 +2768,53 @@ export interface ListTagsForResourceOutput { tags: Record | undefined; } +/** + * @public + */ +export interface PutPolicyInput { + /** + *

The Amazon Resource Name (ARN) of the resource for which the policy needs to be + * updated.

+ * @public + */ + arn: string | undefined; + + /** + *

A unique identifier for the current revision of the policy.

+ * @public + */ + token?: string; + + /** + *

The resource-based policy.

+ * @public + */ + policy: string | undefined; +} + +/** + * @public + */ +export interface PutPolicyOutput { + /** + *

The Entity Resolution resource ARN.

+ * @public + */ + arn: string | undefined; + + /** + *

A unique identifier for the current revision of the policy.

+ * @public + */ + token: string | undefined; + + /** + *

The resource-based policy.

+ * @public + */ + policy?: string; +} + /** * @public */ @@ -2039,6 +2824,12 @@ export interface StartIdMappingJobInput { * @public */ workflowName: string | undefined; + + /** + *

A list of OutputSource objects.

+ * @public + */ + outputSourceConfig?: IdMappingJobOutputSource[]; } /** @@ -2050,6 +2841,12 @@ export interface StartIdMappingJobOutput { * @public */ jobId: string | undefined; + + /** + *

A list of OutputSource objects.

+ * @public + */ + outputSourceConfig?: IdMappingJobOutputSource[]; } /** @@ -2146,7 +2943,7 @@ export interface UpdateIdMappingWorkflowInput { * OutputS3Path and KMSArn.

* @public */ - outputSourceConfig: IdMappingWorkflowOutputSource[] | undefined; + outputSourceConfig?: IdMappingWorkflowOutputSource[]; /** *

An object which defines the idMappingType and the @@ -2157,7 +2954,7 @@ export interface UpdateIdMappingWorkflowInput { /** *

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes - * this role to access resources on your behalf.

+ * this role to access Amazon Web Services resources on your behalf.

* @public */ roleArn: string | undefined; @@ -2175,7 +2972,7 @@ export interface UpdateIdMappingWorkflowOutput { /** *

The Amazon Resource Name (ARN) of the workflow role. Entity Resolution assumes this role - * to access resources on your behalf.

+ * to access Amazon Web Services resources on your behalf.

* @public */ workflowArn: string | undefined; @@ -2198,7 +2995,7 @@ export interface UpdateIdMappingWorkflowOutput { * OutputS3Path and KMSArn.

* @public */ - outputSourceConfig: IdMappingWorkflowOutputSource[] | undefined; + outputSourceConfig?: IdMappingWorkflowOutputSource[]; /** *

An object which defines the idMappingType and the @@ -2209,12 +3006,121 @@ export interface UpdateIdMappingWorkflowOutput { /** *

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes - * this role to access resources on your behalf.

+ * this role to access Amazon Web Services resources on your behalf.

* @public */ roleArn: string | undefined; } +/** + * @public + */ +export interface UpdateIdNamespaceInput { + /** + *

The name of the ID namespace.

+ * @public + */ + idNamespaceName: string | undefined; + + /** + *

The description of the ID namespace.

+ * @public + */ + description?: string; + + /** + *

A list of InputSource objects, which have the fields + * InputSourceARN and SchemaName.

+ * @public + */ + inputSourceConfig?: IdNamespaceInputSource[]; + + /** + *

Determines the properties of IdMappingWorkflow where this + * IdNamespace can be used as a Source or a + * Target.

+ * @public + */ + idMappingWorkflowProperties?: IdNamespaceIdMappingWorkflowProperties[]; + + /** + *

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes + * this role to access the resources defined in this IdNamespace on your behalf + * as part of a workflow run.

+ * @public + */ + roleArn?: string; +} + +/** + * @public + */ +export interface UpdateIdNamespaceOutput { + /** + *

The name of the ID namespace.

+ * @public + */ + idNamespaceName: string | undefined; + + /** + *

The Amazon Resource Name (ARN) of the ID namespace.

+ * @public + */ + idNamespaceArn: string | undefined; + + /** + *

The description of the ID namespace.

+ * @public + */ + description?: string; + + /** + *

A list of InputSource objects, which have the fields + * InputSourceARN and SchemaName.

+ * @public + */ + inputSourceConfig?: IdNamespaceInputSource[]; + + /** + *

Determines the properties of IdMappingWorkflow where this + * IdNamespace can be used as a Source or a + * Target.

+ * @public + */ + idMappingWorkflowProperties?: IdNamespaceIdMappingWorkflowProperties[]; + + /** + *

The type of ID namespace. There are two types: SOURCE and + * TARGET.

+ *

The SOURCE contains configurations for sourceId data that will + * be processed in an ID mapping workflow.

+ *

The TARGET contains a configuration of targetId to which all + * sourceIds will resolve to.

+ * @public + */ + type: IdNamespaceType | undefined; + + /** + *

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes + * this role to access the resources defined in this IdNamespace on your behalf + * as part of a workflow run.

+ * @public + */ + roleArn?: string; + + /** + *

The timestamp of when the ID namespace was created.

+ * @public + */ + createdAt: Date | undefined; + + /** + *

The timestamp of when the ID namespace was last updated.

+ * @public + */ + updatedAt: Date | undefined; +} + /** * @public */ diff --git a/clients/client-entityresolution/src/pagination/ListIdNamespacesPaginator.ts b/clients/client-entityresolution/src/pagination/ListIdNamespacesPaginator.ts new file mode 100644 index 000000000000..ad5692fd8109 --- /dev/null +++ b/clients/client-entityresolution/src/pagination/ListIdNamespacesPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListIdNamespacesCommand, + ListIdNamespacesCommandInput, + ListIdNamespacesCommandOutput, +} from "../commands/ListIdNamespacesCommand"; +import { EntityResolutionClient } from "../EntityResolutionClient"; +import { EntityResolutionPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListIdNamespaces: ( + config: EntityResolutionPaginationConfiguration, + input: ListIdNamespacesCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + EntityResolutionPaginationConfiguration, + ListIdNamespacesCommandInput, + ListIdNamespacesCommandOutput +>(EntityResolutionClient, ListIdNamespacesCommand, "nextToken", "nextToken", "maxResults"); diff --git a/clients/client-entityresolution/src/pagination/index.ts b/clients/client-entityresolution/src/pagination/index.ts index 08385bd24e6e..9445745db68f 100644 --- a/clients/client-entityresolution/src/pagination/index.ts +++ b/clients/client-entityresolution/src/pagination/index.ts @@ -2,6 +2,7 @@ export * from "./Interfaces"; export * from "./ListIdMappingJobsPaginator"; export * from "./ListIdMappingWorkflowsPaginator"; +export * from "./ListIdNamespacesPaginator"; export * from "./ListMatchingJobsPaginator"; export * from "./ListMatchingWorkflowsPaginator"; export * from "./ListProviderServicesPaginator"; diff --git a/clients/client-entityresolution/src/protocols/Aws_restJson1.ts b/clients/client-entityresolution/src/protocols/Aws_restJson1.ts index 8e6f5a9eca72..a8ab76af35c5 100644 --- a/clients/client-entityresolution/src/protocols/Aws_restJson1.ts +++ b/clients/client-entityresolution/src/protocols/Aws_restJson1.ts @@ -31,10 +31,12 @@ import { SerdeContext as __SerdeContext, } from "@smithy/types"; +import { AddPolicyStatementCommandInput, AddPolicyStatementCommandOutput } from "../commands/AddPolicyStatementCommand"; import { CreateIdMappingWorkflowCommandInput, CreateIdMappingWorkflowCommandOutput, } from "../commands/CreateIdMappingWorkflowCommand"; +import { CreateIdNamespaceCommandInput, CreateIdNamespaceCommandOutput } from "../commands/CreateIdNamespaceCommand"; import { CreateMatchingWorkflowCommandInput, CreateMatchingWorkflowCommandOutput, @@ -47,10 +49,15 @@ import { DeleteIdMappingWorkflowCommandInput, DeleteIdMappingWorkflowCommandOutput, } from "../commands/DeleteIdMappingWorkflowCommand"; +import { DeleteIdNamespaceCommandInput, DeleteIdNamespaceCommandOutput } from "../commands/DeleteIdNamespaceCommand"; import { DeleteMatchingWorkflowCommandInput, DeleteMatchingWorkflowCommandOutput, } from "../commands/DeleteMatchingWorkflowCommand"; +import { + DeletePolicyStatementCommandInput, + DeletePolicyStatementCommandOutput, +} from "../commands/DeletePolicyStatementCommand"; import { DeleteSchemaMappingCommandInput, DeleteSchemaMappingCommandOutput, @@ -60,12 +67,14 @@ import { GetIdMappingWorkflowCommandInput, GetIdMappingWorkflowCommandOutput, } from "../commands/GetIdMappingWorkflowCommand"; +import { GetIdNamespaceCommandInput, GetIdNamespaceCommandOutput } from "../commands/GetIdNamespaceCommand"; import { GetMatchIdCommandInput, GetMatchIdCommandOutput } from "../commands/GetMatchIdCommand"; import { GetMatchingJobCommandInput, GetMatchingJobCommandOutput } from "../commands/GetMatchingJobCommand"; import { GetMatchingWorkflowCommandInput, GetMatchingWorkflowCommandOutput, } from "../commands/GetMatchingWorkflowCommand"; +import { GetPolicyCommandInput, GetPolicyCommandOutput } from "../commands/GetPolicyCommand"; import { GetProviderServiceCommandInput, GetProviderServiceCommandOutput } from "../commands/GetProviderServiceCommand"; import { GetSchemaMappingCommandInput, GetSchemaMappingCommandOutput } from "../commands/GetSchemaMappingCommand"; import { ListIdMappingJobsCommandInput, ListIdMappingJobsCommandOutput } from "../commands/ListIdMappingJobsCommand"; @@ -73,6 +82,7 @@ import { ListIdMappingWorkflowsCommandInput, ListIdMappingWorkflowsCommandOutput, } from "../commands/ListIdMappingWorkflowsCommand"; +import { ListIdNamespacesCommandInput, ListIdNamespacesCommandOutput } from "../commands/ListIdNamespacesCommand"; import { ListMatchingJobsCommandInput, ListMatchingJobsCommandOutput } from "../commands/ListMatchingJobsCommand"; import { ListMatchingWorkflowsCommandInput, @@ -87,6 +97,7 @@ import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "../commands/ListTagsForResourceCommand"; +import { PutPolicyCommandInput, PutPolicyCommandOutput } from "../commands/PutPolicyCommand"; import { StartIdMappingJobCommandInput, StartIdMappingJobCommandOutput } from "../commands/StartIdMappingJobCommand"; import { StartMatchingJobCommandInput, StartMatchingJobCommandOutput } from "../commands/StartMatchingJobCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; @@ -95,6 +106,7 @@ import { UpdateIdMappingWorkflowCommandInput, UpdateIdMappingWorkflowCommandOutput, } from "../commands/UpdateIdMappingWorkflowCommand"; +import { UpdateIdNamespaceCommandInput, UpdateIdNamespaceCommandOutput } from "../commands/UpdateIdNamespaceCommand"; import { UpdateMatchingWorkflowCommandInput, UpdateMatchingWorkflowCommandOutput, @@ -108,18 +120,24 @@ import { AccessDeniedException, ConflictException, ExceedsLimitException, + IdMappingJobOutputSource, IdMappingTechniques, IdMappingWorkflowInputSource, IdMappingWorkflowOutputSource, IdMappingWorkflowSummary, + IdNamespaceIdMappingWorkflowProperties, + IdNamespaceInputSource, + IdNamespaceSummary, IncrementalRunConfig, InputSource, IntermediateSourceConfiguration, InternalServerException, JobSummary, MatchingWorkflowSummary, + NamespaceProviderProperties, OutputAttribute, OutputSource, + ProviderIdNameSpaceConfiguration, ProviderProperties, ResolutionTechniques, ResourceNotFoundException, @@ -131,6 +149,33 @@ import { ValidationException, } from "../models/models_0"; +/** + * serializeAws_restJson1AddPolicyStatementCommand + */ +export const se_AddPolicyStatementCommand = async ( + input: AddPolicyStatementCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/policies/{arn}/{statementId}"); + b.p("arn", () => input.arn!, "{arn}", false); + b.p("statementId", () => input.statementId!, "{statementId}", false); + let body: any; + body = JSON.stringify( + take(input, { + action: (_) => _json(_), + condition: [], + effect: [], + principal: (_) => _json(_), + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1CreateIdMappingWorkflowCommand */ @@ -159,6 +204,34 @@ export const se_CreateIdMappingWorkflowCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1CreateIdNamespaceCommand + */ +export const se_CreateIdNamespaceCommand = async ( + input: CreateIdNamespaceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/idnamespaces"); + let body: any; + body = JSON.stringify( + take(input, { + description: [], + idMappingWorkflowProperties: (_) => se_IdNamespaceIdMappingWorkflowPropertiesList(_, context), + idNamespaceName: [], + inputSourceConfig: (_) => _json(_), + roleArn: [], + tags: (_) => _json(_), + type: [], + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1CreateMatchingWorkflowCommand */ @@ -229,6 +302,22 @@ export const se_DeleteIdMappingWorkflowCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1DeleteIdNamespaceCommand + */ +export const se_DeleteIdNamespaceCommand = async ( + input: DeleteIdNamespaceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/idnamespaces/{idNamespaceName}"); + b.p("idNamespaceName", () => input.idNamespaceName!, "{idNamespaceName}", false); + let body: any; + b.m("DELETE").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1DeleteMatchingWorkflowCommand */ @@ -245,6 +334,23 @@ export const se_DeleteMatchingWorkflowCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1DeletePolicyStatementCommand + */ +export const se_DeletePolicyStatementCommand = async ( + input: DeletePolicyStatementCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/policies/{arn}/{statementId}"); + b.p("arn", () => input.arn!, "{arn}", false); + b.p("statementId", () => input.statementId!, "{statementId}", false); + let body: any; + b.m("DELETE").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1DeleteSchemaMappingCommand */ @@ -294,6 +400,22 @@ export const se_GetIdMappingWorkflowCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1GetIdNamespaceCommand + */ +export const se_GetIdNamespaceCommand = async ( + input: GetIdNamespaceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/idnamespaces/{idNamespaceName}"); + b.p("idNamespaceName", () => input.idNamespaceName!, "{idNamespaceName}", false); + let body: any; + b.m("GET").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1GetMatchIdCommand */ @@ -310,6 +432,7 @@ export const se_GetMatchIdCommand = async ( let body: any; body = JSON.stringify( take(input, { + applyNormalization: [], record: (_) => _json(_), }) ); @@ -350,6 +473,22 @@ export const se_GetMatchingWorkflowCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1GetPolicyCommand + */ +export const se_GetPolicyCommand = async ( + input: GetPolicyCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/policies/{arn}"); + b.p("arn", () => input.arn!, "{arn}", false); + let body: any; + b.m("GET").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1GetProviderServiceCommand */ @@ -422,6 +561,25 @@ export const se_ListIdMappingWorkflowsCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1ListIdNamespacesCommand + */ +export const se_ListIdNamespacesCommand = async ( + input: ListIdNamespacesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/idnamespaces"); + const query: any = map({ + [_nT]: [, input[_nT]!], + [_mR]: [() => input.maxResults !== void 0, () => input[_mR]!.toString()], + }); + let body: any; + b.m("GET").h(headers).q(query).b(body); + return b.build(); +}; + /** * serializeAws_restJson1ListMatchingJobsCommand */ @@ -516,6 +674,30 @@ export const se_ListTagsForResourceCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1PutPolicyCommand + */ +export const se_PutPolicyCommand = async ( + input: PutPolicyCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/policies/{arn}"); + b.p("arn", () => input.arn!, "{arn}", false); + let body: any; + body = JSON.stringify( + take(input, { + policy: [], + token: [], + }) + ); + b.m("PUT").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1StartIdMappingJobCommand */ @@ -524,10 +706,17 @@ export const se_StartIdMappingJobCommand = async ( context: __SerdeContext ): Promise<__HttpRequest> => { const b = rb(input, context); - const headers: any = {}; + const headers: any = { + "content-type": "application/json", + }; b.bp("/idmappingworkflows/{workflowName}/jobs"); b.p("workflowName", () => input.workflowName!, "{workflowName}", false); let body: any; + body = JSON.stringify( + take(input, { + outputSourceConfig: (_) => _json(_), + }) + ); b.m("POST").h(headers).b(body); return b.build(); }; @@ -620,6 +809,32 @@ export const se_UpdateIdMappingWorkflowCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1UpdateIdNamespaceCommand + */ +export const se_UpdateIdNamespaceCommand = async ( + input: UpdateIdNamespaceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/idnamespaces/{idNamespaceName}"); + b.p("idNamespaceName", () => input.idNamespaceName!, "{idNamespaceName}", false); + let body: any; + body = JSON.stringify( + take(input, { + description: [], + idMappingWorkflowProperties: (_) => se_IdNamespaceIdMappingWorkflowPropertiesList(_, context), + inputSourceConfig: (_) => _json(_), + roleArn: [], + }) + ); + b.m("PUT").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1UpdateMatchingWorkflowCommand */ @@ -672,6 +887,29 @@ export const se_UpdateSchemaMappingCommand = async ( return b.build(); }; +/** + * deserializeAws_restJson1AddPolicyStatementCommand + */ +export const de_AddPolicyStatementCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + arn: __expectString, + policy: __expectString, + token: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1CreateIdMappingWorkflowCommand */ @@ -699,6 +937,36 @@ export const de_CreateIdMappingWorkflowCommand = async ( return contents; }; +/** + * deserializeAws_restJson1CreateIdNamespaceCommand + */ +export const de_CreateIdNamespaceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + createdAt: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + description: __expectString, + idMappingWorkflowProperties: (_) => de_IdNamespaceIdMappingWorkflowPropertiesList(_, context), + idNamespaceArn: __expectString, + idNamespaceName: __expectString, + inputSourceConfig: _json, + roleArn: __expectString, + tags: _json, + type: __expectString, + updatedAt: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1CreateMatchingWorkflowCommand */ @@ -772,6 +1040,27 @@ export const de_DeleteIdMappingWorkflowCommand = async ( return contents; }; +/** + * deserializeAws_restJson1DeleteIdNamespaceCommand + */ +export const de_DeleteIdNamespaceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + message: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1DeleteMatchingWorkflowCommand */ @@ -793,6 +1082,29 @@ export const de_DeleteMatchingWorkflowCommand = async ( return contents; }; +/** + * deserializeAws_restJson1DeletePolicyStatementCommand + */ +export const de_DeletePolicyStatementCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + arn: __expectString, + policy: __expectString, + token: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1DeleteSchemaMappingCommand */ @@ -833,6 +1145,7 @@ export const de_GetIdMappingJobCommand = async ( errorDetails: _json, jobId: __expectString, metrics: _json, + outputSourceConfig: _json, startTime: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), status: __expectString, }); @@ -870,6 +1183,36 @@ export const de_GetIdMappingWorkflowCommand = async ( return contents; }; +/** + * deserializeAws_restJson1GetIdNamespaceCommand + */ +export const de_GetIdNamespaceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + createdAt: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + description: __expectString, + idMappingWorkflowProperties: (_) => de_IdNamespaceIdMappingWorkflowPropertiesList(_, context), + idNamespaceArn: __expectString, + idNamespaceName: __expectString, + inputSourceConfig: _json, + roleArn: __expectString, + tags: _json, + type: __expectString, + updatedAt: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1GetMatchIdCommand */ @@ -886,6 +1229,7 @@ export const de_GetMatchIdCommand = async ( const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); const doc = take(data, { matchId: __expectString, + matchRule: __expectString, }); Object.assign(contents, doc); return contents; @@ -910,6 +1254,7 @@ export const de_GetMatchingJobCommand = async ( errorDetails: _json, jobId: __expectString, metrics: _json, + outputSourceConfig: _json, startTime: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), status: __expectString, }); @@ -948,6 +1293,29 @@ export const de_GetMatchingWorkflowCommand = async ( return contents; }; +/** + * deserializeAws_restJson1GetPolicyCommand + */ +export const de_GetPolicyCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + arn: __expectString, + policy: __expectString, + token: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1GetProviderServiceCommand */ @@ -964,10 +1332,13 @@ export const de_GetProviderServiceCommand = async ( const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); const doc = take(data, { anonymizedOutput: __expectBoolean, + providerComponentSchema: _json, providerConfigurationDefinition: (_) => de_Document(_, context), providerEndpointConfiguration: (_) => _json(__expectUnion(_)), providerEntityOutputDefinition: (_) => de_Document(_, context), + providerIdNameSpaceConfiguration: (_) => de_ProviderIdNameSpaceConfiguration(_, context), providerIntermediateDataAccessConfiguration: _json, + providerJobConfiguration: (_) => de_Document(_, context), providerName: __expectString, providerServiceArn: __expectString, providerServiceDisplayName: __expectString, @@ -1050,6 +1421,28 @@ export const de_ListIdMappingWorkflowsCommand = async ( return contents; }; +/** + * deserializeAws_restJson1ListIdNamespacesCommand + */ +export const de_ListIdNamespacesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + idNamespaceSummaries: (_) => de_IdNamespaceList(_, context), + nextToken: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1ListMatchingJobsCommand */ @@ -1159,6 +1552,29 @@ export const de_ListTagsForResourceCommand = async ( return contents; }; +/** + * deserializeAws_restJson1PutPolicyCommand + */ +export const de_PutPolicyCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + arn: __expectString, + policy: __expectString, + token: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1StartIdMappingJobCommand */ @@ -1175,6 +1591,7 @@ export const de_StartIdMappingJobCommand = async ( const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); const doc = take(data, { jobId: __expectString, + outputSourceConfig: _json, }); Object.assign(contents, doc); return contents; @@ -1262,6 +1679,35 @@ export const de_UpdateIdMappingWorkflowCommand = async ( return contents; }; +/** + * deserializeAws_restJson1UpdateIdNamespaceCommand + */ +export const de_UpdateIdNamespaceCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + createdAt: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + description: __expectString, + idMappingWorkflowProperties: (_) => de_IdNamespaceIdMappingWorkflowPropertiesList(_, context), + idNamespaceArn: __expectString, + idNamespaceName: __expectString, + inputSourceConfig: _json, + roleArn: __expectString, + type: __expectString, + updatedAt: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1UpdateMatchingWorkflowCommand */ @@ -1329,21 +1775,21 @@ const de_CommandError = async (output: __HttpResponse, context: __SerdeContext): case "ConflictException": case "com.amazonaws.entityresolution#ConflictException": throw await de_ConflictExceptionRes(parsedOutput, context); - case "ExceedsLimitException": - case "com.amazonaws.entityresolution#ExceedsLimitException": - throw await de_ExceedsLimitExceptionRes(parsedOutput, context); case "InternalServerException": case "com.amazonaws.entityresolution#InternalServerException": throw await de_InternalServerExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.entityresolution#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); case "ThrottlingException": case "com.amazonaws.entityresolution#ThrottlingException": throw await de_ThrottlingExceptionRes(parsedOutput, context); case "ValidationException": case "com.amazonaws.entityresolution#ValidationException": throw await de_ValidationExceptionRes(parsedOutput, context); - case "ResourceNotFoundException": - case "com.amazonaws.entityresolution#ResourceNotFoundException": - throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ExceedsLimitException": + case "com.amazonaws.entityresolution#ExceedsLimitException": + throw await de_ExceedsLimitExceptionRes(parsedOutput, context); default: const parsedBody = parsedOutput.body; return throwDefaultError({ @@ -1488,6 +1934,10 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont return __decorateServiceException(exception, parsedOutput.body); }; +// se_IdMappingJobOutputSource omitted. + +// se_IdMappingJobOutputSourceConfig omitted. + /** * serializeAws_restJson1IdMappingTechniques */ @@ -1506,6 +1956,37 @@ const se_IdMappingTechniques = (input: IdMappingTechniques, context: __SerdeCont // se_IdMappingWorkflowOutputSourceConfig omitted. +/** + * serializeAws_restJson1IdNamespaceIdMappingWorkflowProperties + */ +const se_IdNamespaceIdMappingWorkflowProperties = ( + input: IdNamespaceIdMappingWorkflowProperties, + context: __SerdeContext +): any => { + return take(input, { + idMappingType: [], + providerProperties: (_) => se_NamespaceProviderProperties(_, context), + }); +}; + +/** + * serializeAws_restJson1IdNamespaceIdMappingWorkflowPropertiesList + */ +const se_IdNamespaceIdMappingWorkflowPropertiesList = ( + input: IdNamespaceIdMappingWorkflowProperties[], + context: __SerdeContext +): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + return se_IdNamespaceIdMappingWorkflowProperties(entry, context); + }); +}; + +// se_IdNamespaceInputSource omitted. + +// se_IdNamespaceInputSourceConfig omitted. + // se_IncrementalRunConfig omitted. // se_InputSource omitted. @@ -1516,6 +1997,16 @@ const se_IdMappingTechniques = (input: IdMappingTechniques, context: __SerdeCont // se_MatchingKeys omitted. +/** + * serializeAws_restJson1NamespaceProviderProperties + */ +const se_NamespaceProviderProperties = (input: NamespaceProviderProperties, context: __SerdeContext): any => { + return take(input, { + providerConfiguration: (_) => se_Document(_, context), + providerServiceArn: [], + }); +}; + // se_OutputAttribute omitted. // se_OutputAttributes omitted. @@ -1558,6 +2049,10 @@ const se_ResolutionTechniques = (input: ResolutionTechniques, context: __SerdeCo // se_SchemaInputAttributes omitted. +// se_StatementActionList omitted. + +// se_StatementPrincipalList omitted. + // se_TagMap omitted. /** @@ -1573,6 +2068,10 @@ const se_Document = (input: __DocumentType, context: __SerdeContext): any => { // de_IdMappingJobMetrics omitted. +// de_IdMappingJobOutputSource omitted. + +// de_IdMappingJobOutputSourceConfig omitted. + /** * deserializeAws_restJson1IdMappingTechniques */ @@ -1615,6 +2114,64 @@ const de_IdMappingWorkflowSummary = (output: any, context: __SerdeContext): IdMa }) as any; }; +/** + * deserializeAws_restJson1IdNamespaceIdMappingWorkflowProperties + */ +const de_IdNamespaceIdMappingWorkflowProperties = ( + output: any, + context: __SerdeContext +): IdNamespaceIdMappingWorkflowProperties => { + return take(output, { + idMappingType: __expectString, + providerProperties: (_: any) => de_NamespaceProviderProperties(_, context), + }) as any; +}; + +/** + * deserializeAws_restJson1IdNamespaceIdMappingWorkflowPropertiesList + */ +const de_IdNamespaceIdMappingWorkflowPropertiesList = ( + output: any, + context: __SerdeContext +): IdNamespaceIdMappingWorkflowProperties[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_IdNamespaceIdMappingWorkflowProperties(entry, context); + }); + return retVal; +}; + +// de_IdNamespaceInputSource omitted. + +// de_IdNamespaceInputSourceConfig omitted. + +/** + * deserializeAws_restJson1IdNamespaceList + */ +const de_IdNamespaceList = (output: any, context: __SerdeContext): IdNamespaceSummary[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_IdNamespaceSummary(entry, context); + }); + return retVal; +}; + +/** + * deserializeAws_restJson1IdNamespaceSummary + */ +const de_IdNamespaceSummary = (output: any, context: __SerdeContext): IdNamespaceSummary => { + return take(output, { + createdAt: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + description: __expectString, + idNamespaceArn: __expectString, + idNamespaceName: __expectString, + type: __expectString, + updatedAt: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + }) as any; +}; + // de_IncrementalRunConfig omitted. // de_InputSource omitted. @@ -1637,6 +2194,10 @@ const de_JobList = (output: any, context: __SerdeContext): JobSummary[] => { // de_JobMetrics omitted. +// de_JobOutputSource omitted. + +// de_JobOutputSourceConfig omitted. + /** * deserializeAws_restJson1JobSummary */ @@ -1676,6 +2237,16 @@ const de_MatchingWorkflowSummary = (output: any, context: __SerdeContext): Match }) as any; }; +/** + * deserializeAws_restJson1NamespaceProviderProperties + */ +const de_NamespaceProviderProperties = (output: any, context: __SerdeContext): NamespaceProviderProperties => { + return take(output, { + providerConfiguration: (_: any) => de_Document(_, context), + providerServiceArn: __expectString, + }) as any; +}; + // de_OutputAttribute omitted. // de_OutputAttributes omitted. @@ -1684,8 +2255,24 @@ const de_MatchingWorkflowSummary = (output: any, context: __SerdeContext): Match // de_OutputSourceConfig omitted. +// de_ProviderComponentSchema omitted. + // de_ProviderEndpointConfiguration omitted. +/** + * deserializeAws_restJson1ProviderIdNameSpaceConfiguration + */ +const de_ProviderIdNameSpaceConfiguration = ( + output: any, + context: __SerdeContext +): ProviderIdNameSpaceConfiguration => { + return take(output, { + description: __expectString, + providerSourceConfigurationDefinition: (_: any) => de_Document(_, context), + providerTargetConfigurationDefinition: (_: any) => de_Document(_, context), + }) as any; +}; + // de_ProviderIntermediateDataAccessConfiguration omitted. // de_ProviderMarketplaceConfiguration omitted. @@ -1701,6 +2288,10 @@ const de_ProviderProperties = (output: any, context: __SerdeContext): ProviderPr }) as any; }; +// de_ProviderSchemaAttribute omitted. + +// de_ProviderSchemaAttributes omitted. + // de_ProviderServiceList omitted. // de_ProviderServiceSummary omitted. @@ -1728,6 +2319,8 @@ const de_ResolutionTechniques = (output: any, context: __SerdeContext): Resoluti // de_SchemaInputAttributes omitted. +// de_SchemaList omitted. + /** * deserializeAws_restJson1SchemaMappingList */ @@ -1753,6 +2346,8 @@ const de_SchemaMappingSummary = (output: any, context: __SerdeContext): SchemaMa }) as any; }; +// de_Schemas omitted. + // de_TagMap omitted. /** diff --git a/codegen/sdk-codegen/aws-models/entityresolution.json b/codegen/sdk-codegen/aws-models/entityresolution.json index 469be862cccc..ea8036ba3e14 100644 --- a/codegen/sdk-codegen/aws-models/entityresolution.json +++ b/codegen/sdk-codegen/aws-models/entityresolution.json @@ -5,9 +5,15 @@ "type": "service", "version": "2018-05-10", "operations": [ + { + "target": "com.amazonaws.entityresolution#AddPolicyStatement" + }, { "target": "com.amazonaws.entityresolution#CreateIdMappingWorkflow" }, + { + "target": "com.amazonaws.entityresolution#CreateIdNamespace" + }, { "target": "com.amazonaws.entityresolution#CreateMatchingWorkflow" }, @@ -17,9 +23,15 @@ { "target": "com.amazonaws.entityresolution#DeleteIdMappingWorkflow" }, + { + "target": "com.amazonaws.entityresolution#DeleteIdNamespace" + }, { "target": "com.amazonaws.entityresolution#DeleteMatchingWorkflow" }, + { + "target": "com.amazonaws.entityresolution#DeletePolicyStatement" + }, { "target": "com.amazonaws.entityresolution#DeleteSchemaMapping" }, @@ -29,6 +41,9 @@ { "target": "com.amazonaws.entityresolution#GetIdMappingWorkflow" }, + { + "target": "com.amazonaws.entityresolution#GetIdNamespace" + }, { "target": "com.amazonaws.entityresolution#GetMatchId" }, @@ -38,6 +53,9 @@ { "target": "com.amazonaws.entityresolution#GetMatchingWorkflow" }, + { + "target": "com.amazonaws.entityresolution#GetPolicy" + }, { "target": "com.amazonaws.entityresolution#GetProviderService" }, @@ -50,6 +68,9 @@ { "target": "com.amazonaws.entityresolution#ListIdMappingWorkflows" }, + { + "target": "com.amazonaws.entityresolution#ListIdNamespaces" + }, { "target": "com.amazonaws.entityresolution#ListMatchingJobs" }, @@ -65,6 +86,9 @@ { "target": "com.amazonaws.entityresolution#ListTagsForResource" }, + { + "target": "com.amazonaws.entityresolution#PutPolicy" + }, { "target": "com.amazonaws.entityresolution#StartIdMappingJob" }, @@ -80,6 +104,9 @@ { "target": "com.amazonaws.entityresolution#UpdateIdMappingWorkflow" }, + { + "target": "com.amazonaws.entityresolution#UpdateIdNamespace" + }, { "target": "com.amazonaws.entityresolution#UpdateMatchingWorkflow" }, @@ -790,6 +817,123 @@ "smithy.api#httpError": 403 } }, + "com.amazonaws.entityresolution#AddPolicyStatement": { + "type": "operation", + "input": { + "target": "com.amazonaws.entityresolution#AddPolicyStatementInput" + }, + "output": { + "target": "com.amazonaws.entityresolution#AddPolicyStatementOutput" + }, + "errors": [ + { + "target": "com.amazonaws.entityresolution#AccessDeniedException" + }, + { + "target": "com.amazonaws.entityresolution#ConflictException" + }, + { + "target": "com.amazonaws.entityresolution#InternalServerException" + }, + { + "target": "com.amazonaws.entityresolution#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.entityresolution#ThrottlingException" + }, + { + "target": "com.amazonaws.entityresolution#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Adds a policy statement object. To retrieve a list of existing policy statements, use\n the GetPolicy API.

", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/policies/{arn}/{statementId}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.entityresolution#AddPolicyStatementInput": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.entityresolution#VeniceGlobalArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource that will be accessed by the\n principal.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "statementId": { + "target": "com.amazonaws.entityresolution#StatementId", + "traits": { + "smithy.api#documentation": "

A statement identifier that differentiates the statement from others in the same\n policy.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "effect": { + "target": "com.amazonaws.entityresolution#StatementEffect", + "traits": { + "smithy.api#documentation": "

Determines whether the permissions specified in the policy are to be allowed\n (Allow) or denied (Deny).

", + "smithy.api#required": {} + } + }, + "action": { + "target": "com.amazonaws.entityresolution#StatementActionList", + "traits": { + "smithy.api#documentation": "

The action that the principal can use on the resource.

\n

For example, entityresolution:GetIdMappingJob,\n entityresolution:GetMatchingJob.

", + "smithy.api#required": {} + } + }, + "principal": { + "target": "com.amazonaws.entityresolution#StatementPrincipalList", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services service or Amazon Web Services account that can access the\n resource defined as ARN.

", + "smithy.api#required": {} + } + }, + "condition": { + "target": "com.amazonaws.entityresolution#StatementCondition", + "traits": { + "smithy.api#documentation": "

A set of condition keys that you can use in key policies.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.entityresolution#AddPolicyStatementOutput": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.entityresolution#VeniceGlobalArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource that will be accessed by the\n principal.

", + "smithy.api#required": {} + } + }, + "token": { + "target": "com.amazonaws.entityresolution#PolicyToken", + "traits": { + "smithy.api#documentation": "

A unique identifier for the current revision of the policy.

", + "smithy.api#required": {} + } + }, + "policy": { + "target": "com.amazonaws.entityresolution#PolicyDocument", + "traits": { + "smithy.api#documentation": "

The resource-based policy.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.entityresolution#AttributeMatchingModel": { "type": "enum", "members": { @@ -819,7 +963,7 @@ "com.amazonaws.entityresolution#AwsAccountId": { "type": "string", "traits": { - "smithy.api#pattern": "\\d{12}" + "smithy.api#pattern": "^\\d{12}$" } }, "com.amazonaws.entityresolution#AwsAccountIdList": { @@ -904,8 +1048,7 @@ "outputSourceConfig": { "target": "com.amazonaws.entityresolution#IdMappingWorkflowOutputSourceConfig", "traits": { - "smithy.api#documentation": "

A list of IdMappingWorkflowOutputSource objects, each of which contains\n fields OutputS3Path and Output.

", - "smithy.api#required": {} + "smithy.api#documentation": "

A list of IdMappingWorkflowOutputSource objects, each of which contains\n fields OutputS3Path and Output.

" } }, "idMappingTechniques": { @@ -966,8 +1109,7 @@ "outputSourceConfig": { "target": "com.amazonaws.entityresolution#IdMappingWorkflowOutputSourceConfig", "traits": { - "smithy.api#documentation": "

A list of IdMappingWorkflowOutputSource objects, each of which contains\n fields OutputS3Path and Output.

", - "smithy.api#required": {} + "smithy.api#documentation": "

A list of IdMappingWorkflowOutputSource objects, each of which contains\n fields OutputS3Path and Output.

" } }, "idMappingTechniques": { @@ -989,6 +1131,168 @@ "smithy.api#output": {} } }, + "com.amazonaws.entityresolution#CreateIdNamespace": { + "type": "operation", + "input": { + "target": "com.amazonaws.entityresolution#CreateIdNamespaceInput" + }, + "output": { + "target": "com.amazonaws.entityresolution#CreateIdNamespaceOutput" + }, + "errors": [ + { + "target": "com.amazonaws.entityresolution#AccessDeniedException" + }, + { + "target": "com.amazonaws.entityresolution#ConflictException" + }, + { + "target": "com.amazonaws.entityresolution#ExceedsLimitException" + }, + { + "target": "com.amazonaws.entityresolution#InternalServerException" + }, + { + "target": "com.amazonaws.entityresolution#ThrottlingException" + }, + { + "target": "com.amazonaws.entityresolution#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates an ID namespace object which will help customers provide metadata explaining\n their dataset and how to use it. Each ID namespace must have a unique name. To modify an\n existing ID namespace, use the UpdateIdNamespace API.

", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/idnamespaces" + } + } + }, + "com.amazonaws.entityresolution#CreateIdNamespaceInput": { + "type": "structure", + "members": { + "idNamespaceName": { + "target": "com.amazonaws.entityresolution#EntityName", + "traits": { + "smithy.api#documentation": "

The name of the ID namespace.

", + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.entityresolution#Description", + "traits": { + "smithy.api#documentation": "

The description of the ID namespace.

" + } + }, + "inputSourceConfig": { + "target": "com.amazonaws.entityresolution#IdNamespaceInputSourceConfig", + "traits": { + "smithy.api#documentation": "

A list of InputSource objects, which have the fields\n InputSourceARN and SchemaName.

" + } + }, + "idMappingWorkflowProperties": { + "target": "com.amazonaws.entityresolution#IdNamespaceIdMappingWorkflowPropertiesList", + "traits": { + "smithy.api#documentation": "

Determines the properties of IdMappingWorflow where this\n IdNamespace can be used as a Source or a\n Target.

" + } + }, + "type": { + "target": "com.amazonaws.entityresolution#IdNamespaceType", + "traits": { + "smithy.api#documentation": "

The type of ID namespace. There are two types: SOURCE and\n TARGET.

\n

The SOURCE contains configurations for sourceId data that will\n be processed in an ID mapping workflow.

\n

The TARGET contains a configuration of targetId to which all\n sourceIds will resolve to.

", + "smithy.api#required": {} + } + }, + "roleArn": { + "target": "com.amazonaws.entityresolution#RoleArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes\n this role to access the resources defined in this IdNamespace on your behalf\n as part of the workflow run.

" + } + }, + "tags": { + "target": "com.amazonaws.entityresolution#TagMap", + "traits": { + "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.entityresolution#CreateIdNamespaceOutput": { + "type": "structure", + "members": { + "idNamespaceName": { + "target": "com.amazonaws.entityresolution#EntityName", + "traits": { + "smithy.api#documentation": "

The name of the ID namespace.

", + "smithy.api#required": {} + } + }, + "idNamespaceArn": { + "target": "com.amazonaws.entityresolution#IdNamespaceArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the ID namespace.

", + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.entityresolution#Description", + "traits": { + "smithy.api#documentation": "

The description of the ID namespace.

" + } + }, + "inputSourceConfig": { + "target": "com.amazonaws.entityresolution#IdNamespaceInputSourceConfig", + "traits": { + "smithy.api#documentation": "

A list of InputSource objects, which have the fields\n InputSourceARN and SchemaName.

" + } + }, + "idMappingWorkflowProperties": { + "target": "com.amazonaws.entityresolution#IdNamespaceIdMappingWorkflowPropertiesList", + "traits": { + "smithy.api#documentation": "

Determines the properties of IdMappingWorkflow where this\n IdNamespace can be used as a Source or a\n Target.

" + } + }, + "type": { + "target": "com.amazonaws.entityresolution#IdNamespaceType", + "traits": { + "smithy.api#documentation": "

The type of ID namespace. There are two types: SOURCE and\n TARGET.

\n

The SOURCE contains configurations for sourceId data that will\n be processed in an ID mapping workflow.

\n

The TARGET contains a configuration of targetId to which all\n sourceIds will resolve to.

", + "smithy.api#required": {} + } + }, + "roleArn": { + "target": "com.amazonaws.entityresolution#RoleArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes\n this role to access the resources defined in inputSourceConfig on your behalf\n as part of the workflow run.

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

The timestamp of when the ID namespace was created.

", + "smithy.api#required": {} + } + }, + "updatedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the ID namespace was last updated.

", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.entityresolution#TagMap", + "traits": { + "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.entityresolution#CreateMatchingWorkflow": { "type": "operation", "input": { @@ -1268,6 +1572,9 @@ { "target": "com.amazonaws.entityresolution#AccessDeniedException" }, + { + "target": "com.amazonaws.entityresolution#ConflictException" + }, { "target": "com.amazonaws.entityresolution#InternalServerException" }, @@ -1319,13 +1626,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.entityresolution#DeleteMatchingWorkflow": { + "com.amazonaws.entityresolution#DeleteIdNamespace": { "type": "operation", "input": { - "target": "com.amazonaws.entityresolution#DeleteMatchingWorkflowInput" + "target": "com.amazonaws.entityresolution#DeleteIdNamespaceInput" }, "output": { - "target": "com.amazonaws.entityresolution#DeleteMatchingWorkflowOutput" + "target": "com.amazonaws.entityresolution#DeleteIdNamespaceOutput" }, "errors": [ { @@ -1342,22 +1649,22 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the MatchingWorkflow with a given name. This operation will succeed\n even if a workflow with the given name does not exist.

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

Deletes the IdNamespace with a given name.

", "smithy.api#http": { "code": 200, "method": "DELETE", - "uri": "/matchingworkflows/{workflowName}" + "uri": "/idnamespaces/{idNamespaceName}" }, "smithy.api#idempotent": {} } }, - "com.amazonaws.entityresolution#DeleteMatchingWorkflowInput": { + "com.amazonaws.entityresolution#DeleteIdNamespaceInput": { "type": "structure", "members": { - "workflowName": { + "idNamespaceName": { "target": "com.amazonaws.entityresolution#EntityName", "traits": { - "smithy.api#documentation": "

The name of the workflow to be retrieved.

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

The name of the ID namespace.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1367,7 +1674,7 @@ "smithy.api#input": {} } }, - "com.amazonaws.entityresolution#DeleteMatchingWorkflowOutput": { + "com.amazonaws.entityresolution#DeleteIdNamespaceOutput": { "type": "structure", "members": { "message": { @@ -1382,13 +1689,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.entityresolution#DeleteSchemaMapping": { + "com.amazonaws.entityresolution#DeleteMatchingWorkflow": { "type": "operation", "input": { - "target": "com.amazonaws.entityresolution#DeleteSchemaMappingInput" + "target": "com.amazonaws.entityresolution#DeleteMatchingWorkflowInput" }, "output": { - "target": "com.amazonaws.entityresolution#DeleteSchemaMappingOutput" + "target": "com.amazonaws.entityresolution#DeleteMatchingWorkflowOutput" }, "errors": [ { @@ -1408,16 +1715,172 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the SchemaMapping with a given name. This operation will succeed\n even if a schema with the given name does not exist. This operation will fail if there is a\n MatchingWorkflow object that references the SchemaMapping in\n the workflow's InputSourceConfig.

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

Deletes the MatchingWorkflow with a given name. This operation will succeed\n even if a workflow with the given name does not exist.

", "smithy.api#http": { "code": 200, "method": "DELETE", - "uri": "/schemas/{schemaName}" + "uri": "/matchingworkflows/{workflowName}" }, "smithy.api#idempotent": {} } }, - "com.amazonaws.entityresolution#DeleteSchemaMappingInput": { + "com.amazonaws.entityresolution#DeleteMatchingWorkflowInput": { + "type": "structure", + "members": { + "workflowName": { + "target": "com.amazonaws.entityresolution#EntityName", + "traits": { + "smithy.api#documentation": "

The name of the workflow to be retrieved.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.entityresolution#DeleteMatchingWorkflowOutput": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

A successful operation message.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.entityresolution#DeletePolicyStatement": { + "type": "operation", + "input": { + "target": "com.amazonaws.entityresolution#DeletePolicyStatementInput" + }, + "output": { + "target": "com.amazonaws.entityresolution#DeletePolicyStatementOutput" + }, + "errors": [ + { + "target": "com.amazonaws.entityresolution#AccessDeniedException" + }, + { + "target": "com.amazonaws.entityresolution#ConflictException" + }, + { + "target": "com.amazonaws.entityresolution#InternalServerException" + }, + { + "target": "com.amazonaws.entityresolution#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.entityresolution#ThrottlingException" + }, + { + "target": "com.amazonaws.entityresolution#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes the policy statement.

", + "smithy.api#http": { + "code": 200, + "method": "DELETE", + "uri": "/policies/{arn}/{statementId}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.entityresolution#DeletePolicyStatementInput": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.entityresolution#VeniceGlobalArn", + "traits": { + "smithy.api#documentation": "

The ARN of the resource for which the policy need to be deleted.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "statementId": { + "target": "com.amazonaws.entityresolution#StatementId", + "traits": { + "smithy.api#documentation": "

A statement identifier that differentiates the statement from others in the same\n policy.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.entityresolution#DeletePolicyStatementOutput": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.entityresolution#VeniceGlobalArn", + "traits": { + "smithy.api#documentation": "

The ARN of the resource for which the policy need to be deleted.

", + "smithy.api#required": {} + } + }, + "token": { + "target": "com.amazonaws.entityresolution#PolicyToken", + "traits": { + "smithy.api#documentation": "

A unique identifier for the deleted policy.

", + "smithy.api#required": {} + } + }, + "policy": { + "target": "com.amazonaws.entityresolution#PolicyDocument", + "traits": { + "smithy.api#documentation": "

The resource-based policy.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.entityresolution#DeleteSchemaMapping": { + "type": "operation", + "input": { + "target": "com.amazonaws.entityresolution#DeleteSchemaMappingInput" + }, + "output": { + "target": "com.amazonaws.entityresolution#DeleteSchemaMappingOutput" + }, + "errors": [ + { + "target": "com.amazonaws.entityresolution#AccessDeniedException" + }, + { + "target": "com.amazonaws.entityresolution#ConflictException" + }, + { + "target": "com.amazonaws.entityresolution#InternalServerException" + }, + { + "target": "com.amazonaws.entityresolution#ThrottlingException" + }, + { + "target": "com.amazonaws.entityresolution#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes the SchemaMapping with a given name. This operation will succeed\n even if a schema with the given name does not exist. This operation will fail if there is a\n MatchingWorkflow object that references the SchemaMapping in\n the workflow's InputSourceConfig.

", + "smithy.api#http": { + "code": 200, + "method": "DELETE", + "uri": "/schemas/{schemaName}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.entityresolution#DeleteSchemaMappingInput": { "type": "structure", "members": { "schemaName": { @@ -1466,6 +1929,18 @@ "smithy.api#pattern": "^[a-zA-Z_0-9-]*$" } }, + "com.amazonaws.entityresolution#EntityNameOrIdMappingWorkflowArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[a-zA-Z_0-9-=+/]*$|^arn:(aws|aws-us-gov|aws-cn):entityresolution:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(idmappingworkflow/[a-zA-Z_0-9-]{1,255})$" + } + }, + "com.amazonaws.entityresolution#EntityNameOrIdNamespaceArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[a-zA-Z_0-9-=+/]*$|^arn:(aws|aws-us-gov|aws-cn):entityresolution:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(idnamespace/[a-zA-Z_0-9-]{1,255})$" + } + }, "com.amazonaws.entityresolution#ErrorDetails": { "type": "structure", "members": { @@ -1553,7 +2028,7 @@ "type": "structure", "members": { "workflowName": { - "target": "com.amazonaws.entityresolution#EntityName", + "target": "com.amazonaws.entityresolution#EntityNameOrIdMappingWorkflowArn", "traits": { "smithy.api#documentation": "

The name of the workflow.

", "smithy.api#httpLabel": {}, @@ -1611,6 +2086,12 @@ }, "errorDetails": { "target": "com.amazonaws.entityresolution#ErrorDetails" + }, + "outputSourceConfig": { + "target": "com.amazonaws.entityresolution#IdMappingJobOutputSourceConfig", + "traits": { + "smithy.api#documentation": "

A list of OutputSource objects.

" + } } }, "traits": { @@ -1701,8 +2182,7 @@ "outputSourceConfig": { "target": "com.amazonaws.entityresolution#IdMappingWorkflowOutputSourceConfig", "traits": { - "smithy.api#documentation": "

A list of OutputSource objects, each of which contains fields\n OutputS3Path and KMSArn.

", - "smithy.api#required": {} + "smithy.api#documentation": "

A list of OutputSource objects, each of which contains fields\n OutputS3Path and KMSArn.

" } }, "idMappingTechniques": { @@ -1729,7 +2209,7 @@ "roleArn": { "target": "com.amazonaws.entityresolution#RoleArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes\n this role to access resources on your behalf.

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

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes\n this role to access Amazon Web Services resources on your behalf.

", "smithy.api#required": {} } }, @@ -1744,13 +2224,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.entityresolution#GetMatchId": { + "com.amazonaws.entityresolution#GetIdNamespace": { "type": "operation", "input": { - "target": "com.amazonaws.entityresolution#GetMatchIdInput" + "target": "com.amazonaws.entityresolution#GetIdNamespaceInput" }, "output": { - "target": "com.amazonaws.entityresolution#GetMatchIdOutput" + "target": "com.amazonaws.entityresolution#GetIdNamespaceOutput" }, "errors": [ { @@ -1770,45 +2250,97 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the corresponding Match ID of a customer record if the record has been\n processed.

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

Returns the IdNamespace with a given name, if it exists.

", "smithy.api#http": { "code": 200, - "method": "POST", - "uri": "/matchingworkflows/{workflowName}/matches" + "method": "GET", + "uri": "/idnamespaces/{idNamespaceName}" }, "smithy.api#readonly": {} } }, - "com.amazonaws.entityresolution#GetMatchIdInput": { + "com.amazonaws.entityresolution#GetIdNamespaceInput": { "type": "structure", "members": { - "workflowName": { - "target": "com.amazonaws.entityresolution#EntityName", + "idNamespaceName": { + "target": "com.amazonaws.entityresolution#EntityNameOrIdNamespaceArn", "traits": { - "smithy.api#documentation": "

The name of the workflow.

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

The name of the ID namespace.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } - }, - "record": { - "target": "com.amazonaws.entityresolution#RecordAttributeMap", - "traits": { - "smithy.api#documentation": "

The record to fetch the Match ID for.

", - "smithy.api#required": {} - } } }, "traits": { "smithy.api#input": {} } }, - "com.amazonaws.entityresolution#GetMatchIdOutput": { + "com.amazonaws.entityresolution#GetIdNamespaceOutput": { "type": "structure", "members": { - "matchId": { - "target": "smithy.api#String", + "idNamespaceName": { + "target": "com.amazonaws.entityresolution#EntityName", "traits": { - "smithy.api#documentation": "

The unique identifiers for this group of match records.

" + "smithy.api#documentation": "

The name of the ID namespace.

", + "smithy.api#required": {} + } + }, + "idNamespaceArn": { + "target": "com.amazonaws.entityresolution#IdNamespaceArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the ID namespace.

", + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.entityresolution#Description", + "traits": { + "smithy.api#documentation": "

The description of the ID namespace.

" + } + }, + "inputSourceConfig": { + "target": "com.amazonaws.entityresolution#IdNamespaceInputSourceConfig", + "traits": { + "smithy.api#documentation": "

A list of InputSource objects, which have the fields\n InputSourceARN and SchemaName.

" + } + }, + "idMappingWorkflowProperties": { + "target": "com.amazonaws.entityresolution#IdNamespaceIdMappingWorkflowPropertiesList", + "traits": { + "smithy.api#documentation": "

Determines the properties of IdMappingWorkflow where this\n IdNamespace can be used as a Source or a\n Target.

" + } + }, + "type": { + "target": "com.amazonaws.entityresolution#IdNamespaceType", + "traits": { + "smithy.api#documentation": "

The type of ID namespace. There are two types: SOURCE and\n TARGET.

\n

The SOURCE contains configurations for sourceId data that will\n be processed in an ID mapping workflow.

\n

The TARGET contains a configuration of targetId to which all\n sourceIds will resolve to.

", + "smithy.api#required": {} + } + }, + "roleArn": { + "target": "com.amazonaws.entityresolution#RoleArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes\n this role to access the resources defined in this IdNamespace on your behalf\n as part of a workflow run.

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

The timestamp of when the ID namespace was created.

", + "smithy.api#required": {} + } + }, + "updatedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the ID namespace was last updated.

", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.entityresolution#TagMap", + "traits": { + "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" } } }, @@ -1816,13 +2348,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.entityresolution#GetMatchingJob": { + "com.amazonaws.entityresolution#GetMatchId": { "type": "operation", "input": { - "target": "com.amazonaws.entityresolution#GetMatchingJobInput" + "target": "com.amazonaws.entityresolution#GetMatchIdInput" }, "output": { - "target": "com.amazonaws.entityresolution#GetMatchingJobOutput" + "target": "com.amazonaws.entityresolution#GetMatchIdOutput" }, "errors": [ { @@ -1842,16 +2374,16 @@ } ], "traits": { - "smithy.api#documentation": "

Gets the status, metrics, and errors (if there are any) that are associated with a\n job.

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

Returns the corresponding Match ID of a customer record if the record has been\n processed.

", "smithy.api#http": { "code": 200, - "method": "GET", - "uri": "/matchingworkflows/{workflowName}/jobs/{jobId}" + "method": "POST", + "uri": "/matchingworkflows/{workflowName}/matches" }, "smithy.api#readonly": {} } }, - "com.amazonaws.entityresolution#GetMatchingJobInput": { + "com.amazonaws.entityresolution#GetMatchIdInput": { "type": "structure", "members": { "workflowName": { @@ -1862,30 +2394,115 @@ "smithy.api#required": {} } }, - "jobId": { - "target": "com.amazonaws.entityresolution#JobId", + "record": { + "target": "com.amazonaws.entityresolution#RecordAttributeMap", "traits": { - "smithy.api#documentation": "

The ID of the job.

", - "smithy.api#httpLabel": {}, + "smithy.api#documentation": "

The record to fetch the Match ID for.

", "smithy.api#required": {} } + }, + "applyNormalization": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#default": true, + "smithy.api#documentation": "

Normalizes the attributes defined in the schema in the input data. For example, if an\n attribute has an AttributeType of PHONE_NUMBER, and the data in\n the input table is in a format of 1234567890, Entity Resolution will normalize this field\n in the output to (123)-456-7890.

" + } } }, "traits": { "smithy.api#input": {} } }, - "com.amazonaws.entityresolution#GetMatchingJobOutput": { + "com.amazonaws.entityresolution#GetMatchIdOutput": { "type": "structure", "members": { - "jobId": { - "target": "com.amazonaws.entityresolution#JobId", + "matchId": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The ID of the job.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The unique identifiers for this group of match records.

" } }, - "status": { + "matchRule": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The rule the record matched on.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.entityresolution#GetMatchingJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.entityresolution#GetMatchingJobInput" + }, + "output": { + "target": "com.amazonaws.entityresolution#GetMatchingJobOutput" + }, + "errors": [ + { + "target": "com.amazonaws.entityresolution#AccessDeniedException" + }, + { + "target": "com.amazonaws.entityresolution#InternalServerException" + }, + { + "target": "com.amazonaws.entityresolution#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.entityresolution#ThrottlingException" + }, + { + "target": "com.amazonaws.entityresolution#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Gets the status, metrics, and errors (if there are any) that are associated with a\n job.

", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/matchingworkflows/{workflowName}/jobs/{jobId}" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.entityresolution#GetMatchingJobInput": { + "type": "structure", + "members": { + "workflowName": { + "target": "com.amazonaws.entityresolution#EntityName", + "traits": { + "smithy.api#documentation": "

The name of the workflow.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "jobId": { + "target": "com.amazonaws.entityresolution#JobId", + "traits": { + "smithy.api#documentation": "

The ID of the job.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.entityresolution#GetMatchingJobOutput": { + "type": "structure", + "members": { + "jobId": { + "target": "com.amazonaws.entityresolution#JobId", + "traits": { + "smithy.api#documentation": "

The ID of the job.

", + "smithy.api#required": {} + } + }, + "status": { "target": "com.amazonaws.entityresolution#JobStatus", "traits": { "smithy.api#documentation": "

The current status of the job.

", @@ -1916,6 +2533,12 @@ "traits": { "smithy.api#documentation": "

An object containing an error message, if there was an error.

" } + }, + "outputSourceConfig": { + "target": "com.amazonaws.entityresolution#JobOutputSourceConfig", + "traits": { + "smithy.api#documentation": "

A list of OutputSource objects.

" + } } }, "traits": { @@ -2040,7 +2663,7 @@ "roleArn": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes\n this role to access resources on your behalf.

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

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes\n this role to access Amazon Web Services resources on your behalf.

", "smithy.api#required": {} } }, @@ -2055,6 +2678,85 @@ "smithy.api#output": {} } }, + "com.amazonaws.entityresolution#GetPolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.entityresolution#GetPolicyInput" + }, + "output": { + "target": "com.amazonaws.entityresolution#GetPolicyOutput" + }, + "errors": [ + { + "target": "com.amazonaws.entityresolution#AccessDeniedException" + }, + { + "target": "com.amazonaws.entityresolution#InternalServerException" + }, + { + "target": "com.amazonaws.entityresolution#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.entityresolution#ThrottlingException" + }, + { + "target": "com.amazonaws.entityresolution#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns the resource-based policy.

", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/policies/{arn}" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.entityresolution#GetPolicyInput": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.entityresolution#VeniceGlobalArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource for which the policy need to be\n returned.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.entityresolution#GetPolicyOutput": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.entityresolution#VeniceGlobalArn", + "traits": { + "smithy.api#documentation": "

The Entity Resolution resource ARN.

", + "smithy.api#required": {} + } + }, + "token": { + "target": "com.amazonaws.entityresolution#PolicyToken", + "traits": { + "smithy.api#documentation": "

A unique identifier for the current revision of the policy.

", + "smithy.api#required": {} + } + }, + "policy": { + "target": "com.amazonaws.entityresolution#PolicyDocument", + "traits": { + "smithy.api#documentation": "

The resource-based policy.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.entityresolution#GetProviderService": { "type": "operation", "input": { @@ -2158,6 +2860,18 @@ "smithy.api#documentation": "

The definition of the provider configuration.

" } }, + "providerIdNameSpaceConfiguration": { + "target": "com.amazonaws.entityresolution#ProviderIdNameSpaceConfiguration", + "traits": { + "smithy.api#documentation": "

The provider configuration required for different ID namespace types.

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

Provider service job configurations.

" + } + }, "providerEndpointConfiguration": { "target": "com.amazonaws.entityresolution#ProviderEndpointConfiguration", "traits": { @@ -2184,6 +2898,12 @@ "traits": { "smithy.api#documentation": "

The Amazon Web Services accounts and the S3 permissions that are required by some\n providers to create an S3 bucket for intermediate data storage.

" } + }, + "providerComponentSchema": { + "target": "com.amazonaws.entityresolution#ProviderComponentSchema", + "traits": { + "smithy.api#documentation": "

Input schema for the provider service.

" + } } }, "traits": { @@ -2329,6 +3049,46 @@ "smithy.api#documentation": "

An object containing InputRecords, TotalRecordsProcessed,\n MatchIDs, and RecordsNotProcessed.

" } }, + "com.amazonaws.entityresolution#IdMappingJobOutputSource": { + "type": "structure", + "members": { + "roleArn": { + "target": "com.amazonaws.entityresolution#RoleArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes\n this role to access Amazon Web Services resources on your behalf as part of workflow\n execution.

", + "smithy.api#required": {} + } + }, + "outputS3Path": { + "target": "com.amazonaws.entityresolution#S3Path", + "traits": { + "smithy.api#documentation": "

The S3 path to which Entity Resolution will write the output table.

", + "smithy.api#required": {} + } + }, + "KMSArn": { + "target": "com.amazonaws.entityresolution#KMSArn", + "traits": { + "smithy.api#documentation": "

Customer KMS ARN for encryption at rest. If not provided, system will use\n an Entity Resolution managed KMS key.

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

An object containing KMSArn, OutputS3Path, and\n RoleARN.

" + } + }, + "com.amazonaws.entityresolution#IdMappingJobOutputSourceConfig": { + "type": "list", + "member": { + "target": "com.amazonaws.entityresolution#IdMappingJobOutputSource" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, "com.amazonaws.entityresolution#IdMappingTechniques": { "type": "structure", "members": { @@ -2342,8 +3102,7 @@ "providerProperties": { "target": "com.amazonaws.entityresolution#ProviderProperties", "traits": { - "smithy.api#documentation": "

An object which defines any additional configurations required by the provider\n service.

", - "smithy.api#required": {} + "smithy.api#documentation": "

An object which defines any additional configurations required by the provider\n service.

" } } }, @@ -2365,7 +3124,7 @@ "com.amazonaws.entityresolution#IdMappingWorkflowArn": { "type": "string", "traits": { - "smithy.api#pattern": "^arn:(aws|aws-us-gov|aws-cn):entityresolution:.*:[0-9]+:(idmappingworkflow/.*)$" + "smithy.api#pattern": "^arn:(aws|aws-us-gov|aws-cn):entityresolution:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(idmappingworkflow/[a-zA-Z_0-9-]{1,255})$" } }, "com.amazonaws.entityresolution#IdMappingWorkflowInputSource": { @@ -2374,21 +3133,26 @@ "inputSourceARN": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

An Gluetable ARN for the input source table.

", - "smithy.api#pattern": "^arn:aws:.*:.*:[0-9]+:.*$", + "smithy.api#documentation": "

An Glue table ARN for the input source table.

", + "smithy.api#pattern": "^arn:(aws|aws-us-gov|aws-cn):entityresolution:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(idnamespace/[a-zA-Z_0-9-]{1,255})$|^arn:(aws|aws-us-gov|aws-cn):entityresolution:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(matchingworkflow/[a-zA-Z_0-9-]{1,255})$|^arn:(aws|aws-us-gov|aws-cn):glue:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(table/[a-zA-Z_0-9-]{1,255}/[a-zA-Z_0-9-]{1,255})$", "smithy.api#required": {} } }, "schemaName": { "target": "com.amazonaws.entityresolution#EntityName", "traits": { - "smithy.api#documentation": "

The name of the schema to be retrieved.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The name of the schema to be retrieved.

" + } + }, + "type": { + "target": "com.amazonaws.entityresolution#IdNamespaceType", + "traits": { + "smithy.api#documentation": "

The type of ID namespace. There are two types: SOURCE and\n TARGET.

\n

The SOURCE contains configurations for sourceId data that will\n be processed in an ID mapping workflow.

\n

The TARGET contains a configuration of targetId to which all\n sourceIds will resolve to.

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

An object containing InputSourceARN and SchemaName.

" + "smithy.api#documentation": "

An object containing InputSourceARN, SchemaName, and\n Type.

" } }, "com.amazonaws.entityresolution#IdMappingWorkflowInputSourceConfig": { @@ -2478,6 +3242,151 @@ "smithy.api#documentation": "

A list of IdMappingWorkflowSummary objects, each of which contain the\n fields WorkflowName, WorkflowArn, CreatedAt, and\n UpdatedAt.

" } }, + "com.amazonaws.entityresolution#IdNamespaceArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:(aws|aws-us-gov|aws-cn):entityresolution:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(idnamespace/[a-zA-Z_0-9-]{1,255})$" + } + }, + "com.amazonaws.entityresolution#IdNamespaceIdMappingWorkflowProperties": { + "type": "structure", + "members": { + "idMappingType": { + "target": "com.amazonaws.entityresolution#IdMappingType", + "traits": { + "smithy.api#documentation": "

The type of ID mapping.

", + "smithy.api#required": {} + } + }, + "providerProperties": { + "target": "com.amazonaws.entityresolution#NamespaceProviderProperties", + "traits": { + "smithy.api#documentation": "

An object which defines any additional configurations required by the provider\n service.

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

An object containing IdMappingType and\n ProviderProperties.

" + } + }, + "com.amazonaws.entityresolution#IdNamespaceIdMappingWorkflowPropertiesList": { + "type": "list", + "member": { + "target": "com.amazonaws.entityresolution#IdNamespaceIdMappingWorkflowProperties" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, + "com.amazonaws.entityresolution#IdNamespaceInputSource": { + "type": "structure", + "members": { + "inputSourceARN": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

An Glue table ARN for the input source table.

", + "smithy.api#pattern": "^arn:(aws|aws-us-gov|aws-cn):entityresolution:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(idnamespace/[a-zA-Z_0-9-]{1,255})$|^arn:(aws|aws-us-gov|aws-cn):entityresolution:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(matchingworkflow/[a-zA-Z_0-9-]{1,255})$|^arn:(aws|aws-us-gov|aws-cn):glue:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(table/[a-zA-Z_0-9-]{1,255}/[a-zA-Z_0-9-]{1,255})$", + "smithy.api#required": {} + } + }, + "schemaName": { + "target": "com.amazonaws.entityresolution#EntityName", + "traits": { + "smithy.api#documentation": "

The name of the schema.

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

An object containing InputSourceARN and SchemaName.

" + } + }, + "com.amazonaws.entityresolution#IdNamespaceInputSourceConfig": { + "type": "list", + "member": { + "target": "com.amazonaws.entityresolution#IdNamespaceInputSource" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 20 + } + } + }, + "com.amazonaws.entityresolution#IdNamespaceList": { + "type": "list", + "member": { + "target": "com.amazonaws.entityresolution#IdNamespaceSummary" + } + }, + "com.amazonaws.entityresolution#IdNamespaceSummary": { + "type": "structure", + "members": { + "idNamespaceName": { + "target": "com.amazonaws.entityresolution#EntityName", + "traits": { + "smithy.api#documentation": "

The name of the ID namespace.

", + "smithy.api#required": {} + } + }, + "idNamespaceArn": { + "target": "com.amazonaws.entityresolution#IdNamespaceArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the ID namespace.

", + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.entityresolution#Description", + "traits": { + "smithy.api#documentation": "

The description of the ID namespace.

" + } + }, + "type": { + "target": "com.amazonaws.entityresolution#IdNamespaceType", + "traits": { + "smithy.api#documentation": "

The type of ID namespace. There are two types: SOURCE and\n TARGET.

\n

The SOURCE contains configurations for sourceId data that will\n be processed in an ID mapping workflow.

\n

The TARGET contains a configuration of targetId to which all\n sourceIds will resolve to.

", + "smithy.api#required": {} + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the ID namespace was created.

", + "smithy.api#required": {} + } + }, + "updatedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the ID namespace was last updated.

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

A summary of ID namespaces.

" + } + }, + "com.amazonaws.entityresolution#IdNamespaceType": { + "type": "enum", + "members": { + "SOURCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SOURCE" + } + }, + "TARGET": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TARGET" + } + } + } + }, "com.amazonaws.entityresolution#IncrementalRunConfig": { "type": "structure", "members": { @@ -2510,7 +3419,7 @@ "target": "smithy.api#String", "traits": { "smithy.api#documentation": "

An Glue table ARN for the input source table.

", - "smithy.api#pattern": "^arn:aws:.*:.*:[0-9]+:.*$", + "smithy.api#pattern": "^arn:(aws|aws-us-gov|aws-cn):entityresolution:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(idnamespace/[a-zA-Z_0-9-]{1,255})$|^arn:(aws|aws-us-gov|aws-cn):entityresolution:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(matchingworkflow/[a-zA-Z_0-9-]{1,255})$|^arn:(aws|aws-us-gov|aws-cn):glue:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(table/[a-zA-Z_0-9-]{1,255}/[a-zA-Z_0-9-]{1,255})$", "smithy.api#required": {} } }, @@ -2617,6 +3526,46 @@ "smithy.api#documentation": "

An object containing InputRecords, TotalRecordsProcessed,\n MatchIDs, and RecordsNotProcessed.

" } }, + "com.amazonaws.entityresolution#JobOutputSource": { + "type": "structure", + "members": { + "roleArn": { + "target": "com.amazonaws.entityresolution#RoleArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes\n this role to access Amazon Web Services resources on your behalf as part of workflow\n execution.

", + "smithy.api#required": {} + } + }, + "outputS3Path": { + "target": "com.amazonaws.entityresolution#S3Path", + "traits": { + "smithy.api#documentation": "

The S3 path to which Entity Resolution will write the output table.

", + "smithy.api#required": {} + } + }, + "KMSArn": { + "target": "com.amazonaws.entityresolution#KMSArn", + "traits": { + "smithy.api#documentation": "

Customer KMS ARN for encryption at rest. If not provided, system will use\n an Entity Resolution managed KMS key.

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

An object containing KMSArn, OutputS3Path, and\n RoleArn.

" + } + }, + "com.amazonaws.entityresolution#JobOutputSourceConfig": { + "type": "list", + "member": { + "target": "com.amazonaws.entityresolution#JobOutputSource" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, "com.amazonaws.entityresolution#JobStatus": { "type": "enum", "members": { @@ -2693,7 +3642,102 @@ "target": "com.amazonaws.entityresolution#ListIdMappingJobsInput" }, "output": { - "target": "com.amazonaws.entityresolution#ListIdMappingJobsOutput" + "target": "com.amazonaws.entityresolution#ListIdMappingJobsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.entityresolution#AccessDeniedException" + }, + { + "target": "com.amazonaws.entityresolution#InternalServerException" + }, + { + "target": "com.amazonaws.entityresolution#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.entityresolution#ThrottlingException" + }, + { + "target": "com.amazonaws.entityresolution#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists all ID mapping jobs for a given workflow.

", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/idmappingworkflows/{workflowName}/jobs" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "jobs" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.entityresolution#ListIdMappingJobsInput": { + "type": "structure", + "members": { + "workflowName": { + "target": "com.amazonaws.entityresolution#EntityNameOrIdMappingWorkflowArn", + "traits": { + "smithy.api#documentation": "

The name of the workflow to be retrieved.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.entityresolution#NextToken", + "traits": { + "smithy.api#documentation": "

The pagination token from the previous API call.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The maximum number of objects returned per page.

", + "smithy.api#httpQuery": "maxResults", + "smithy.api#range": { + "min": 1, + "max": 25 + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.entityresolution#ListIdMappingJobsOutput": { + "type": "structure", + "members": { + "jobs": { + "target": "com.amazonaws.entityresolution#JobList", + "traits": { + "smithy.api#documentation": "

A list of JobSummary objects.

" + } + }, + "nextToken": { + "target": "com.amazonaws.entityresolution#NextToken", + "traits": { + "smithy.api#documentation": "

The pagination token from the previous API call.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.entityresolution#ListIdMappingWorkflows": { + "type": "operation", + "input": { + "target": "com.amazonaws.entityresolution#ListIdMappingWorkflowsInput" + }, + "output": { + "target": "com.amazonaws.entityresolution#ListIdMappingWorkflowsOutput" }, "errors": [ { @@ -2702,9 +3746,6 @@ { "target": "com.amazonaws.entityresolution#InternalServerException" }, - { - "target": "com.amazonaws.entityresolution#ResourceNotFoundException" - }, { "target": "com.amazonaws.entityresolution#ThrottlingException" }, @@ -2713,32 +3754,24 @@ } ], "traits": { - "smithy.api#documentation": "

Lists all ID mapping jobs for a given workflow.

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

Returns a list of all the IdMappingWorkflows that have been created for an\n Amazon Web Services account.

", "smithy.api#http": { "code": 200, "method": "GET", - "uri": "/idmappingworkflows/{workflowName}/jobs" + "uri": "/idmappingworkflows" }, "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", "pageSize": "maxResults", - "items": "jobs" + "items": "workflowSummaries" }, "smithy.api#readonly": {} } }, - "com.amazonaws.entityresolution#ListIdMappingJobsInput": { + "com.amazonaws.entityresolution#ListIdMappingWorkflowsInput": { "type": "structure", "members": { - "workflowName": { - "target": "com.amazonaws.entityresolution#EntityName", - "traits": { - "smithy.api#documentation": "

The name of the workflow to be retrieved.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, "nextToken": { "target": "com.amazonaws.entityresolution#NextToken", "traits": { @@ -2752,7 +3785,6 @@ "smithy.api#documentation": "

The maximum number of objects returned per page.

", "smithy.api#httpQuery": "maxResults", "smithy.api#range": { - "min": 1, "max": 25 } } @@ -2762,13 +3794,13 @@ "smithy.api#input": {} } }, - "com.amazonaws.entityresolution#ListIdMappingJobsOutput": { + "com.amazonaws.entityresolution#ListIdMappingWorkflowsOutput": { "type": "structure", "members": { - "jobs": { - "target": "com.amazonaws.entityresolution#JobList", + "workflowSummaries": { + "target": "com.amazonaws.entityresolution#IdMappingWorkflowList", "traits": { - "smithy.api#documentation": "

A list of JobSummary objects.

" + "smithy.api#documentation": "

A list of IdMappingWorkflowSummary objects.

" } }, "nextToken": { @@ -2782,13 +3814,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.entityresolution#ListIdMappingWorkflows": { + "com.amazonaws.entityresolution#ListIdNamespaces": { "type": "operation", "input": { - "target": "com.amazonaws.entityresolution#ListIdMappingWorkflowsInput" + "target": "com.amazonaws.entityresolution#ListIdNamespacesInput" }, "output": { - "target": "com.amazonaws.entityresolution#ListIdMappingWorkflowsOutput" + "target": "com.amazonaws.entityresolution#ListIdNamespacesOutput" }, "errors": [ { @@ -2805,22 +3837,22 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a list of all the IdMappingWorkflows that have been created for an\n Amazon Web Services account.

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

Returns a list of all ID namespaces.

", "smithy.api#http": { "code": 200, "method": "GET", - "uri": "/idmappingworkflows" + "uri": "/idnamespaces" }, "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", "pageSize": "maxResults", - "items": "workflowSummaries" + "items": "idNamespaceSummaries" }, "smithy.api#readonly": {} } }, - "com.amazonaws.entityresolution#ListIdMappingWorkflowsInput": { + "com.amazonaws.entityresolution#ListIdNamespacesInput": { "type": "structure", "members": { "nextToken": { @@ -2833,7 +3865,7 @@ "maxResults": { "target": "smithy.api#Integer", "traits": { - "smithy.api#documentation": "

The maximum number of objects returned per page.

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

The maximum number of IdNamespace objects returned per page.

", "smithy.api#httpQuery": "maxResults", "smithy.api#range": { "max": 25 @@ -2845,13 +3877,13 @@ "smithy.api#input": {} } }, - "com.amazonaws.entityresolution#ListIdMappingWorkflowsOutput": { + "com.amazonaws.entityresolution#ListIdNamespacesOutput": { "type": "structure", "members": { - "workflowSummaries": { - "target": "com.amazonaws.entityresolution#IdMappingWorkflowList", + "idNamespaceSummaries": { + "target": "com.amazonaws.entityresolution#IdNamespaceList", "traits": { - "smithy.api#documentation": "

A list of IdMappingWorkflowSummary objects.

" + "smithy.api#documentation": "

A list of IdNamespaceSummaries objects.

" } }, "nextToken": { @@ -3285,7 +4317,7 @@ "com.amazonaws.entityresolution#MatchingWorkflowArn": { "type": "string", "traits": { - "smithy.api#pattern": "^arn:(aws|aws-us-gov|aws-cn):entityresolution:.*:[0-9]+:(matchingworkflow/.*)$" + "smithy.api#pattern": "^arn:(aws|aws-us-gov|aws-cn):entityresolution:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(matchingworkflow/[a-zA-Z_0-9-]{1,255})$" } }, "com.amazonaws.entityresolution#MatchingWorkflowList": { @@ -3337,6 +4369,27 @@ "smithy.api#documentation": "

A list of MatchingWorkflowSummary objects, each of which contain the fields\n WorkflowName, WorkflowArn, CreatedAt,\n UpdatedAt.

" } }, + "com.amazonaws.entityresolution#NamespaceProviderProperties": { + "type": "structure", + "members": { + "providerServiceArn": { + "target": "com.amazonaws.entityresolution#ProviderServiceArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the provider service.

", + "smithy.api#required": {} + } + }, + "providerConfiguration": { + "target": "smithy.api#Document", + "traits": { + "smithy.api#documentation": "

An object which defines any additional configurations required by the provider\n service.

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

An object containing ProviderConfiguration and\n ProviderServiceArn.

" + } + }, "com.amazonaws.entityresolution#NextToken": { "type": "string", "traits": { @@ -3423,6 +4476,45 @@ } } }, + "com.amazonaws.entityresolution#PolicyDocument": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 40960 + } + } + }, + "com.amazonaws.entityresolution#PolicyToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 36, + "max": 36 + }, + "smithy.api#pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$" + } + }, + "com.amazonaws.entityresolution#ProviderComponentSchema": { + "type": "structure", + "members": { + "schemas": { + "target": "com.amazonaws.entityresolution#Schemas", + "traits": { + "smithy.api#documentation": "

Input schema for the provider service.

" + } + }, + "providerSchemaAttributes": { + "target": "com.amazonaws.entityresolution#ProviderSchemaAttributes", + "traits": { + "smithy.api#documentation": "

The provider schema attributes.

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

The input schema supported by provider service.

" + } + }, "com.amazonaws.entityresolution#ProviderEndpointConfiguration": { "type": "union", "members": { @@ -3437,13 +4529,39 @@ "smithy.api#documentation": "

The required configuration fields to use with the provider service.

" } }, + "com.amazonaws.entityresolution#ProviderIdNameSpaceConfiguration": { + "type": "structure", + "members": { + "description": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The description of the ID namespace.

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

Configurations required for the target ID namespace.

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

Configurations required for the source ID namespace.

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

The provider configuration required for different ID namespace types.

" + } + }, "com.amazonaws.entityresolution#ProviderIntermediateDataAccessConfiguration": { "type": "structure", "members": { "awsAccountIds": { "target": "com.amazonaws.entityresolution#AwsAccountIdList", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account\n that\n provider can use to read or write data into the customer's intermediate S3\n bucket.

" + "smithy.api#documentation": "

The Amazon Web Services account that provider can use to read or write data into the\n customer's intermediate S3 bucket.

" } }, "requiredBucketActions": { @@ -3493,98 +4611,233 @@ "smithy.api#documentation": "

The identifiers of the provider service, from Data Exchange.

" } }, - "com.amazonaws.entityresolution#ProviderProperties": { + "com.amazonaws.entityresolution#ProviderProperties": { + "type": "structure", + "members": { + "providerServiceArn": { + "target": "com.amazonaws.entityresolution#ProviderServiceArn", + "traits": { + "smithy.api#documentation": "

The ARN of the provider service.

", + "smithy.api#required": {} + } + }, + "providerConfiguration": { + "target": "smithy.api#Document", + "traits": { + "smithy.api#documentation": "

The required configuration fields to use with the provider service.

" + } + }, + "intermediateSourceConfiguration": { + "target": "com.amazonaws.entityresolution#IntermediateSourceConfiguration", + "traits": { + "smithy.api#documentation": "

The Amazon S3 location that temporarily stores your data while it processes.\n Your information won't be saved permanently.

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

An object containing the providerServiceARN,\n intermediateSourceConfiguration, and\n providerConfiguration.

" + } + }, + "com.amazonaws.entityresolution#ProviderSchemaAttribute": { + "type": "structure", + "members": { + "fieldName": { + "target": "com.amazonaws.entityresolution#AttributeName", + "traits": { + "smithy.api#documentation": "

The field name.

", + "smithy.api#required": {} + } + }, + "type": { + "target": "com.amazonaws.entityresolution#SchemaAttributeType", + "traits": { + "smithy.api#documentation": "

The type of the provider schema attribute.

", + "smithy.api#required": {} + } + }, + "subType": { + "target": "com.amazonaws.entityresolution#AttributeName", + "traits": { + "smithy.api#documentation": "

The sub type of the provider schema attribute.

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

The hashing attribute of the provider schema.

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

The provider schema attribute.

" + } + }, + "com.amazonaws.entityresolution#ProviderSchemaAttributes": { + "type": "list", + "member": { + "target": "com.amazonaws.entityresolution#ProviderSchemaAttribute" + } + }, + "com.amazonaws.entityresolution#ProviderServiceArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 255 + }, + "smithy.api#pattern": "^arn:(aws|aws-us-gov|aws-cn):(entityresolution):([a-z]{2}-[a-z]{1,10}-[0-9])::providerservice/([a-zA-Z0-9_-]{1,255})/([a-zA-Z0-9_-]{1,255})$" + } + }, + "com.amazonaws.entityresolution#ProviderServiceDisplayName": { + "type": "string", + "traits": { + "smithy.api#length": { + "max": 255 + } + } + }, + "com.amazonaws.entityresolution#ProviderServiceList": { + "type": "list", + "member": { + "target": "com.amazonaws.entityresolution#ProviderServiceSummary" + } + }, + "com.amazonaws.entityresolution#ProviderServiceSummary": { + "type": "structure", + "members": { + "providerServiceArn": { + "target": "com.amazonaws.entityresolution#ProviderServiceArn", + "traits": { + "smithy.api#documentation": "

The ARN (Amazon Resource Name) that Entity Resolution generated for the\n providerService.

", + "smithy.api#required": {} + } + }, + "providerName": { + "target": "com.amazonaws.entityresolution#EntityName", + "traits": { + "smithy.api#documentation": "

The name of the provider. This name is typically the company name.

", + "smithy.api#required": {} + } + }, + "providerServiceDisplayName": { + "target": "com.amazonaws.entityresolution#ProviderServiceDisplayName", + "traits": { + "smithy.api#documentation": "

The display name of the provider service.

", + "smithy.api#required": {} + } + }, + "providerServiceName": { + "target": "com.amazonaws.entityresolution#EntityName", + "traits": { + "smithy.api#documentation": "

The name of the product that the provider service provides.

", + "smithy.api#required": {} + } + }, + "providerServiceType": { + "target": "com.amazonaws.entityresolution#ServiceType", + "traits": { + "smithy.api#documentation": "

The type of provider service.

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

A list of ProviderService objects, each of which contain the fields\n providerName, providerServiceArn,\n providerServiceName, and providerServiceType.

" + } + }, + "com.amazonaws.entityresolution#PutPolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.entityresolution#PutPolicyInput" + }, + "output": { + "target": "com.amazonaws.entityresolution#PutPolicyOutput" + }, + "errors": [ + { + "target": "com.amazonaws.entityresolution#AccessDeniedException" + }, + { + "target": "com.amazonaws.entityresolution#ConflictException" + }, + { + "target": "com.amazonaws.entityresolution#InternalServerException" + }, + { + "target": "com.amazonaws.entityresolution#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.entityresolution#ThrottlingException" + }, + { + "target": "com.amazonaws.entityresolution#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates the resource-based policy.

", + "smithy.api#http": { + "code": 200, + "method": "PUT", + "uri": "/policies/{arn}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.entityresolution#PutPolicyInput": { "type": "structure", "members": { - "providerServiceArn": { - "target": "com.amazonaws.entityresolution#ProviderServiceArn", + "arn": { + "target": "com.amazonaws.entityresolution#VeniceGlobalArn", "traits": { - "smithy.api#documentation": "

The ARN of the provider service.

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

The Amazon Resource Name (ARN) of the resource for which the policy needs to be\n updated.

", + "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "providerConfiguration": { - "target": "smithy.api#Document", + "token": { + "target": "com.amazonaws.entityresolution#PolicyToken", "traits": { - "smithy.api#documentation": "

The required configuration fields to use with the provider service.

" + "smithy.api#documentation": "

A unique identifier for the current revision of the policy.

" } }, - "intermediateSourceConfiguration": { - "target": "com.amazonaws.entityresolution#IntermediateSourceConfiguration", + "policy": { + "target": "com.amazonaws.entityresolution#PolicyDocument", "traits": { - "smithy.api#documentation": "

The Amazon S3 location that temporarily stores your data while it processes.\n Your information won't be saved permanently.

" + "smithy.api#documentation": "

The resource-based policy.

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

An object containing the providerServiceARN,\n intermediateSourceConfiguration, and\n providerConfiguration.

" - } - }, - "com.amazonaws.entityresolution#ProviderServiceArn": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 20, - "max": 255 - }, - "smithy.api#pattern": "^arn:(aws|aws-us-gov|aws-cn):(entityresolution):([a-z]{2}-[a-z-]+?-[0-9])::providerservice/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$" - } - }, - "com.amazonaws.entityresolution#ProviderServiceDisplayName": { - "type": "string", - "traits": { - "smithy.api#length": { - "max": 255 - } - } - }, - "com.amazonaws.entityresolution#ProviderServiceList": { - "type": "list", - "member": { - "target": "com.amazonaws.entityresolution#ProviderServiceSummary" + "smithy.api#input": {} } }, - "com.amazonaws.entityresolution#ProviderServiceSummary": { + "com.amazonaws.entityresolution#PutPolicyOutput": { "type": "structure", "members": { - "providerServiceArn": { - "target": "com.amazonaws.entityresolution#ProviderServiceArn", - "traits": { - "smithy.api#documentation": "

The ARN (Amazon Resource Name) that Entity Resolution generated for the\n providerService.

", - "smithy.api#required": {} - } - }, - "providerName": { - "target": "com.amazonaws.entityresolution#EntityName", - "traits": { - "smithy.api#documentation": "

The name of the provider. This name is typically the company name.

", - "smithy.api#required": {} - } - }, - "providerServiceDisplayName": { - "target": "com.amazonaws.entityresolution#ProviderServiceDisplayName", + "arn": { + "target": "com.amazonaws.entityresolution#VeniceGlobalArn", "traits": { - "smithy.api#documentation": "

The display name of the provider service.

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

The Entity Resolution resource ARN.

", "smithy.api#required": {} } }, - "providerServiceName": { - "target": "com.amazonaws.entityresolution#EntityName", + "token": { + "target": "com.amazonaws.entityresolution#PolicyToken", "traits": { - "smithy.api#documentation": "

The name of the product that the provider service provides.

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

A unique identifier for the current revision of the policy.

", "smithy.api#required": {} } }, - "providerServiceType": { - "target": "com.amazonaws.entityresolution#ServiceType", + "policy": { + "target": "com.amazonaws.entityresolution#PolicyDocument", "traits": { - "smithy.api#documentation": "

The type of provider service.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The resource-based policy.

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

A list of ProviderService objects, each of which contain the fields\n providerName, providerServiceArn,\n providerServiceName, and providerServiceType.

" + "smithy.api#output": {} } }, "com.amazonaws.entityresolution#RecordAttributeMap": { @@ -3623,7 +4876,7 @@ "resolutionType": { "target": "com.amazonaws.entityresolution#ResolutionType", "traits": { - "smithy.api#documentation": "

The type of matching. There are two types of matching: RULE_MATCHING and\n ML_MATCHING.

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

The type of matching. There are three types of matching: RULE_MATCHING,\n ML_MATCHING, and PROVIDER.

", "smithy.api#required": {} } }, @@ -3683,6 +4936,10 @@ "com.amazonaws.entityresolution#RoleArn": { "type": "string", "traits": { + "smithy.api#length": { + "min": 32, + "max": 512 + }, "smithy.api#pattern": "^arn:aws:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$" } }, @@ -3903,13 +5160,13 @@ "groupName": { "target": "com.amazonaws.entityresolution#AttributeName", "traits": { - "smithy.api#documentation": "

Instruct Entity Resolution to combine several columns into a unified column with the\n identical attribute type. For example, when working with columns such as first_name,\n middle_name, and last_name, assigning them a common GroupName will prompt\n Entity Resolution to concatenate them into a single value.

" + "smithy.api#documentation": "

A string that instructs Entity Resolution to combine several columns into a unified\n column with the identical attribute type.

\n

For example, when working with columns such as first_name,\n middle_name, and last_name, assigning them a common\n groupName will prompt Entity Resolution to concatenate them into a single\n value.

" } }, "matchKey": { "target": "com.amazonaws.entityresolution#AttributeName", "traits": { - "smithy.api#documentation": "

A key that allows grouping of multiple input attributes into a unified matching group.\n For example, let's consider a scenario where the source table contains various addresses,\n such as business_address and shipping_address. By assigning the\n MatchKey\n Address to both attributes, Entity Resolution will match records\n across these fields to create a consolidated matching group. If no MatchKey is\n specified for a column, it won't be utilized for matching purposes but will still be\n included in the output table.

" + "smithy.api#documentation": "

A key that allows grouping of multiple input attributes into a unified matching group.\n For example, consider a scenario where the source table contains various addresses, such as\n business_address and shipping_address. By assigning a\n matchKey called address to both attributes, Entity Resolution\n will match records across these fields to create a consolidated matching group. If no\n matchKey is specified for a column, it won't be utilized for matching\n purposes but will still be included in the output table.

" } }, "subType": { @@ -3920,7 +5177,7 @@ } }, "traits": { - "smithy.api#documentation": "

An object containing FieldName, Type, GroupName,\n and MatchKey.

" + "smithy.api#documentation": "

An object containing FieldName, Type, GroupName,\n MatchKey, and SubType.

" } }, "com.amazonaws.entityresolution#SchemaInputAttributes": { @@ -3935,10 +5192,16 @@ } } }, + "com.amazonaws.entityresolution#SchemaList": { + "type": "list", + "member": { + "target": "smithy.api#String" + } + }, "com.amazonaws.entityresolution#SchemaMappingArn": { "type": "string", "traits": { - "smithy.api#pattern": "^arn:(aws|aws-us-gov|aws-cn):entityresolution:.*:[0-9]+:(schemamapping/.*)$" + "smithy.api#pattern": "^arn:(aws|aws-us-gov|aws-cn):entityresolution:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:(schemamapping/[a-zA-Z_0-9-]{1,255})$" } }, "com.amazonaws.entityresolution#SchemaMappingList": { @@ -3990,6 +5253,12 @@ "smithy.api#documentation": "

An object containing SchemaName, SchemaArn,\n CreatedAt, andUpdatedAt.

" } }, + "com.amazonaws.entityresolution#Schemas": { + "type": "list", + "member": { + "target": "com.amazonaws.entityresolution#SchemaList" + } + }, "com.amazonaws.entityresolution#ServiceType": { "type": "enum", "members": { @@ -4051,12 +5320,18 @@ "type": "structure", "members": { "workflowName": { - "target": "com.amazonaws.entityresolution#EntityName", + "target": "com.amazonaws.entityresolution#EntityNameOrIdMappingWorkflowArn", "traits": { "smithy.api#documentation": "

The name of the ID mapping job to be retrieved.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } + }, + "outputSourceConfig": { + "target": "com.amazonaws.entityresolution#IdMappingJobOutputSourceConfig", + "traits": { + "smithy.api#documentation": "

A list of OutputSource objects.

" + } } }, "traits": { @@ -4072,6 +5347,12 @@ "smithy.api#documentation": "

The ID of the job.

", "smithy.api#required": {} } + }, + "outputSourceConfig": { + "target": "com.amazonaws.entityresolution#IdMappingJobOutputSourceConfig", + "traits": { + "smithy.api#documentation": "

A list of OutputSource objects.

" + } } }, "traits": { @@ -4149,6 +5430,84 @@ "smithy.api#output": {} } }, + "com.amazonaws.entityresolution#StatementAction": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 64 + }, + "smithy.api#pattern": "^(entityresolution:[a-zA-Z0-9]+)$" + } + }, + "com.amazonaws.entityresolution#StatementActionList": { + "type": "list", + "member": { + "target": "com.amazonaws.entityresolution#StatementAction" + }, + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, + "com.amazonaws.entityresolution#StatementCondition": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 40960 + } + } + }, + "com.amazonaws.entityresolution#StatementEffect": { + "type": "enum", + "members": { + "Allow": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Allow" + } + }, + "Deny": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Deny" + } + } + } + }, + "com.amazonaws.entityresolution#StatementId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#pattern": "^[0-9A-Za-z]+$" + } + }, + "com.amazonaws.entityresolution#StatementPrincipal": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 12, + "max": 64 + }, + "smithy.api#pattern": "^(\\d{12})|([a-z0-9\\.]+)$" + } + }, + "com.amazonaws.entityresolution#StatementPrincipalList": { + "type": "list", + "member": { + "target": "com.amazonaws.entityresolution#StatementPrincipal" + }, + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, "com.amazonaws.entityresolution#TagKey": { "type": "string", "traits": { @@ -4385,8 +5744,7 @@ "outputSourceConfig": { "target": "com.amazonaws.entityresolution#IdMappingWorkflowOutputSourceConfig", "traits": { - "smithy.api#documentation": "

A list of OutputSource objects, each of which contains fields\n OutputS3Path and KMSArn.

", - "smithy.api#required": {} + "smithy.api#documentation": "

A list of OutputSource objects, each of which contains fields\n OutputS3Path and KMSArn.

" } }, "idMappingTechniques": { @@ -4399,7 +5757,7 @@ "roleArn": { "target": "com.amazonaws.entityresolution#RoleArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes\n this role to access resources on your behalf.

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

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes\n this role to access Amazon Web Services resources on your behalf.

", "smithy.api#required": {} } } @@ -4421,7 +5779,7 @@ "workflowArn": { "target": "com.amazonaws.entityresolution#IdMappingWorkflowArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the workflow role. Entity Resolution assumes this role\n to access resources on your behalf.

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

The Amazon Resource Name (ARN) of the workflow role. Entity Resolution assumes this role\n to access Amazon Web Services resources on your behalf.

", "smithy.api#required": {} } }, @@ -4441,8 +5799,7 @@ "outputSourceConfig": { "target": "com.amazonaws.entityresolution#IdMappingWorkflowOutputSourceConfig", "traits": { - "smithy.api#documentation": "

A list of OutputSource objects, each of which contains fields\n OutputS3Path and KMSArn.

", - "smithy.api#required": {} + "smithy.api#documentation": "

A list of OutputSource objects, each of which contains fields\n OutputS3Path and KMSArn.

" } }, "idMappingTechniques": { @@ -4455,7 +5812,149 @@ "roleArn": { "target": "com.amazonaws.entityresolution#RoleArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes\n this role to access resources on your behalf.

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

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes\n this role to access Amazon Web Services resources on your behalf.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.entityresolution#UpdateIdNamespace": { + "type": "operation", + "input": { + "target": "com.amazonaws.entityresolution#UpdateIdNamespaceInput" + }, + "output": { + "target": "com.amazonaws.entityresolution#UpdateIdNamespaceOutput" + }, + "errors": [ + { + "target": "com.amazonaws.entityresolution#AccessDeniedException" + }, + { + "target": "com.amazonaws.entityresolution#InternalServerException" + }, + { + "target": "com.amazonaws.entityresolution#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.entityresolution#ThrottlingException" + }, + { + "target": "com.amazonaws.entityresolution#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates an existing ID namespace.

", + "smithy.api#http": { + "code": 200, + "method": "PUT", + "uri": "/idnamespaces/{idNamespaceName}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.entityresolution#UpdateIdNamespaceInput": { + "type": "structure", + "members": { + "idNamespaceName": { + "target": "com.amazonaws.entityresolution#EntityName", + "traits": { + "smithy.api#documentation": "

The name of the ID namespace.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.entityresolution#Description", + "traits": { + "smithy.api#documentation": "

The description of the ID namespace.

" + } + }, + "inputSourceConfig": { + "target": "com.amazonaws.entityresolution#IdNamespaceInputSourceConfig", + "traits": { + "smithy.api#documentation": "

A list of InputSource objects, which have the fields\n InputSourceARN and SchemaName.

" + } + }, + "idMappingWorkflowProperties": { + "target": "com.amazonaws.entityresolution#IdNamespaceIdMappingWorkflowPropertiesList", + "traits": { + "smithy.api#documentation": "

Determines the properties of IdMappingWorkflow where this\n IdNamespace can be used as a Source or a\n Target.

" + } + }, + "roleArn": { + "target": "com.amazonaws.entityresolution#RoleArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes\n this role to access the resources defined in this IdNamespace on your behalf\n as part of a workflow run.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.entityresolution#UpdateIdNamespaceOutput": { + "type": "structure", + "members": { + "idNamespaceName": { + "target": "com.amazonaws.entityresolution#EntityName", + "traits": { + "smithy.api#documentation": "

The name of the ID namespace.

", + "smithy.api#required": {} + } + }, + "idNamespaceArn": { + "target": "com.amazonaws.entityresolution#IdNamespaceArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the ID namespace.

", + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.entityresolution#Description", + "traits": { + "smithy.api#documentation": "

The description of the ID namespace.

" + } + }, + "inputSourceConfig": { + "target": "com.amazonaws.entityresolution#IdNamespaceInputSourceConfig", + "traits": { + "smithy.api#documentation": "

A list of InputSource objects, which have the fields\n InputSourceARN and SchemaName.

" + } + }, + "idMappingWorkflowProperties": { + "target": "com.amazonaws.entityresolution#IdNamespaceIdMappingWorkflowPropertiesList", + "traits": { + "smithy.api#documentation": "

Determines the properties of IdMappingWorkflow where this\n IdNamespace can be used as a Source or a\n Target.

" + } + }, + "type": { + "target": "com.amazonaws.entityresolution#IdNamespaceType", + "traits": { + "smithy.api#documentation": "

The type of ID namespace. There are two types: SOURCE and\n TARGET.

\n

The SOURCE contains configurations for sourceId data that will\n be processed in an ID mapping workflow.

\n

The TARGET contains a configuration of targetId to which all\n sourceIds will resolve to.

", + "smithy.api#required": {} + } + }, + "roleArn": { + "target": "com.amazonaws.entityresolution#RoleArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes\n this role to access the resources defined in this IdNamespace on your behalf\n as part of a workflow run.

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

The timestamp of when the ID namespace was created.

", + "smithy.api#required": {} + } + }, + "updatedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the ID namespace was last updated.

", "smithy.api#required": {} } } @@ -4728,7 +6227,7 @@ "com.amazonaws.entityresolution#VeniceGlobalArn": { "type": "string", "traits": { - "smithy.api#pattern": "^arn:(aws|aws-us-gov|aws-cn):(entityresolution):.*:[0-9]+:((schemamapping|matchingworkflow|idmappingworkflow)/[a-zA-Z0-9_-]+)$" + "smithy.api#pattern": "^arn:(aws|aws-us-gov|aws-cn):entityresolution:[a-z]{2}-[a-z]{1,10}-[0-9]:[0-9]{12}:((schemamapping|matchingworkflow|idmappingworkflow|idnamespace)/[a-zA-Z_0-9-]{1,255})$" } } }