From f18d4efba4572d742396193429f08bfd1f7b6b22 Mon Sep 17 00:00:00 2001 From: awstools Date: Fri, 8 Dec 2023 19:19:43 +0000 Subject: [PATCH] feat(client-finspace): Releasing Scaling Group, Dataview, and Volume APIs --- clients/client-finspace/README.md | 112 + clients/client-finspace/src/Finspace.ts | 288 ++ clients/client-finspace/src/FinspaceClient.ts | 55 +- .../src/commands/CreateKxClusterCommand.ts | 74 +- .../src/commands/CreateKxDataviewCommand.ts | 202 + .../commands/CreateKxScalingGroupCommand.ts | 174 + .../src/commands/CreateKxVolumeCommand.ts | 195 + .../src/commands/DeleteKxDataviewCommand.ts | 160 + .../commands/DeleteKxEnvironmentCommand.ts | 4 + .../commands/DeleteKxScalingGroupCommand.ts | 162 + .../src/commands/DeleteKxUserCommand.ts | 4 + .../src/commands/DeleteKxVolumeCommand.ts | 164 + .../src/commands/GetKxClusterCommand.ts | 40 +- .../src/commands/GetKxDataviewCommand.ts | 194 + .../src/commands/GetKxEnvironmentCommand.ts | 3 + .../src/commands/GetKxScalingGroupCommand.ts | 173 + .../src/commands/GetKxVolumeCommand.ts | 184 + .../src/commands/ListEnvironmentsCommand.ts | 3 + .../src/commands/ListKxClustersCommand.ts | 10 +- .../src/commands/ListKxDataviewsCommand.ts | 201 + .../src/commands/ListKxEnvironmentsCommand.ts | 3 + .../commands/ListKxScalingGroupsCommand.ts | 178 + .../src/commands/ListKxVolumesCommand.ts | 179 + .../UpdateKxClusterDatabasesCommand.ts | 15 + .../src/commands/UpdateKxDataviewCommand.ts | 211 + .../src/commands/UpdateKxVolumeCommand.ts | 194 + clients/client-finspace/src/commands/index.ts | 14 + .../client-finspace/src/models/models_0.ts | 2762 +++++++++++-- .../pagination/ListKxDataviewsPaginator.ts | 50 + .../ListKxScalingGroupsPaginator.ts | 50 + .../client-finspace/src/pagination/index.ts | 2 + .../src/protocols/Aws_restJson1.ts | 2157 ++++++++++- codegen/sdk-codegen/aws-models/finspace.json | 3427 +++++++++++++++-- 33 files changed, 10917 insertions(+), 727 deletions(-) create mode 100644 clients/client-finspace/src/commands/CreateKxDataviewCommand.ts create mode 100644 clients/client-finspace/src/commands/CreateKxScalingGroupCommand.ts create mode 100644 clients/client-finspace/src/commands/CreateKxVolumeCommand.ts create mode 100644 clients/client-finspace/src/commands/DeleteKxDataviewCommand.ts create mode 100644 clients/client-finspace/src/commands/DeleteKxScalingGroupCommand.ts create mode 100644 clients/client-finspace/src/commands/DeleteKxVolumeCommand.ts create mode 100644 clients/client-finspace/src/commands/GetKxDataviewCommand.ts create mode 100644 clients/client-finspace/src/commands/GetKxScalingGroupCommand.ts create mode 100644 clients/client-finspace/src/commands/GetKxVolumeCommand.ts create mode 100644 clients/client-finspace/src/commands/ListKxDataviewsCommand.ts create mode 100644 clients/client-finspace/src/commands/ListKxScalingGroupsCommand.ts create mode 100644 clients/client-finspace/src/commands/ListKxVolumesCommand.ts create mode 100644 clients/client-finspace/src/commands/UpdateKxDataviewCommand.ts create mode 100644 clients/client-finspace/src/commands/UpdateKxVolumeCommand.ts create mode 100644 clients/client-finspace/src/pagination/ListKxDataviewsPaginator.ts create mode 100644 clients/client-finspace/src/pagination/ListKxScalingGroupsPaginator.ts diff --git a/clients/client-finspace/README.md b/clients/client-finspace/README.md index 3a6d30dd521ae..e1ba1ddc71420 100644 --- a/clients/client-finspace/README.md +++ b/clients/client-finspace/README.md @@ -234,6 +234,14 @@ CreateKxDatabase [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/CreateKxDatabaseCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/CreateKxDatabaseCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/CreateKxDatabaseCommandOutput/) + +
+ +CreateKxDataview + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/CreateKxDataviewCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/CreateKxDataviewCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/CreateKxDataviewCommandOutput/) +
@@ -242,6 +250,14 @@ CreateKxEnvironment [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/CreateKxEnvironmentCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/CreateKxEnvironmentCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/CreateKxEnvironmentCommandOutput/) +
+
+ +CreateKxScalingGroup + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/CreateKxScalingGroupCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/CreateKxScalingGroupCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/CreateKxScalingGroupCommandOutput/) +
@@ -250,6 +266,14 @@ CreateKxUser [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/CreateKxUserCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/CreateKxUserCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/CreateKxUserCommandOutput/) +
+
+ +CreateKxVolume + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/CreateKxVolumeCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/CreateKxVolumeCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/CreateKxVolumeCommandOutput/) +
@@ -274,6 +298,14 @@ DeleteKxDatabase [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/DeleteKxDatabaseCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/DeleteKxDatabaseCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/DeleteKxDatabaseCommandOutput/) +
+
+ +DeleteKxDataview + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/DeleteKxDataviewCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/DeleteKxDataviewCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/DeleteKxDataviewCommandOutput/) +
@@ -282,6 +314,14 @@ DeleteKxEnvironment [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/DeleteKxEnvironmentCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/DeleteKxEnvironmentCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/DeleteKxEnvironmentCommandOutput/) +
+
+ +DeleteKxScalingGroup + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/DeleteKxScalingGroupCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/DeleteKxScalingGroupCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/DeleteKxScalingGroupCommandOutput/) +
@@ -290,6 +330,14 @@ DeleteKxUser [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/DeleteKxUserCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/DeleteKxUserCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/DeleteKxUserCommandOutput/) +
+
+ +DeleteKxVolume + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/DeleteKxVolumeCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/DeleteKxVolumeCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/DeleteKxVolumeCommandOutput/) +
@@ -330,6 +378,14 @@ GetKxDatabase [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/GetKxDatabaseCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/GetKxDatabaseCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/GetKxDatabaseCommandOutput/) +
+
+ +GetKxDataview + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/GetKxDataviewCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/GetKxDataviewCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/GetKxDataviewCommandOutput/) +
@@ -338,6 +394,14 @@ GetKxEnvironment [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/GetKxEnvironmentCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/GetKxEnvironmentCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/GetKxEnvironmentCommandOutput/) +
+
+ +GetKxScalingGroup + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/GetKxScalingGroupCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/GetKxScalingGroupCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/GetKxScalingGroupCommandOutput/) +
@@ -346,6 +410,14 @@ GetKxUser [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/GetKxUserCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/GetKxUserCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/GetKxUserCommandOutput/) +
+
+ +GetKxVolume + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/GetKxVolumeCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/GetKxVolumeCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/GetKxVolumeCommandOutput/) +
@@ -386,6 +458,14 @@ ListKxDatabases [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/ListKxDatabasesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/ListKxDatabasesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/ListKxDatabasesCommandOutput/) +
+
+ +ListKxDataviews + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/ListKxDataviewsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/ListKxDataviewsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/ListKxDataviewsCommandOutput/) +
@@ -394,6 +474,14 @@ ListKxEnvironments [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/ListKxEnvironmentsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/ListKxEnvironmentsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/ListKxEnvironmentsCommandOutput/) +
+
+ +ListKxScalingGroups + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/ListKxScalingGroupsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/ListKxScalingGroupsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/ListKxScalingGroupsCommandOutput/) +
@@ -402,6 +490,14 @@ ListKxUsers [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/ListKxUsersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/ListKxUsersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/ListKxUsersCommandOutput/) +
+
+ +ListKxVolumes + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/ListKxVolumesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/ListKxVolumesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/ListKxVolumesCommandOutput/) +
@@ -458,6 +554,14 @@ UpdateKxDatabase [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/UpdateKxDatabaseCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/UpdateKxDatabaseCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/UpdateKxDatabaseCommandOutput/) +
+
+ +UpdateKxDataview + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/UpdateKxDataviewCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/UpdateKxDataviewCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/UpdateKxDataviewCommandOutput/) +
@@ -483,3 +587,11 @@ UpdateKxUser [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/UpdateKxUserCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/UpdateKxUserCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/UpdateKxUserCommandOutput/)
+
+ +UpdateKxVolume + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/finspace/command/UpdateKxVolumeCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/UpdateKxVolumeCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-finspace/Interface/UpdateKxVolumeCommandOutput/) + +
diff --git a/clients/client-finspace/src/Finspace.ts b/clients/client-finspace/src/Finspace.ts index 40ec4df0194e6..b60e4ee89b50d 100644 --- a/clients/client-finspace/src/Finspace.ts +++ b/clients/client-finspace/src/Finspace.ts @@ -22,16 +22,31 @@ import { CreateKxDatabaseCommandInput, CreateKxDatabaseCommandOutput, } from "./commands/CreateKxDatabaseCommand"; +import { + CreateKxDataviewCommand, + CreateKxDataviewCommandInput, + CreateKxDataviewCommandOutput, +} from "./commands/CreateKxDataviewCommand"; import { CreateKxEnvironmentCommand, CreateKxEnvironmentCommandInput, CreateKxEnvironmentCommandOutput, } from "./commands/CreateKxEnvironmentCommand"; +import { + CreateKxScalingGroupCommand, + CreateKxScalingGroupCommandInput, + CreateKxScalingGroupCommandOutput, +} from "./commands/CreateKxScalingGroupCommand"; import { CreateKxUserCommand, CreateKxUserCommandInput, CreateKxUserCommandOutput, } from "./commands/CreateKxUserCommand"; +import { + CreateKxVolumeCommand, + CreateKxVolumeCommandInput, + CreateKxVolumeCommandOutput, +} from "./commands/CreateKxVolumeCommand"; import { DeleteEnvironmentCommand, DeleteEnvironmentCommandInput, @@ -47,16 +62,31 @@ import { DeleteKxDatabaseCommandInput, DeleteKxDatabaseCommandOutput, } from "./commands/DeleteKxDatabaseCommand"; +import { + DeleteKxDataviewCommand, + DeleteKxDataviewCommandInput, + DeleteKxDataviewCommandOutput, +} from "./commands/DeleteKxDataviewCommand"; import { DeleteKxEnvironmentCommand, DeleteKxEnvironmentCommandInput, DeleteKxEnvironmentCommandOutput, } from "./commands/DeleteKxEnvironmentCommand"; +import { + DeleteKxScalingGroupCommand, + DeleteKxScalingGroupCommandInput, + DeleteKxScalingGroupCommandOutput, +} from "./commands/DeleteKxScalingGroupCommand"; import { DeleteKxUserCommand, DeleteKxUserCommandInput, DeleteKxUserCommandOutput, } from "./commands/DeleteKxUserCommand"; +import { + DeleteKxVolumeCommand, + DeleteKxVolumeCommandInput, + DeleteKxVolumeCommandOutput, +} from "./commands/DeleteKxVolumeCommand"; import { GetEnvironmentCommand, GetEnvironmentCommandInput, @@ -82,12 +112,23 @@ import { GetKxDatabaseCommandInput, GetKxDatabaseCommandOutput, } from "./commands/GetKxDatabaseCommand"; +import { + GetKxDataviewCommand, + GetKxDataviewCommandInput, + GetKxDataviewCommandOutput, +} from "./commands/GetKxDataviewCommand"; import { GetKxEnvironmentCommand, GetKxEnvironmentCommandInput, GetKxEnvironmentCommandOutput, } from "./commands/GetKxEnvironmentCommand"; +import { + GetKxScalingGroupCommand, + GetKxScalingGroupCommandInput, + GetKxScalingGroupCommandOutput, +} from "./commands/GetKxScalingGroupCommand"; import { GetKxUserCommand, GetKxUserCommandInput, GetKxUserCommandOutput } from "./commands/GetKxUserCommand"; +import { GetKxVolumeCommand, GetKxVolumeCommandInput, GetKxVolumeCommandOutput } from "./commands/GetKxVolumeCommand"; import { ListEnvironmentsCommand, ListEnvironmentsCommandInput, @@ -113,12 +154,27 @@ import { ListKxDatabasesCommandInput, ListKxDatabasesCommandOutput, } from "./commands/ListKxDatabasesCommand"; +import { + ListKxDataviewsCommand, + ListKxDataviewsCommandInput, + ListKxDataviewsCommandOutput, +} from "./commands/ListKxDataviewsCommand"; import { ListKxEnvironmentsCommand, ListKxEnvironmentsCommandInput, ListKxEnvironmentsCommandOutput, } from "./commands/ListKxEnvironmentsCommand"; +import { + ListKxScalingGroupsCommand, + ListKxScalingGroupsCommandInput, + ListKxScalingGroupsCommandOutput, +} from "./commands/ListKxScalingGroupsCommand"; import { ListKxUsersCommand, ListKxUsersCommandInput, ListKxUsersCommandOutput } from "./commands/ListKxUsersCommand"; +import { + ListKxVolumesCommand, + ListKxVolumesCommandInput, + ListKxVolumesCommandOutput, +} from "./commands/ListKxVolumesCommand"; import { ListTagsForResourceCommand, ListTagsForResourceCommandInput, @@ -150,6 +206,11 @@ import { UpdateKxDatabaseCommandInput, UpdateKxDatabaseCommandOutput, } from "./commands/UpdateKxDatabaseCommand"; +import { + UpdateKxDataviewCommand, + UpdateKxDataviewCommandInput, + UpdateKxDataviewCommandOutput, +} from "./commands/UpdateKxDataviewCommand"; import { UpdateKxEnvironmentCommand, UpdateKxEnvironmentCommandInput, @@ -165,6 +226,11 @@ import { UpdateKxUserCommandInput, UpdateKxUserCommandOutput, } from "./commands/UpdateKxUserCommand"; +import { + UpdateKxVolumeCommand, + UpdateKxVolumeCommandInput, + UpdateKxVolumeCommandOutput, +} from "./commands/UpdateKxVolumeCommand"; import { FinspaceClient, FinspaceClientConfig } from "./FinspaceClient"; const commands = { @@ -172,27 +238,39 @@ const commands = { CreateKxChangesetCommand, CreateKxClusterCommand, CreateKxDatabaseCommand, + CreateKxDataviewCommand, CreateKxEnvironmentCommand, + CreateKxScalingGroupCommand, CreateKxUserCommand, + CreateKxVolumeCommand, DeleteEnvironmentCommand, DeleteKxClusterCommand, DeleteKxDatabaseCommand, + DeleteKxDataviewCommand, DeleteKxEnvironmentCommand, + DeleteKxScalingGroupCommand, DeleteKxUserCommand, + DeleteKxVolumeCommand, GetEnvironmentCommand, GetKxChangesetCommand, GetKxClusterCommand, GetKxConnectionStringCommand, GetKxDatabaseCommand, + GetKxDataviewCommand, GetKxEnvironmentCommand, + GetKxScalingGroupCommand, GetKxUserCommand, + GetKxVolumeCommand, ListEnvironmentsCommand, ListKxChangesetsCommand, ListKxClusterNodesCommand, ListKxClustersCommand, ListKxDatabasesCommand, + ListKxDataviewsCommand, ListKxEnvironmentsCommand, + ListKxScalingGroupsCommand, ListKxUsersCommand, + ListKxVolumesCommand, ListTagsForResourceCommand, TagResourceCommand, UntagResourceCommand, @@ -200,9 +278,11 @@ const commands = { UpdateKxClusterCodeConfigurationCommand, UpdateKxClusterDatabasesCommand, UpdateKxDatabaseCommand, + UpdateKxDataviewCommand, UpdateKxEnvironmentCommand, UpdateKxEnvironmentNetworkCommand, UpdateKxUserCommand, + UpdateKxVolumeCommand, }; export interface Finspace { @@ -271,6 +351,23 @@ export interface Finspace { cb: (err: any, data?: CreateKxDatabaseCommandOutput) => void ): void; + /** + * @see {@link CreateKxDataviewCommand} + */ + createKxDataview( + args: CreateKxDataviewCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createKxDataview( + args: CreateKxDataviewCommandInput, + cb: (err: any, data?: CreateKxDataviewCommandOutput) => void + ): void; + createKxDataview( + args: CreateKxDataviewCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateKxDataviewCommandOutput) => void + ): void; + /** * @see {@link CreateKxEnvironmentCommand} */ @@ -288,6 +385,23 @@ export interface Finspace { cb: (err: any, data?: CreateKxEnvironmentCommandOutput) => void ): void; + /** + * @see {@link CreateKxScalingGroupCommand} + */ + createKxScalingGroup( + args: CreateKxScalingGroupCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createKxScalingGroup( + args: CreateKxScalingGroupCommandInput, + cb: (err: any, data?: CreateKxScalingGroupCommandOutput) => void + ): void; + createKxScalingGroup( + args: CreateKxScalingGroupCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateKxScalingGroupCommandOutput) => void + ): void; + /** * @see {@link CreateKxUserCommand} */ @@ -299,6 +413,20 @@ export interface Finspace { cb: (err: any, data?: CreateKxUserCommandOutput) => void ): void; + /** + * @see {@link CreateKxVolumeCommand} + */ + createKxVolume( + args: CreateKxVolumeCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createKxVolume(args: CreateKxVolumeCommandInput, cb: (err: any, data?: CreateKxVolumeCommandOutput) => void): void; + createKxVolume( + args: CreateKxVolumeCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateKxVolumeCommandOutput) => void + ): void; + /** * @see {@link DeleteEnvironmentCommand} */ @@ -347,6 +475,23 @@ export interface Finspace { cb: (err: any, data?: DeleteKxDatabaseCommandOutput) => void ): void; + /** + * @see {@link DeleteKxDataviewCommand} + */ + deleteKxDataview( + args: DeleteKxDataviewCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deleteKxDataview( + args: DeleteKxDataviewCommandInput, + cb: (err: any, data?: DeleteKxDataviewCommandOutput) => void + ): void; + deleteKxDataview( + args: DeleteKxDataviewCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteKxDataviewCommandOutput) => void + ): void; + /** * @see {@link DeleteKxEnvironmentCommand} */ @@ -364,6 +509,23 @@ export interface Finspace { cb: (err: any, data?: DeleteKxEnvironmentCommandOutput) => void ): void; + /** + * @see {@link DeleteKxScalingGroupCommand} + */ + deleteKxScalingGroup( + args: DeleteKxScalingGroupCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deleteKxScalingGroup( + args: DeleteKxScalingGroupCommandInput, + cb: (err: any, data?: DeleteKxScalingGroupCommandOutput) => void + ): void; + deleteKxScalingGroup( + args: DeleteKxScalingGroupCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteKxScalingGroupCommandOutput) => void + ): void; + /** * @see {@link DeleteKxUserCommand} */ @@ -375,6 +537,20 @@ export interface Finspace { cb: (err: any, data?: DeleteKxUserCommandOutput) => void ): void; + /** + * @see {@link DeleteKxVolumeCommand} + */ + deleteKxVolume( + args: DeleteKxVolumeCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deleteKxVolume(args: DeleteKxVolumeCommandInput, cb: (err: any, data?: DeleteKxVolumeCommandOutput) => void): void; + deleteKxVolume( + args: DeleteKxVolumeCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteKxVolumeCommandOutput) => void + ): void; + /** * @see {@link GetEnvironmentCommand} */ @@ -442,6 +618,17 @@ export interface Finspace { cb: (err: any, data?: GetKxDatabaseCommandOutput) => void ): void; + /** + * @see {@link GetKxDataviewCommand} + */ + getKxDataview(args: GetKxDataviewCommandInput, options?: __HttpHandlerOptions): Promise; + getKxDataview(args: GetKxDataviewCommandInput, cb: (err: any, data?: GetKxDataviewCommandOutput) => void): void; + getKxDataview( + args: GetKxDataviewCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetKxDataviewCommandOutput) => void + ): void; + /** * @see {@link GetKxEnvironmentCommand} */ @@ -459,6 +646,23 @@ export interface Finspace { cb: (err: any, data?: GetKxEnvironmentCommandOutput) => void ): void; + /** + * @see {@link GetKxScalingGroupCommand} + */ + getKxScalingGroup( + args: GetKxScalingGroupCommandInput, + options?: __HttpHandlerOptions + ): Promise; + getKxScalingGroup( + args: GetKxScalingGroupCommandInput, + cb: (err: any, data?: GetKxScalingGroupCommandOutput) => void + ): void; + getKxScalingGroup( + args: GetKxScalingGroupCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetKxScalingGroupCommandOutput) => void + ): void; + /** * @see {@link GetKxUserCommand} */ @@ -470,6 +674,17 @@ export interface Finspace { cb: (err: any, data?: GetKxUserCommandOutput) => void ): void; + /** + * @see {@link GetKxVolumeCommand} + */ + getKxVolume(args: GetKxVolumeCommandInput, options?: __HttpHandlerOptions): Promise; + getKxVolume(args: GetKxVolumeCommandInput, cb: (err: any, data?: GetKxVolumeCommandOutput) => void): void; + getKxVolume( + args: GetKxVolumeCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetKxVolumeCommandOutput) => void + ): void; + /** * @see {@link ListEnvironmentsCommand} */ @@ -549,6 +764,20 @@ export interface Finspace { cb: (err: any, data?: ListKxDatabasesCommandOutput) => void ): void; + /** + * @see {@link ListKxDataviewsCommand} + */ + listKxDataviews( + args: ListKxDataviewsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listKxDataviews(args: ListKxDataviewsCommandInput, cb: (err: any, data?: ListKxDataviewsCommandOutput) => void): void; + listKxDataviews( + args: ListKxDataviewsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListKxDataviewsCommandOutput) => void + ): void; + /** * @see {@link ListKxEnvironmentsCommand} */ @@ -566,6 +795,23 @@ export interface Finspace { cb: (err: any, data?: ListKxEnvironmentsCommandOutput) => void ): void; + /** + * @see {@link ListKxScalingGroupsCommand} + */ + listKxScalingGroups( + args: ListKxScalingGroupsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listKxScalingGroups( + args: ListKxScalingGroupsCommandInput, + cb: (err: any, data?: ListKxScalingGroupsCommandOutput) => void + ): void; + listKxScalingGroups( + args: ListKxScalingGroupsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListKxScalingGroupsCommandOutput) => void + ): void; + /** * @see {@link ListKxUsersCommand} */ @@ -577,6 +823,17 @@ export interface Finspace { cb: (err: any, data?: ListKxUsersCommandOutput) => void ): void; + /** + * @see {@link ListKxVolumesCommand} + */ + listKxVolumes(args: ListKxVolumesCommandInput, options?: __HttpHandlerOptions): Promise; + listKxVolumes(args: ListKxVolumesCommandInput, cb: (err: any, data?: ListKxVolumesCommandOutput) => void): void; + listKxVolumes( + args: ListKxVolumesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListKxVolumesCommandOutput) => void + ): void; + /** * @see {@link ListTagsForResourceCommand} */ @@ -684,6 +941,23 @@ export interface Finspace { cb: (err: any, data?: UpdateKxDatabaseCommandOutput) => void ): void; + /** + * @see {@link UpdateKxDataviewCommand} + */ + updateKxDataview( + args: UpdateKxDataviewCommandInput, + options?: __HttpHandlerOptions + ): Promise; + updateKxDataview( + args: UpdateKxDataviewCommandInput, + cb: (err: any, data?: UpdateKxDataviewCommandOutput) => void + ): void; + updateKxDataview( + args: UpdateKxDataviewCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateKxDataviewCommandOutput) => void + ): void; + /** * @see {@link UpdateKxEnvironmentCommand} */ @@ -728,6 +1002,20 @@ export interface Finspace { options: __HttpHandlerOptions, cb: (err: any, data?: UpdateKxUserCommandOutput) => void ): void; + + /** + * @see {@link UpdateKxVolumeCommand} + */ + updateKxVolume( + args: UpdateKxVolumeCommandInput, + options?: __HttpHandlerOptions + ): Promise; + updateKxVolume(args: UpdateKxVolumeCommandInput, cb: (err: any, data?: UpdateKxVolumeCommandOutput) => void): void; + updateKxVolume( + args: UpdateKxVolumeCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateKxVolumeCommandOutput) => void + ): void; } /** diff --git a/clients/client-finspace/src/FinspaceClient.ts b/clients/client-finspace/src/FinspaceClient.ts index 311c9ce472835..5769e08f4c5bb 100644 --- a/clients/client-finspace/src/FinspaceClient.ts +++ b/clients/client-finspace/src/FinspaceClient.ts @@ -52,19 +52,31 @@ import { CreateEnvironmentCommandInput, CreateEnvironmentCommandOutput } from ". import { CreateKxChangesetCommandInput, CreateKxChangesetCommandOutput } from "./commands/CreateKxChangesetCommand"; import { CreateKxClusterCommandInput, CreateKxClusterCommandOutput } from "./commands/CreateKxClusterCommand"; import { CreateKxDatabaseCommandInput, CreateKxDatabaseCommandOutput } from "./commands/CreateKxDatabaseCommand"; +import { CreateKxDataviewCommandInput, CreateKxDataviewCommandOutput } from "./commands/CreateKxDataviewCommand"; import { CreateKxEnvironmentCommandInput, CreateKxEnvironmentCommandOutput, } from "./commands/CreateKxEnvironmentCommand"; +import { + CreateKxScalingGroupCommandInput, + CreateKxScalingGroupCommandOutput, +} from "./commands/CreateKxScalingGroupCommand"; import { CreateKxUserCommandInput, CreateKxUserCommandOutput } from "./commands/CreateKxUserCommand"; +import { CreateKxVolumeCommandInput, CreateKxVolumeCommandOutput } from "./commands/CreateKxVolumeCommand"; import { DeleteEnvironmentCommandInput, DeleteEnvironmentCommandOutput } from "./commands/DeleteEnvironmentCommand"; import { DeleteKxClusterCommandInput, DeleteKxClusterCommandOutput } from "./commands/DeleteKxClusterCommand"; import { DeleteKxDatabaseCommandInput, DeleteKxDatabaseCommandOutput } from "./commands/DeleteKxDatabaseCommand"; +import { DeleteKxDataviewCommandInput, DeleteKxDataviewCommandOutput } from "./commands/DeleteKxDataviewCommand"; import { DeleteKxEnvironmentCommandInput, DeleteKxEnvironmentCommandOutput, } from "./commands/DeleteKxEnvironmentCommand"; +import { + DeleteKxScalingGroupCommandInput, + DeleteKxScalingGroupCommandOutput, +} from "./commands/DeleteKxScalingGroupCommand"; import { DeleteKxUserCommandInput, DeleteKxUserCommandOutput } from "./commands/DeleteKxUserCommand"; +import { DeleteKxVolumeCommandInput, DeleteKxVolumeCommandOutput } from "./commands/DeleteKxVolumeCommand"; import { GetEnvironmentCommandInput, GetEnvironmentCommandOutput } from "./commands/GetEnvironmentCommand"; import { GetKxChangesetCommandInput, GetKxChangesetCommandOutput } from "./commands/GetKxChangesetCommand"; import { GetKxClusterCommandInput, GetKxClusterCommandOutput } from "./commands/GetKxClusterCommand"; @@ -73,15 +85,24 @@ import { GetKxConnectionStringCommandOutput, } from "./commands/GetKxConnectionStringCommand"; import { GetKxDatabaseCommandInput, GetKxDatabaseCommandOutput } from "./commands/GetKxDatabaseCommand"; +import { GetKxDataviewCommandInput, GetKxDataviewCommandOutput } from "./commands/GetKxDataviewCommand"; import { GetKxEnvironmentCommandInput, GetKxEnvironmentCommandOutput } from "./commands/GetKxEnvironmentCommand"; +import { GetKxScalingGroupCommandInput, GetKxScalingGroupCommandOutput } from "./commands/GetKxScalingGroupCommand"; import { GetKxUserCommandInput, GetKxUserCommandOutput } from "./commands/GetKxUserCommand"; +import { GetKxVolumeCommandInput, GetKxVolumeCommandOutput } from "./commands/GetKxVolumeCommand"; import { ListEnvironmentsCommandInput, ListEnvironmentsCommandOutput } from "./commands/ListEnvironmentsCommand"; import { ListKxChangesetsCommandInput, ListKxChangesetsCommandOutput } from "./commands/ListKxChangesetsCommand"; import { ListKxClusterNodesCommandInput, ListKxClusterNodesCommandOutput } from "./commands/ListKxClusterNodesCommand"; import { ListKxClustersCommandInput, ListKxClustersCommandOutput } from "./commands/ListKxClustersCommand"; import { ListKxDatabasesCommandInput, ListKxDatabasesCommandOutput } from "./commands/ListKxDatabasesCommand"; +import { ListKxDataviewsCommandInput, ListKxDataviewsCommandOutput } from "./commands/ListKxDataviewsCommand"; import { ListKxEnvironmentsCommandInput, ListKxEnvironmentsCommandOutput } from "./commands/ListKxEnvironmentsCommand"; +import { + ListKxScalingGroupsCommandInput, + ListKxScalingGroupsCommandOutput, +} from "./commands/ListKxScalingGroupsCommand"; import { ListKxUsersCommandInput, ListKxUsersCommandOutput } from "./commands/ListKxUsersCommand"; +import { ListKxVolumesCommandInput, ListKxVolumesCommandOutput } from "./commands/ListKxVolumesCommand"; import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, @@ -98,6 +119,7 @@ import { UpdateKxClusterDatabasesCommandOutput, } from "./commands/UpdateKxClusterDatabasesCommand"; import { UpdateKxDatabaseCommandInput, UpdateKxDatabaseCommandOutput } from "./commands/UpdateKxDatabaseCommand"; +import { UpdateKxDataviewCommandInput, UpdateKxDataviewCommandOutput } from "./commands/UpdateKxDataviewCommand"; import { UpdateKxEnvironmentCommandInput, UpdateKxEnvironmentCommandOutput, @@ -107,6 +129,7 @@ import { UpdateKxEnvironmentNetworkCommandOutput, } from "./commands/UpdateKxEnvironmentNetworkCommand"; import { UpdateKxUserCommandInput, UpdateKxUserCommandOutput } from "./commands/UpdateKxUserCommand"; +import { UpdateKxVolumeCommandInput, UpdateKxVolumeCommandOutput } from "./commands/UpdateKxVolumeCommand"; import { ClientInputEndpointParameters, ClientResolvedEndpointParameters, @@ -126,27 +149,39 @@ export type ServiceInputTypes = | CreateKxChangesetCommandInput | CreateKxClusterCommandInput | CreateKxDatabaseCommandInput + | CreateKxDataviewCommandInput | CreateKxEnvironmentCommandInput + | CreateKxScalingGroupCommandInput | CreateKxUserCommandInput + | CreateKxVolumeCommandInput | DeleteEnvironmentCommandInput | DeleteKxClusterCommandInput | DeleteKxDatabaseCommandInput + | DeleteKxDataviewCommandInput | DeleteKxEnvironmentCommandInput + | DeleteKxScalingGroupCommandInput | DeleteKxUserCommandInput + | DeleteKxVolumeCommandInput | GetEnvironmentCommandInput | GetKxChangesetCommandInput | GetKxClusterCommandInput | GetKxConnectionStringCommandInput | GetKxDatabaseCommandInput + | GetKxDataviewCommandInput | GetKxEnvironmentCommandInput + | GetKxScalingGroupCommandInput | GetKxUserCommandInput + | GetKxVolumeCommandInput | ListEnvironmentsCommandInput | ListKxChangesetsCommandInput | ListKxClusterNodesCommandInput | ListKxClustersCommandInput | ListKxDatabasesCommandInput + | ListKxDataviewsCommandInput | ListKxEnvironmentsCommandInput + | ListKxScalingGroupsCommandInput | ListKxUsersCommandInput + | ListKxVolumesCommandInput | ListTagsForResourceCommandInput | TagResourceCommandInput | UntagResourceCommandInput @@ -154,9 +189,11 @@ export type ServiceInputTypes = | UpdateKxClusterCodeConfigurationCommandInput | UpdateKxClusterDatabasesCommandInput | UpdateKxDatabaseCommandInput + | UpdateKxDataviewCommandInput | UpdateKxEnvironmentCommandInput | UpdateKxEnvironmentNetworkCommandInput - | UpdateKxUserCommandInput; + | UpdateKxUserCommandInput + | UpdateKxVolumeCommandInput; /** * @public @@ -166,27 +203,39 @@ export type ServiceOutputTypes = | CreateKxChangesetCommandOutput | CreateKxClusterCommandOutput | CreateKxDatabaseCommandOutput + | CreateKxDataviewCommandOutput | CreateKxEnvironmentCommandOutput + | CreateKxScalingGroupCommandOutput | CreateKxUserCommandOutput + | CreateKxVolumeCommandOutput | DeleteEnvironmentCommandOutput | DeleteKxClusterCommandOutput | DeleteKxDatabaseCommandOutput + | DeleteKxDataviewCommandOutput | DeleteKxEnvironmentCommandOutput + | DeleteKxScalingGroupCommandOutput | DeleteKxUserCommandOutput + | DeleteKxVolumeCommandOutput | GetEnvironmentCommandOutput | GetKxChangesetCommandOutput | GetKxClusterCommandOutput | GetKxConnectionStringCommandOutput | GetKxDatabaseCommandOutput + | GetKxDataviewCommandOutput | GetKxEnvironmentCommandOutput + | GetKxScalingGroupCommandOutput | GetKxUserCommandOutput + | GetKxVolumeCommandOutput | ListEnvironmentsCommandOutput | ListKxChangesetsCommandOutput | ListKxClusterNodesCommandOutput | ListKxClustersCommandOutput | ListKxDatabasesCommandOutput + | ListKxDataviewsCommandOutput | ListKxEnvironmentsCommandOutput + | ListKxScalingGroupsCommandOutput | ListKxUsersCommandOutput + | ListKxVolumesCommandOutput | ListTagsForResourceCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput @@ -194,9 +243,11 @@ export type ServiceOutputTypes = | UpdateKxClusterCodeConfigurationCommandOutput | UpdateKxClusterDatabasesCommandOutput | UpdateKxDatabaseCommandOutput + | UpdateKxDataviewCommandOutput | UpdateKxEnvironmentCommandOutput | UpdateKxEnvironmentNetworkCommandOutput - | UpdateKxUserCommandOutput; + | UpdateKxUserCommandOutput + | UpdateKxVolumeCommandOutput; /** * @public diff --git a/clients/client-finspace/src/commands/CreateKxClusterCommand.ts b/clients/client-finspace/src/commands/CreateKxClusterCommand.ts index 7fec9ee7ea841..05fc11cb7b1b5 100644 --- a/clients/client-finspace/src/commands/CreateKxClusterCommand.ts +++ b/clients/client-finspace/src/commands/CreateKxClusterCommand.ts @@ -48,7 +48,12 @@ export interface CreateKxClusterCommandOutput extends CreateKxClusterResponse, _ * clientToken: "STRING_VALUE", * environmentId: "STRING_VALUE", // required * clusterName: "STRING_VALUE", // required - * clusterType: "HDB" || "RDB" || "GATEWAY" || "GP", // required + * clusterType: "HDB" || "RDB" || "GATEWAY" || "GP" || "TICKERPLANT", // required + * tickerplantLogConfiguration: { // TickerplantLogConfiguration + * tickerplantLogVolumes: [ // TickerplantLogVolumes + * "STRING_VALUE", + * ], + * }, * databases: [ // KxDatabaseConfigurations * { // KxDatabaseConfiguration * databaseName: "STRING_VALUE", // required @@ -58,9 +63,24 @@ export interface CreateKxClusterCommandOutput extends CreateKxClusterResponse, _ * dbPaths: [ // DbPaths // required * "STRING_VALUE", * ], + * dataviewName: "STRING_VALUE", * }, * ], * changesetId: "STRING_VALUE", + * dataviewName: "STRING_VALUE", + * dataviewConfiguration: { // KxDataviewConfiguration + * dataviewName: "STRING_VALUE", + * dataviewVersionId: "STRING_VALUE", + * changesetId: "STRING_VALUE", + * segmentConfigurations: [ // KxDataviewSegmentConfigurationList + * { // KxDataviewSegmentConfiguration + * dbPaths: [ // SegmentConfigurationDbPathList // required + * "STRING_VALUE", + * ], + * volumeName: "STRING_VALUE", // required + * }, + * ], + * }, * }, * ], * cacheStorageConfigurations: [ // KxCacheStorageConfigurations @@ -107,14 +127,22 @@ export interface CreateKxClusterCommandOutput extends CreateKxClusterResponse, _ * }, * executionRole: "STRING_VALUE", * savedownStorageConfiguration: { // KxSavedownStorageConfiguration - * type: "SDS01", // required - * size: Number("int"), // required + * type: "SDS01", + * size: Number("int"), + * volumeName: "STRING_VALUE", * }, * azMode: "SINGLE" || "MULTI", // required * availabilityZoneId: "STRING_VALUE", * tags: { // TagMap * "": "STRING_VALUE", * }, + * scalingGroupConfiguration: { // KxScalingGroupConfiguration + * scalingGroupName: "STRING_VALUE", // required + * memoryLimit: Number("int"), + * memoryReservation: Number("int"), // required + * nodeCount: Number("int"), // required + * cpu: Number("double"), + * }, * }; * const command = new CreateKxClusterCommand(input); * const response = await client.send(command); @@ -123,7 +151,18 @@ export interface CreateKxClusterCommandOutput extends CreateKxClusterResponse, _ * // status: "PENDING" || "CREATING" || "CREATE_FAILED" || "RUNNING" || "UPDATING" || "DELETING" || "DELETED" || "DELETE_FAILED", * // statusReason: "STRING_VALUE", * // clusterName: "STRING_VALUE", - * // clusterType: "HDB" || "RDB" || "GATEWAY" || "GP", + * // clusterType: "HDB" || "RDB" || "GATEWAY" || "GP" || "TICKERPLANT", + * // tickerplantLogConfiguration: { // TickerplantLogConfiguration + * // tickerplantLogVolumes: [ // TickerplantLogVolumes + * // "STRING_VALUE", + * // ], + * // }, + * // volumes: [ // Volumes + * // { // Volume + * // volumeName: "STRING_VALUE", + * // volumeType: "NAS_1", + * // }, + * // ], * // databases: [ // KxDatabaseConfigurations * // { // KxDatabaseConfiguration * // databaseName: "STRING_VALUE", // required @@ -133,9 +172,24 @@ export interface CreateKxClusterCommandOutput extends CreateKxClusterResponse, _ * // dbPaths: [ // DbPaths // required * // "STRING_VALUE", * // ], + * // dataviewName: "STRING_VALUE", * // }, * // ], * // changesetId: "STRING_VALUE", + * // dataviewName: "STRING_VALUE", + * // dataviewConfiguration: { // KxDataviewConfiguration + * // dataviewName: "STRING_VALUE", + * // dataviewVersionId: "STRING_VALUE", + * // changesetId: "STRING_VALUE", + * // segmentConfigurations: [ // KxDataviewSegmentConfigurationList + * // { // KxDataviewSegmentConfiguration + * // dbPaths: [ // SegmentConfigurationDbPathList // required + * // "STRING_VALUE", + * // ], + * // volumeName: "STRING_VALUE", // required + * // }, + * // ], + * // }, * // }, * // ], * // cacheStorageConfigurations: [ // KxCacheStorageConfigurations @@ -183,12 +237,20 @@ export interface CreateKxClusterCommandOutput extends CreateKxClusterResponse, _ * // executionRole: "STRING_VALUE", * // lastModifiedTimestamp: new Date("TIMESTAMP"), * // savedownStorageConfiguration: { // KxSavedownStorageConfiguration - * // type: "SDS01", // required - * // size: Number("int"), // required + * // type: "SDS01", + * // size: Number("int"), + * // volumeName: "STRING_VALUE", * // }, * // azMode: "SINGLE" || "MULTI", * // availabilityZoneId: "STRING_VALUE", * // createdTimestamp: new Date("TIMESTAMP"), + * // scalingGroupConfiguration: { // KxScalingGroupConfiguration + * // scalingGroupName: "STRING_VALUE", // required + * // memoryLimit: Number("int"), + * // memoryReservation: Number("int"), // required + * // nodeCount: Number("int"), // required + * // cpu: Number("double"), + * // }, * // }; * * ``` diff --git a/clients/client-finspace/src/commands/CreateKxDataviewCommand.ts b/clients/client-finspace/src/commands/CreateKxDataviewCommand.ts new file mode 100644 index 0000000000000..3348d1dcaf013 --- /dev/null +++ b/clients/client-finspace/src/commands/CreateKxDataviewCommand.ts @@ -0,0 +1,202 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { FinspaceClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../FinspaceClient"; +import { CreateKxDataviewRequest, CreateKxDataviewResponse } from "../models/models_0"; +import { de_CreateKxDataviewCommand, se_CreateKxDataviewCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link CreateKxDataviewCommand}. + */ +export interface CreateKxDataviewCommandInput extends CreateKxDataviewRequest {} +/** + * @public + * + * The output of {@link CreateKxDataviewCommand}. + */ +export interface CreateKxDataviewCommandOutput extends CreateKxDataviewResponse, __MetadataBearer {} + +/** + * @public + *

+ * Creates a snapshot of kdb database with tiered storage capabilities and a pre-warmed cache, ready for mounting on kdb clusters. Dataviews are only available for clusters running on a scaling group. They are not supported on dedicated clusters.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { FinspaceClient, CreateKxDataviewCommand } from "@aws-sdk/client-finspace"; // ES Modules import + * // const { FinspaceClient, CreateKxDataviewCommand } = require("@aws-sdk/client-finspace"); // CommonJS import + * const client = new FinspaceClient(config); + * const input = { // CreateKxDataviewRequest + * environmentId: "STRING_VALUE", // required + * databaseName: "STRING_VALUE", // required + * dataviewName: "STRING_VALUE", // required + * azMode: "SINGLE" || "MULTI", // required + * availabilityZoneId: "STRING_VALUE", + * changesetId: "STRING_VALUE", + * segmentConfigurations: [ // KxDataviewSegmentConfigurationList + * { // KxDataviewSegmentConfiguration + * dbPaths: [ // SegmentConfigurationDbPathList // required + * "STRING_VALUE", + * ], + * volumeName: "STRING_VALUE", // required + * }, + * ], + * autoUpdate: true || false, + * description: "STRING_VALUE", + * tags: { // TagMap + * "": "STRING_VALUE", + * }, + * clientToken: "STRING_VALUE", // required + * }; + * const command = new CreateKxDataviewCommand(input); + * const response = await client.send(command); + * // { // CreateKxDataviewResponse + * // dataviewName: "STRING_VALUE", + * // databaseName: "STRING_VALUE", + * // environmentId: "STRING_VALUE", + * // azMode: "SINGLE" || "MULTI", + * // availabilityZoneId: "STRING_VALUE", + * // changesetId: "STRING_VALUE", + * // segmentConfigurations: [ // KxDataviewSegmentConfigurationList + * // { // KxDataviewSegmentConfiguration + * // dbPaths: [ // SegmentConfigurationDbPathList // required + * // "STRING_VALUE", + * // ], + * // volumeName: "STRING_VALUE", // required + * // }, + * // ], + * // description: "STRING_VALUE", + * // autoUpdate: true || false, + * // createdTimestamp: new Date("TIMESTAMP"), + * // lastModifiedTimestamp: new Date("TIMESTAMP"), + * // status: "CREATING" || "ACTIVE" || "UPDATING" || "FAILED" || "DELETING", + * // }; + * + * ``` + * + * @param CreateKxDataviewCommandInput - {@link CreateKxDataviewCommandInput} + * @returns {@link CreateKxDataviewCommandOutput} + * @see {@link CreateKxDataviewCommandInput} for command's `input` shape. + * @see {@link CreateKxDataviewCommandOutput} for command's `response` shape. + * @see {@link FinspaceClientResolvedConfig | config} for FinspaceClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

There was a conflict with this action, and it could not be completed.

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

The request processing has failed because of an unknown error, exception or + * failure.

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

A service limit or quota is exceeded.

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

The specified resource group already exists.

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

One or more resources can't be found.

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

The request was denied due to request throttling.

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

The input fails to satisfy the constraints specified by an AWS service.

+ * + * @throws {@link FinspaceServiceException} + *

Base exception class for all service exceptions from Finspace service.

+ * + */ +export class CreateKxDataviewCommand extends $Command< + CreateKxDataviewCommandInput, + CreateKxDataviewCommandOutput, + FinspaceClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: CreateKxDataviewCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: FinspaceClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, CreateKxDataviewCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "FinspaceClient"; + const commandName = "CreateKxDataviewCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AWSHabaneroManagementService", + operation: "CreateKxDataview", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: CreateKxDataviewCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_CreateKxDataviewCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_CreateKxDataviewCommand(output, context); + } +} diff --git a/clients/client-finspace/src/commands/CreateKxScalingGroupCommand.ts b/clients/client-finspace/src/commands/CreateKxScalingGroupCommand.ts new file mode 100644 index 0000000000000..4dfb6f8ae7979 --- /dev/null +++ b/clients/client-finspace/src/commands/CreateKxScalingGroupCommand.ts @@ -0,0 +1,174 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { FinspaceClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../FinspaceClient"; +import { CreateKxScalingGroupRequest, CreateKxScalingGroupResponse } from "../models/models_0"; +import { de_CreateKxScalingGroupCommand, se_CreateKxScalingGroupCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link CreateKxScalingGroupCommand}. + */ +export interface CreateKxScalingGroupCommandInput extends CreateKxScalingGroupRequest {} +/** + * @public + * + * The output of {@link CreateKxScalingGroupCommand}. + */ +export interface CreateKxScalingGroupCommandOutput extends CreateKxScalingGroupResponse, __MetadataBearer {} + +/** + * @public + *

Creates a new scaling group.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { FinspaceClient, CreateKxScalingGroupCommand } from "@aws-sdk/client-finspace"; // ES Modules import + * // const { FinspaceClient, CreateKxScalingGroupCommand } = require("@aws-sdk/client-finspace"); // CommonJS import + * const client = new FinspaceClient(config); + * const input = { // CreateKxScalingGroupRequest + * clientToken: "STRING_VALUE", // required + * environmentId: "STRING_VALUE", // required + * scalingGroupName: "STRING_VALUE", // required + * hostType: "STRING_VALUE", // required + * availabilityZoneId: "STRING_VALUE", // required + * tags: { // TagMap + * "": "STRING_VALUE", + * }, + * }; + * const command = new CreateKxScalingGroupCommand(input); + * const response = await client.send(command); + * // { // CreateKxScalingGroupResponse + * // environmentId: "STRING_VALUE", + * // scalingGroupName: "STRING_VALUE", + * // hostType: "STRING_VALUE", + * // availabilityZoneId: "STRING_VALUE", + * // status: "CREATING" || "CREATE_FAILED" || "ACTIVE" || "DELETING" || "DELETED" || "DELETE_FAILED", + * // lastModifiedTimestamp: new Date("TIMESTAMP"), + * // createdTimestamp: new Date("TIMESTAMP"), + * // }; + * + * ``` + * + * @param CreateKxScalingGroupCommandInput - {@link CreateKxScalingGroupCommandInput} + * @returns {@link CreateKxScalingGroupCommandOutput} + * @see {@link CreateKxScalingGroupCommandInput} for command's `input` shape. + * @see {@link CreateKxScalingGroupCommandOutput} for command's `response` shape. + * @see {@link FinspaceClientResolvedConfig | config} for FinspaceClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

There was a conflict with this action, and it could not be completed.

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

The request processing has failed because of an unknown error, exception or + * failure.

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

A service limit or quota is exceeded.

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

One or more resources can't be found.

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

The request was denied due to request throttling.

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

The input fails to satisfy the constraints specified by an AWS service.

+ * + * @throws {@link FinspaceServiceException} + *

Base exception class for all service exceptions from Finspace service.

+ * + */ +export class CreateKxScalingGroupCommand extends $Command< + CreateKxScalingGroupCommandInput, + CreateKxScalingGroupCommandOutput, + FinspaceClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: CreateKxScalingGroupCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: FinspaceClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, CreateKxScalingGroupCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "FinspaceClient"; + const commandName = "CreateKxScalingGroupCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AWSHabaneroManagementService", + operation: "CreateKxScalingGroup", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: CreateKxScalingGroupCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_CreateKxScalingGroupCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_CreateKxScalingGroupCommand(output, context); + } +} diff --git a/clients/client-finspace/src/commands/CreateKxVolumeCommand.ts b/clients/client-finspace/src/commands/CreateKxVolumeCommand.ts new file mode 100644 index 0000000000000..b26024097d779 --- /dev/null +++ b/clients/client-finspace/src/commands/CreateKxVolumeCommand.ts @@ -0,0 +1,195 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { FinspaceClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../FinspaceClient"; +import { CreateKxVolumeRequest, CreateKxVolumeResponse } from "../models/models_0"; +import { de_CreateKxVolumeCommand, se_CreateKxVolumeCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link CreateKxVolumeCommand}. + */ +export interface CreateKxVolumeCommandInput extends CreateKxVolumeRequest {} +/** + * @public + * + * The output of {@link CreateKxVolumeCommand}. + */ +export interface CreateKxVolumeCommandOutput extends CreateKxVolumeResponse, __MetadataBearer {} + +/** + * @public + *

+ * Creates a new volume with a specific amount of throughput and storage capacity.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { FinspaceClient, CreateKxVolumeCommand } from "@aws-sdk/client-finspace"; // ES Modules import + * // const { FinspaceClient, CreateKxVolumeCommand } = require("@aws-sdk/client-finspace"); // CommonJS import + * const client = new FinspaceClient(config); + * const input = { // CreateKxVolumeRequest + * clientToken: "STRING_VALUE", + * environmentId: "STRING_VALUE", // required + * volumeType: "NAS_1", // required + * volumeName: "STRING_VALUE", // required + * description: "STRING_VALUE", + * nas1Configuration: { // KxNAS1Configuration + * type: "SSD_1000" || "SSD_250" || "HDD_12", + * size: Number("int"), + * }, + * azMode: "SINGLE" || "MULTI", // required + * availabilityZoneIds: [ // AvailabilityZoneIds // required + * "STRING_VALUE", + * ], + * tags: { // TagMap + * "": "STRING_VALUE", + * }, + * }; + * const command = new CreateKxVolumeCommand(input); + * const response = await client.send(command); + * // { // CreateKxVolumeResponse + * // environmentId: "STRING_VALUE", + * // volumeName: "STRING_VALUE", + * // volumeType: "NAS_1", + * // volumeArn: "STRING_VALUE", + * // nas1Configuration: { // KxNAS1Configuration + * // type: "SSD_1000" || "SSD_250" || "HDD_12", + * // size: Number("int"), + * // }, + * // status: "CREATING" || "CREATE_FAILED" || "ACTIVE" || "UPDATING" || "UPDATED" || "UPDATE_FAILED" || "DELETING" || "DELETED" || "DELETE_FAILED", + * // statusReason: "STRING_VALUE", + * // azMode: "SINGLE" || "MULTI", + * // description: "STRING_VALUE", + * // availabilityZoneIds: [ // AvailabilityZoneIds + * // "STRING_VALUE", + * // ], + * // createdTimestamp: new Date("TIMESTAMP"), + * // }; + * + * ``` + * + * @param CreateKxVolumeCommandInput - {@link CreateKxVolumeCommandInput} + * @returns {@link CreateKxVolumeCommandOutput} + * @see {@link CreateKxVolumeCommandInput} for command's `input` shape. + * @see {@link CreateKxVolumeCommandOutput} for command's `response` shape. + * @see {@link FinspaceClientResolvedConfig | config} for FinspaceClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

There was a conflict with this action, and it could not be completed.

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

The request processing has failed because of an unknown error, exception or + * failure.

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

A service limit or quota is exceeded.

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

The specified resource group already exists.

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

One or more resources can't be found.

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

The request was denied due to request throttling.

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

The input fails to satisfy the constraints specified by an AWS service.

+ * + * @throws {@link FinspaceServiceException} + *

Base exception class for all service exceptions from Finspace service.

+ * + */ +export class CreateKxVolumeCommand extends $Command< + CreateKxVolumeCommandInput, + CreateKxVolumeCommandOutput, + FinspaceClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: CreateKxVolumeCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: FinspaceClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, CreateKxVolumeCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "FinspaceClient"; + const commandName = "CreateKxVolumeCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AWSHabaneroManagementService", + operation: "CreateKxVolume", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: CreateKxVolumeCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_CreateKxVolumeCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_CreateKxVolumeCommand(output, context); + } +} diff --git a/clients/client-finspace/src/commands/DeleteKxDataviewCommand.ts b/clients/client-finspace/src/commands/DeleteKxDataviewCommand.ts new file mode 100644 index 0000000000000..855eb11b8b430 --- /dev/null +++ b/clients/client-finspace/src/commands/DeleteKxDataviewCommand.ts @@ -0,0 +1,160 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { FinspaceClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../FinspaceClient"; +import { DeleteKxDataviewRequest, DeleteKxDataviewResponse } from "../models/models_0"; +import { de_DeleteKxDataviewCommand, se_DeleteKxDataviewCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link DeleteKxDataviewCommand}. + */ +export interface DeleteKxDataviewCommandInput extends DeleteKxDataviewRequest {} +/** + * @public + * + * The output of {@link DeleteKxDataviewCommand}. + */ +export interface DeleteKxDataviewCommandOutput extends DeleteKxDataviewResponse, __MetadataBearer {} + +/** + * @public + *

+ * Deletes the specified dataview. Before deleting a dataview, make sure that it is not in use by any cluster.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { FinspaceClient, DeleteKxDataviewCommand } from "@aws-sdk/client-finspace"; // ES Modules import + * // const { FinspaceClient, DeleteKxDataviewCommand } = require("@aws-sdk/client-finspace"); // CommonJS import + * const client = new FinspaceClient(config); + * const input = { // DeleteKxDataviewRequest + * environmentId: "STRING_VALUE", // required + * databaseName: "STRING_VALUE", // required + * dataviewName: "STRING_VALUE", // required + * clientToken: "STRING_VALUE", // required + * }; + * const command = new DeleteKxDataviewCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DeleteKxDataviewCommandInput - {@link DeleteKxDataviewCommandInput} + * @returns {@link DeleteKxDataviewCommandOutput} + * @see {@link DeleteKxDataviewCommandInput} for command's `input` shape. + * @see {@link DeleteKxDataviewCommandOutput} for command's `response` shape. + * @see {@link FinspaceClientResolvedConfig | config} for FinspaceClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

There was a conflict with this action, and it could not be completed.

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

The request processing has failed because of an unknown error, exception or + * failure.

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

One or more resources can't be found.

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

The request was denied due to request throttling.

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

The input fails to satisfy the constraints specified by an AWS service.

+ * + * @throws {@link FinspaceServiceException} + *

Base exception class for all service exceptions from Finspace service.

+ * + */ +export class DeleteKxDataviewCommand extends $Command< + DeleteKxDataviewCommandInput, + DeleteKxDataviewCommandOutput, + FinspaceClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: DeleteKxDataviewCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: FinspaceClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, DeleteKxDataviewCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "FinspaceClient"; + const commandName = "DeleteKxDataviewCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AWSHabaneroManagementService", + operation: "DeleteKxDataview", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: DeleteKxDataviewCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_DeleteKxDataviewCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_DeleteKxDataviewCommand(output, context); + } +} diff --git a/clients/client-finspace/src/commands/DeleteKxEnvironmentCommand.ts b/clients/client-finspace/src/commands/DeleteKxEnvironmentCommand.ts index 522d87ed91708..ed0ef47cedad1 100644 --- a/clients/client-finspace/src/commands/DeleteKxEnvironmentCommand.ts +++ b/clients/client-finspace/src/commands/DeleteKxEnvironmentCommand.ts @@ -46,6 +46,7 @@ export interface DeleteKxEnvironmentCommandOutput extends DeleteKxEnvironmentRes * const client = new FinspaceClient(config); * const input = { // DeleteKxEnvironmentRequest * environmentId: "STRING_VALUE", // required + * clientToken: "STRING_VALUE", * }; * const command = new DeleteKxEnvironmentCommand(input); * const response = await client.send(command); @@ -62,6 +63,9 @@ export interface DeleteKxEnvironmentCommandOutput extends DeleteKxEnvironmentRes * @throws {@link AccessDeniedException} (client fault) *

You do not have sufficient access to perform this action.

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

There was a conflict with this action, and it could not be completed.

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

The request processing has failed because of an unknown error, exception or * failure.

diff --git a/clients/client-finspace/src/commands/DeleteKxScalingGroupCommand.ts b/clients/client-finspace/src/commands/DeleteKxScalingGroupCommand.ts new file mode 100644 index 0000000000000..3daffb58d2552 --- /dev/null +++ b/clients/client-finspace/src/commands/DeleteKxScalingGroupCommand.ts @@ -0,0 +1,162 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { FinspaceClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../FinspaceClient"; +import { DeleteKxScalingGroupRequest, DeleteKxScalingGroupResponse } from "../models/models_0"; +import { de_DeleteKxScalingGroupCommand, se_DeleteKxScalingGroupCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link DeleteKxScalingGroupCommand}. + */ +export interface DeleteKxScalingGroupCommandInput extends DeleteKxScalingGroupRequest {} +/** + * @public + * + * The output of {@link DeleteKxScalingGroupCommand}. + */ +export interface DeleteKxScalingGroupCommandOutput extends DeleteKxScalingGroupResponse, __MetadataBearer {} + +/** + * @public + *

+ * Deletes the specified scaling group. This action is irreversible. You cannot delete a scaling group until all the clusters running on it have been deleted.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { FinspaceClient, DeleteKxScalingGroupCommand } from "@aws-sdk/client-finspace"; // ES Modules import + * // const { FinspaceClient, DeleteKxScalingGroupCommand } = require("@aws-sdk/client-finspace"); // CommonJS import + * const client = new FinspaceClient(config); + * const input = { // DeleteKxScalingGroupRequest + * environmentId: "STRING_VALUE", // required + * scalingGroupName: "STRING_VALUE", // required + * clientToken: "STRING_VALUE", + * }; + * const command = new DeleteKxScalingGroupCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DeleteKxScalingGroupCommandInput - {@link DeleteKxScalingGroupCommandInput} + * @returns {@link DeleteKxScalingGroupCommandOutput} + * @see {@link DeleteKxScalingGroupCommandInput} for command's `input` shape. + * @see {@link DeleteKxScalingGroupCommandOutput} for command's `response` shape. + * @see {@link FinspaceClientResolvedConfig | config} for FinspaceClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

There was a conflict with this action, and it could not be completed.

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

The request processing has failed because of an unknown error, exception or + * failure.

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

A service limit or quota is exceeded.

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

One or more resources can't be found.

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

The request was denied due to request throttling.

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

The input fails to satisfy the constraints specified by an AWS service.

+ * + * @throws {@link FinspaceServiceException} + *

Base exception class for all service exceptions from Finspace service.

+ * + */ +export class DeleteKxScalingGroupCommand extends $Command< + DeleteKxScalingGroupCommandInput, + DeleteKxScalingGroupCommandOutput, + FinspaceClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: DeleteKxScalingGroupCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: FinspaceClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, DeleteKxScalingGroupCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "FinspaceClient"; + const commandName = "DeleteKxScalingGroupCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AWSHabaneroManagementService", + operation: "DeleteKxScalingGroup", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: DeleteKxScalingGroupCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_DeleteKxScalingGroupCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_DeleteKxScalingGroupCommand(output, context); + } +} diff --git a/clients/client-finspace/src/commands/DeleteKxUserCommand.ts b/clients/client-finspace/src/commands/DeleteKxUserCommand.ts index 5e19958bffe71..20e69443c7cb1 100644 --- a/clients/client-finspace/src/commands/DeleteKxUserCommand.ts +++ b/clients/client-finspace/src/commands/DeleteKxUserCommand.ts @@ -47,6 +47,7 @@ export interface DeleteKxUserCommandOutput extends DeleteKxUserResponse, __Metad * const input = { // DeleteKxUserRequest * userName: "STRING_VALUE", // required * environmentId: "STRING_VALUE", // required + * clientToken: "STRING_VALUE", * }; * const command = new DeleteKxUserCommand(input); * const response = await client.send(command); @@ -63,6 +64,9 @@ export interface DeleteKxUserCommandOutput extends DeleteKxUserResponse, __Metad * @throws {@link AccessDeniedException} (client fault) *

You do not have sufficient access to perform this action.

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

There was a conflict with this action, and it could not be completed.

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

The request processing has failed because of an unknown error, exception or * failure.

diff --git a/clients/client-finspace/src/commands/DeleteKxVolumeCommand.ts b/clients/client-finspace/src/commands/DeleteKxVolumeCommand.ts new file mode 100644 index 0000000000000..68105431a29d4 --- /dev/null +++ b/clients/client-finspace/src/commands/DeleteKxVolumeCommand.ts @@ -0,0 +1,164 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { FinspaceClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../FinspaceClient"; +import { DeleteKxVolumeRequest, DeleteKxVolumeResponse } from "../models/models_0"; +import { de_DeleteKxVolumeCommand, se_DeleteKxVolumeCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link DeleteKxVolumeCommand}. + */ +export interface DeleteKxVolumeCommandInput extends DeleteKxVolumeRequest {} +/** + * @public + * + * The output of {@link DeleteKxVolumeCommand}. + */ +export interface DeleteKxVolumeCommandOutput extends DeleteKxVolumeResponse, __MetadataBearer {} + +/** + * @public + *

+ * Deletes a volume. You can only delete a volume if it's not attached to a cluster or a dataview. When a volume is deleted, any data on the volume is lost. This action is irreversible. + * + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { FinspaceClient, DeleteKxVolumeCommand } from "@aws-sdk/client-finspace"; // ES Modules import + * // const { FinspaceClient, DeleteKxVolumeCommand } = require("@aws-sdk/client-finspace"); // CommonJS import + * const client = new FinspaceClient(config); + * const input = { // DeleteKxVolumeRequest + * environmentId: "STRING_VALUE", // required + * volumeName: "STRING_VALUE", // required + * clientToken: "STRING_VALUE", + * }; + * const command = new DeleteKxVolumeCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DeleteKxVolumeCommandInput - {@link DeleteKxVolumeCommandInput} + * @returns {@link DeleteKxVolumeCommandOutput} + * @see {@link DeleteKxVolumeCommandInput} for command's `input` shape. + * @see {@link DeleteKxVolumeCommandOutput} for command's `response` shape. + * @see {@link FinspaceClientResolvedConfig | config} for FinspaceClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

There was a conflict with this action, and it could not be completed.

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

The request processing has failed because of an unknown error, exception or + * failure.

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

A service limit or quota is exceeded.

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

One or more resources can't be found.

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

The request was denied due to request throttling.

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

The input fails to satisfy the constraints specified by an AWS service.

+ * + * @throws {@link FinspaceServiceException} + *

Base exception class for all service exceptions from Finspace service.

+ * + */ +export class DeleteKxVolumeCommand extends $Command< + DeleteKxVolumeCommandInput, + DeleteKxVolumeCommandOutput, + FinspaceClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: DeleteKxVolumeCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: FinspaceClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, DeleteKxVolumeCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "FinspaceClient"; + const commandName = "DeleteKxVolumeCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AWSHabaneroManagementService", + operation: "DeleteKxVolume", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: DeleteKxVolumeCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_DeleteKxVolumeCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_DeleteKxVolumeCommand(output, context); + } +} diff --git a/clients/client-finspace/src/commands/GetKxClusterCommand.ts b/clients/client-finspace/src/commands/GetKxClusterCommand.ts index 074e6956b2ed2..61ad9205d74b4 100644 --- a/clients/client-finspace/src/commands/GetKxClusterCommand.ts +++ b/clients/client-finspace/src/commands/GetKxClusterCommand.ts @@ -54,7 +54,18 @@ export interface GetKxClusterCommandOutput extends GetKxClusterResponse, __Metad * // status: "PENDING" || "CREATING" || "CREATE_FAILED" || "RUNNING" || "UPDATING" || "DELETING" || "DELETED" || "DELETE_FAILED", * // statusReason: "STRING_VALUE", * // clusterName: "STRING_VALUE", - * // clusterType: "HDB" || "RDB" || "GATEWAY" || "GP", + * // clusterType: "HDB" || "RDB" || "GATEWAY" || "GP" || "TICKERPLANT", + * // tickerplantLogConfiguration: { // TickerplantLogConfiguration + * // tickerplantLogVolumes: [ // TickerplantLogVolumes + * // "STRING_VALUE", + * // ], + * // }, + * // volumes: [ // Volumes + * // { // Volume + * // volumeName: "STRING_VALUE", + * // volumeType: "NAS_1", + * // }, + * // ], * // databases: [ // KxDatabaseConfigurations * // { // KxDatabaseConfiguration * // databaseName: "STRING_VALUE", // required @@ -64,9 +75,24 @@ export interface GetKxClusterCommandOutput extends GetKxClusterResponse, __Metad * // dbPaths: [ // DbPaths // required * // "STRING_VALUE", * // ], + * // dataviewName: "STRING_VALUE", * // }, * // ], * // changesetId: "STRING_VALUE", + * // dataviewName: "STRING_VALUE", + * // dataviewConfiguration: { // KxDataviewConfiguration + * // dataviewName: "STRING_VALUE", + * // dataviewVersionId: "STRING_VALUE", + * // changesetId: "STRING_VALUE", + * // segmentConfigurations: [ // KxDataviewSegmentConfigurationList + * // { // KxDataviewSegmentConfiguration + * // dbPaths: [ // SegmentConfigurationDbPathList // required + * // "STRING_VALUE", + * // ], + * // volumeName: "STRING_VALUE", // required + * // }, + * // ], + * // }, * // }, * // ], * // cacheStorageConfigurations: [ // KxCacheStorageConfigurations @@ -114,12 +140,20 @@ export interface GetKxClusterCommandOutput extends GetKxClusterResponse, __Metad * // executionRole: "STRING_VALUE", * // lastModifiedTimestamp: new Date("TIMESTAMP"), * // savedownStorageConfiguration: { // KxSavedownStorageConfiguration - * // type: "SDS01", // required - * // size: Number("int"), // required + * // type: "SDS01", + * // size: Number("int"), + * // volumeName: "STRING_VALUE", * // }, * // azMode: "SINGLE" || "MULTI", * // availabilityZoneId: "STRING_VALUE", * // createdTimestamp: new Date("TIMESTAMP"), + * // scalingGroupConfiguration: { // KxScalingGroupConfiguration + * // scalingGroupName: "STRING_VALUE", // required + * // memoryLimit: Number("int"), + * // memoryReservation: Number("int"), // required + * // nodeCount: Number("int"), // required + * // cpu: Number("double"), + * // }, * // }; * * ``` diff --git a/clients/client-finspace/src/commands/GetKxDataviewCommand.ts b/clients/client-finspace/src/commands/GetKxDataviewCommand.ts new file mode 100644 index 0000000000000..7e00509391e5c --- /dev/null +++ b/clients/client-finspace/src/commands/GetKxDataviewCommand.ts @@ -0,0 +1,194 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { FinspaceClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../FinspaceClient"; +import { GetKxDataviewRequest, GetKxDataviewResponse } from "../models/models_0"; +import { de_GetKxDataviewCommand, se_GetKxDataviewCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link GetKxDataviewCommand}. + */ +export interface GetKxDataviewCommandInput extends GetKxDataviewRequest {} +/** + * @public + * + * The output of {@link GetKxDataviewCommand}. + */ +export interface GetKxDataviewCommandOutput extends GetKxDataviewResponse, __MetadataBearer {} + +/** + * @public + *

+ * Retrieves details of the dataview. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { FinspaceClient, GetKxDataviewCommand } from "@aws-sdk/client-finspace"; // ES Modules import + * // const { FinspaceClient, GetKxDataviewCommand } = require("@aws-sdk/client-finspace"); // CommonJS import + * const client = new FinspaceClient(config); + * const input = { // GetKxDataviewRequest + * environmentId: "STRING_VALUE", // required + * databaseName: "STRING_VALUE", // required + * dataviewName: "STRING_VALUE", // required + * }; + * const command = new GetKxDataviewCommand(input); + * const response = await client.send(command); + * // { // GetKxDataviewResponse + * // databaseName: "STRING_VALUE", + * // dataviewName: "STRING_VALUE", + * // azMode: "SINGLE" || "MULTI", + * // availabilityZoneId: "STRING_VALUE", + * // changesetId: "STRING_VALUE", + * // segmentConfigurations: [ // KxDataviewSegmentConfigurationList + * // { // KxDataviewSegmentConfiguration + * // dbPaths: [ // SegmentConfigurationDbPathList // required + * // "STRING_VALUE", + * // ], + * // volumeName: "STRING_VALUE", // required + * // }, + * // ], + * // activeVersions: [ // KxDataviewActiveVersionList + * // { // KxDataviewActiveVersion + * // changesetId: "STRING_VALUE", + * // segmentConfigurations: [ + * // { + * // dbPaths: [ // required + * // "STRING_VALUE", + * // ], + * // volumeName: "STRING_VALUE", // required + * // }, + * // ], + * // attachedClusters: [ // AttachedClusterList + * // "STRING_VALUE", + * // ], + * // createdTimestamp: new Date("TIMESTAMP"), + * // versionId: "STRING_VALUE", + * // }, + * // ], + * // description: "STRING_VALUE", + * // autoUpdate: true || false, + * // environmentId: "STRING_VALUE", + * // createdTimestamp: new Date("TIMESTAMP"), + * // lastModifiedTimestamp: new Date("TIMESTAMP"), + * // status: "CREATING" || "ACTIVE" || "UPDATING" || "FAILED" || "DELETING", + * // statusReason: "STRING_VALUE", + * // }; + * + * ``` + * + * @param GetKxDataviewCommandInput - {@link GetKxDataviewCommandInput} + * @returns {@link GetKxDataviewCommandOutput} + * @see {@link GetKxDataviewCommandInput} for command's `input` shape. + * @see {@link GetKxDataviewCommandOutput} for command's `response` shape. + * @see {@link FinspaceClientResolvedConfig | config} for FinspaceClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

The request processing has failed because of an unknown error, exception or + * failure.

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

One or more resources can't be found.

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

The request was denied due to request throttling.

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

The input fails to satisfy the constraints specified by an AWS service.

+ * + * @throws {@link FinspaceServiceException} + *

Base exception class for all service exceptions from Finspace service.

+ * + */ +export class GetKxDataviewCommand extends $Command< + GetKxDataviewCommandInput, + GetKxDataviewCommandOutput, + FinspaceClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: GetKxDataviewCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: FinspaceClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use(getEndpointPlugin(configuration, GetKxDataviewCommand.getEndpointParameterInstructions())); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "FinspaceClient"; + const commandName = "GetKxDataviewCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AWSHabaneroManagementService", + operation: "GetKxDataview", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: GetKxDataviewCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_GetKxDataviewCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_GetKxDataviewCommand(output, context); + } +} diff --git a/clients/client-finspace/src/commands/GetKxEnvironmentCommand.ts b/clients/client-finspace/src/commands/GetKxEnvironmentCommand.ts index 7ce5d1f9788c6..25aefb4a1be2d 100644 --- a/clients/client-finspace/src/commands/GetKxEnvironmentCommand.ts +++ b/clients/client-finspace/src/commands/GetKxEnvironmentCommand.ts @@ -106,6 +106,9 @@ export interface GetKxEnvironmentCommandOutput extends GetKxEnvironmentResponse, * @throws {@link AccessDeniedException} (client fault) *

You do not have sufficient access to perform this action.

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

There was a conflict with this action, and it could not be completed.

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

The request processing has failed because of an unknown error, exception or * failure.

diff --git a/clients/client-finspace/src/commands/GetKxScalingGroupCommand.ts b/clients/client-finspace/src/commands/GetKxScalingGroupCommand.ts new file mode 100644 index 0000000000000..bf09f4e8b79ac --- /dev/null +++ b/clients/client-finspace/src/commands/GetKxScalingGroupCommand.ts @@ -0,0 +1,173 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { FinspaceClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../FinspaceClient"; +import { GetKxScalingGroupRequest, GetKxScalingGroupResponse } from "../models/models_0"; +import { de_GetKxScalingGroupCommand, se_GetKxScalingGroupCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link GetKxScalingGroupCommand}. + */ +export interface GetKxScalingGroupCommandInput extends GetKxScalingGroupRequest {} +/** + * @public + * + * The output of {@link GetKxScalingGroupCommand}. + */ +export interface GetKxScalingGroupCommandOutput extends GetKxScalingGroupResponse, __MetadataBearer {} + +/** + * @public + *

+ * Retrieves details of a scaling group.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { FinspaceClient, GetKxScalingGroupCommand } from "@aws-sdk/client-finspace"; // ES Modules import + * // const { FinspaceClient, GetKxScalingGroupCommand } = require("@aws-sdk/client-finspace"); // CommonJS import + * const client = new FinspaceClient(config); + * const input = { // GetKxScalingGroupRequest + * environmentId: "STRING_VALUE", // required + * scalingGroupName: "STRING_VALUE", // required + * }; + * const command = new GetKxScalingGroupCommand(input); + * const response = await client.send(command); + * // { // GetKxScalingGroupResponse + * // scalingGroupName: "STRING_VALUE", + * // scalingGroupArn: "STRING_VALUE", + * // hostType: "STRING_VALUE", + * // clusters: [ // KxClusterNameList + * // "STRING_VALUE", + * // ], + * // availabilityZoneId: "STRING_VALUE", + * // status: "CREATING" || "CREATE_FAILED" || "ACTIVE" || "DELETING" || "DELETED" || "DELETE_FAILED", + * // statusReason: "STRING_VALUE", + * // lastModifiedTimestamp: new Date("TIMESTAMP"), + * // createdTimestamp: new Date("TIMESTAMP"), + * // }; + * + * ``` + * + * @param GetKxScalingGroupCommandInput - {@link GetKxScalingGroupCommandInput} + * @returns {@link GetKxScalingGroupCommandOutput} + * @see {@link GetKxScalingGroupCommandInput} for command's `input` shape. + * @see {@link GetKxScalingGroupCommandOutput} for command's `response` shape. + * @see {@link FinspaceClientResolvedConfig | config} for FinspaceClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

There was a conflict with this action, and it could not be completed.

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

The request processing has failed because of an unknown error, exception or + * failure.

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

A service limit or quota is exceeded.

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

One or more resources can't be found.

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

The request was denied due to request throttling.

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

The input fails to satisfy the constraints specified by an AWS service.

+ * + * @throws {@link FinspaceServiceException} + *

Base exception class for all service exceptions from Finspace service.

+ * + */ +export class GetKxScalingGroupCommand extends $Command< + GetKxScalingGroupCommandInput, + GetKxScalingGroupCommandOutput, + FinspaceClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: GetKxScalingGroupCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: FinspaceClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, GetKxScalingGroupCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "FinspaceClient"; + const commandName = "GetKxScalingGroupCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AWSHabaneroManagementService", + operation: "GetKxScalingGroup", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: GetKxScalingGroupCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_GetKxScalingGroupCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_GetKxScalingGroupCommand(output, context); + } +} diff --git a/clients/client-finspace/src/commands/GetKxVolumeCommand.ts b/clients/client-finspace/src/commands/GetKxVolumeCommand.ts new file mode 100644 index 0000000000000..aeff72e99e762 --- /dev/null +++ b/clients/client-finspace/src/commands/GetKxVolumeCommand.ts @@ -0,0 +1,184 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { FinspaceClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../FinspaceClient"; +import { GetKxVolumeRequest, GetKxVolumeResponse } from "../models/models_0"; +import { de_GetKxVolumeCommand, se_GetKxVolumeCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link GetKxVolumeCommand}. + */ +export interface GetKxVolumeCommandInput extends GetKxVolumeRequest {} +/** + * @public + * + * The output of {@link GetKxVolumeCommand}. + */ +export interface GetKxVolumeCommandOutput extends GetKxVolumeResponse, __MetadataBearer {} + +/** + * @public + *

+ * Retrieves the information about the volume.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { FinspaceClient, GetKxVolumeCommand } from "@aws-sdk/client-finspace"; // ES Modules import + * // const { FinspaceClient, GetKxVolumeCommand } = require("@aws-sdk/client-finspace"); // CommonJS import + * const client = new FinspaceClient(config); + * const input = { // GetKxVolumeRequest + * environmentId: "STRING_VALUE", // required + * volumeName: "STRING_VALUE", // required + * }; + * const command = new GetKxVolumeCommand(input); + * const response = await client.send(command); + * // { // GetKxVolumeResponse + * // environmentId: "STRING_VALUE", + * // volumeName: "STRING_VALUE", + * // volumeType: "NAS_1", + * // volumeArn: "STRING_VALUE", + * // nas1Configuration: { // KxNAS1Configuration + * // type: "SSD_1000" || "SSD_250" || "HDD_12", + * // size: Number("int"), + * // }, + * // status: "CREATING" || "CREATE_FAILED" || "ACTIVE" || "UPDATING" || "UPDATED" || "UPDATE_FAILED" || "DELETING" || "DELETED" || "DELETE_FAILED", + * // statusReason: "STRING_VALUE", + * // createdTimestamp: new Date("TIMESTAMP"), + * // description: "STRING_VALUE", + * // azMode: "SINGLE" || "MULTI", + * // availabilityZoneIds: [ // AvailabilityZoneIds + * // "STRING_VALUE", + * // ], + * // lastModifiedTimestamp: new Date("TIMESTAMP"), + * // attachedClusters: [ // KxAttachedClusters + * // { // KxAttachedCluster + * // clusterName: "STRING_VALUE", + * // clusterType: "HDB" || "RDB" || "GATEWAY" || "GP" || "TICKERPLANT", + * // clusterStatus: "PENDING" || "CREATING" || "CREATE_FAILED" || "RUNNING" || "UPDATING" || "DELETING" || "DELETED" || "DELETE_FAILED", + * // }, + * // ], + * // }; + * + * ``` + * + * @param GetKxVolumeCommandInput - {@link GetKxVolumeCommandInput} + * @returns {@link GetKxVolumeCommandOutput} + * @see {@link GetKxVolumeCommandInput} for command's `input` shape. + * @see {@link GetKxVolumeCommandOutput} for command's `response` shape. + * @see {@link FinspaceClientResolvedConfig | config} for FinspaceClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

There was a conflict with this action, and it could not be completed.

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

The request processing has failed because of an unknown error, exception or + * failure.

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

A service limit or quota is exceeded.

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

One or more resources can't be found.

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

The request was denied due to request throttling.

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

The input fails to satisfy the constraints specified by an AWS service.

+ * + * @throws {@link FinspaceServiceException} + *

Base exception class for all service exceptions from Finspace service.

+ * + */ +export class GetKxVolumeCommand extends $Command< + GetKxVolumeCommandInput, + GetKxVolumeCommandOutput, + FinspaceClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: GetKxVolumeCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: FinspaceClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use(getEndpointPlugin(configuration, GetKxVolumeCommand.getEndpointParameterInstructions())); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "FinspaceClient"; + const commandName = "GetKxVolumeCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AWSHabaneroManagementService", + operation: "GetKxVolume", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: GetKxVolumeCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_GetKxVolumeCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_GetKxVolumeCommand(output, context); + } +} diff --git a/clients/client-finspace/src/commands/ListEnvironmentsCommand.ts b/clients/client-finspace/src/commands/ListEnvironmentsCommand.ts index aad4b81f2c8f1..73bcbf7751ec6 100644 --- a/clients/client-finspace/src/commands/ListEnvironmentsCommand.ts +++ b/clients/client-finspace/src/commands/ListEnvironmentsCommand.ts @@ -89,6 +89,9 @@ export interface ListEnvironmentsCommandOutput extends ListEnvironmentsResponse, * @see {@link ListEnvironmentsCommandOutput} for command's `response` shape. * @see {@link FinspaceClientResolvedConfig | config} for FinspaceClient's `config` shape. * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

The request processing has failed because of an unknown error, exception or * failure.

diff --git a/clients/client-finspace/src/commands/ListKxClustersCommand.ts b/clients/client-finspace/src/commands/ListKxClustersCommand.ts index b5efa6536e7a6..45b98a9422a25 100644 --- a/clients/client-finspace/src/commands/ListKxClustersCommand.ts +++ b/clients/client-finspace/src/commands/ListKxClustersCommand.ts @@ -46,7 +46,7 @@ export interface ListKxClustersCommandOutput extends ListKxClustersResponse, __M * const client = new FinspaceClient(config); * const input = { // ListKxClustersRequest * environmentId: "STRING_VALUE", // required - * clusterType: "HDB" || "RDB" || "GATEWAY" || "GP", + * clusterType: "HDB" || "RDB" || "GATEWAY" || "GP" || "TICKERPLANT", * maxResults: Number("int"), * nextToken: "STRING_VALUE", * }; @@ -58,9 +58,15 @@ export interface ListKxClustersCommandOutput extends ListKxClustersResponse, __M * // status: "PENDING" || "CREATING" || "CREATE_FAILED" || "RUNNING" || "UPDATING" || "DELETING" || "DELETED" || "DELETE_FAILED", * // statusReason: "STRING_VALUE", * // clusterName: "STRING_VALUE", - * // clusterType: "HDB" || "RDB" || "GATEWAY" || "GP", + * // clusterType: "HDB" || "RDB" || "GATEWAY" || "GP" || "TICKERPLANT", * // clusterDescription: "STRING_VALUE", * // releaseLabel: "STRING_VALUE", + * // volumes: [ // Volumes + * // { // Volume + * // volumeName: "STRING_VALUE", + * // volumeType: "NAS_1", + * // }, + * // ], * // initializationScript: "STRING_VALUE", * // executionRole: "STRING_VALUE", * // azMode: "SINGLE" || "MULTI", diff --git a/clients/client-finspace/src/commands/ListKxDataviewsCommand.ts b/clients/client-finspace/src/commands/ListKxDataviewsCommand.ts new file mode 100644 index 0000000000000..7e0bff673a2c8 --- /dev/null +++ b/clients/client-finspace/src/commands/ListKxDataviewsCommand.ts @@ -0,0 +1,201 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { FinspaceClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../FinspaceClient"; +import { ListKxDataviewsRequest, ListKxDataviewsResponse } from "../models/models_0"; +import { de_ListKxDataviewsCommand, se_ListKxDataviewsCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link ListKxDataviewsCommand}. + */ +export interface ListKxDataviewsCommandInput extends ListKxDataviewsRequest {} +/** + * @public + * + * The output of {@link ListKxDataviewsCommand}. + */ +export interface ListKxDataviewsCommandOutput extends ListKxDataviewsResponse, __MetadataBearer {} + +/** + * @public + *

+ * Returns a list of all the dataviews in the database.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { FinspaceClient, ListKxDataviewsCommand } from "@aws-sdk/client-finspace"; // ES Modules import + * // const { FinspaceClient, ListKxDataviewsCommand } = require("@aws-sdk/client-finspace"); // CommonJS import + * const client = new FinspaceClient(config); + * const input = { // ListKxDataviewsRequest + * environmentId: "STRING_VALUE", // required + * databaseName: "STRING_VALUE", // required + * nextToken: "STRING_VALUE", + * maxResults: Number("int"), + * }; + * const command = new ListKxDataviewsCommand(input); + * const response = await client.send(command); + * // { // ListKxDataviewsResponse + * // kxDataviews: [ // KxDataviews + * // { // KxDataviewListEntry + * // environmentId: "STRING_VALUE", + * // databaseName: "STRING_VALUE", + * // dataviewName: "STRING_VALUE", + * // azMode: "SINGLE" || "MULTI", + * // availabilityZoneId: "STRING_VALUE", + * // changesetId: "STRING_VALUE", + * // segmentConfigurations: [ // KxDataviewSegmentConfigurationList + * // { // KxDataviewSegmentConfiguration + * // dbPaths: [ // SegmentConfigurationDbPathList // required + * // "STRING_VALUE", + * // ], + * // volumeName: "STRING_VALUE", // required + * // }, + * // ], + * // activeVersions: [ // KxDataviewActiveVersionList + * // { // KxDataviewActiveVersion + * // changesetId: "STRING_VALUE", + * // segmentConfigurations: [ + * // { + * // dbPaths: [ // required + * // "STRING_VALUE", + * // ], + * // volumeName: "STRING_VALUE", // required + * // }, + * // ], + * // attachedClusters: [ // AttachedClusterList + * // "STRING_VALUE", + * // ], + * // createdTimestamp: new Date("TIMESTAMP"), + * // versionId: "STRING_VALUE", + * // }, + * // ], + * // status: "CREATING" || "ACTIVE" || "UPDATING" || "FAILED" || "DELETING", + * // description: "STRING_VALUE", + * // autoUpdate: true || false, + * // createdTimestamp: new Date("TIMESTAMP"), + * // lastModifiedTimestamp: new Date("TIMESTAMP"), + * // statusReason: "STRING_VALUE", + * // }, + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListKxDataviewsCommandInput - {@link ListKxDataviewsCommandInput} + * @returns {@link ListKxDataviewsCommandOutput} + * @see {@link ListKxDataviewsCommandInput} for command's `input` shape. + * @see {@link ListKxDataviewsCommandOutput} for command's `response` shape. + * @see {@link FinspaceClientResolvedConfig | config} for FinspaceClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

The request processing has failed because of an unknown error, exception or + * failure.

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

One or more resources can't be found.

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

The request was denied due to request throttling.

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

The input fails to satisfy the constraints specified by an AWS service.

+ * + * @throws {@link FinspaceServiceException} + *

Base exception class for all service exceptions from Finspace service.

+ * + */ +export class ListKxDataviewsCommand extends $Command< + ListKxDataviewsCommandInput, + ListKxDataviewsCommandOutput, + FinspaceClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: ListKxDataviewsCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: FinspaceClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, ListKxDataviewsCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "FinspaceClient"; + const commandName = "ListKxDataviewsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AWSHabaneroManagementService", + operation: "ListKxDataviews", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: ListKxDataviewsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_ListKxDataviewsCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_ListKxDataviewsCommand(output, context); + } +} diff --git a/clients/client-finspace/src/commands/ListKxEnvironmentsCommand.ts b/clients/client-finspace/src/commands/ListKxEnvironmentsCommand.ts index b25f09d85defc..24831fce61636 100644 --- a/clients/client-finspace/src/commands/ListKxEnvironmentsCommand.ts +++ b/clients/client-finspace/src/commands/ListKxEnvironmentsCommand.ts @@ -109,6 +109,9 @@ export interface ListKxEnvironmentsCommandOutput extends ListKxEnvironmentsRespo * @see {@link ListKxEnvironmentsCommandOutput} for command's `response` shape. * @see {@link FinspaceClientResolvedConfig | config} for FinspaceClient's `config` shape. * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

The request processing has failed because of an unknown error, exception or * failure.

diff --git a/clients/client-finspace/src/commands/ListKxScalingGroupsCommand.ts b/clients/client-finspace/src/commands/ListKxScalingGroupsCommand.ts new file mode 100644 index 0000000000000..dafb427d92d29 --- /dev/null +++ b/clients/client-finspace/src/commands/ListKxScalingGroupsCommand.ts @@ -0,0 +1,178 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { FinspaceClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../FinspaceClient"; +import { ListKxScalingGroupsRequest, ListKxScalingGroupsResponse } from "../models/models_0"; +import { de_ListKxScalingGroupsCommand, se_ListKxScalingGroupsCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link ListKxScalingGroupsCommand}. + */ +export interface ListKxScalingGroupsCommandInput extends ListKxScalingGroupsRequest {} +/** + * @public + * + * The output of {@link ListKxScalingGroupsCommand}. + */ +export interface ListKxScalingGroupsCommandOutput extends ListKxScalingGroupsResponse, __MetadataBearer {} + +/** + * @public + *

+ * Returns a list of scaling groups in a kdb environment.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { FinspaceClient, ListKxScalingGroupsCommand } from "@aws-sdk/client-finspace"; // ES Modules import + * // const { FinspaceClient, ListKxScalingGroupsCommand } = require("@aws-sdk/client-finspace"); // CommonJS import + * const client = new FinspaceClient(config); + * const input = { // ListKxScalingGroupsRequest + * environmentId: "STRING_VALUE", // required + * maxResults: Number("int"), + * nextToken: "STRING_VALUE", + * }; + * const command = new ListKxScalingGroupsCommand(input); + * const response = await client.send(command); + * // { // ListKxScalingGroupsResponse + * // scalingGroups: [ // KxScalingGroupList + * // { // KxScalingGroup + * // scalingGroupName: "STRING_VALUE", + * // hostType: "STRING_VALUE", + * // clusters: [ // KxClusterNameList + * // "STRING_VALUE", + * // ], + * // availabilityZoneId: "STRING_VALUE", + * // status: "CREATING" || "CREATE_FAILED" || "ACTIVE" || "DELETING" || "DELETED" || "DELETE_FAILED", + * // statusReason: "STRING_VALUE", + * // lastModifiedTimestamp: new Date("TIMESTAMP"), + * // createdTimestamp: new Date("TIMESTAMP"), + * // }, + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListKxScalingGroupsCommandInput - {@link ListKxScalingGroupsCommandInput} + * @returns {@link ListKxScalingGroupsCommandOutput} + * @see {@link ListKxScalingGroupsCommandInput} for command's `input` shape. + * @see {@link ListKxScalingGroupsCommandOutput} for command's `response` shape. + * @see {@link FinspaceClientResolvedConfig | config} for FinspaceClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

There was a conflict with this action, and it could not be completed.

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

The request processing has failed because of an unknown error, exception or + * failure.

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

A service limit or quota is exceeded.

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

One or more resources can't be found.

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

The request was denied due to request throttling.

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

The input fails to satisfy the constraints specified by an AWS service.

+ * + * @throws {@link FinspaceServiceException} + *

Base exception class for all service exceptions from Finspace service.

+ * + */ +export class ListKxScalingGroupsCommand extends $Command< + ListKxScalingGroupsCommandInput, + ListKxScalingGroupsCommandOutput, + FinspaceClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: ListKxScalingGroupsCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: FinspaceClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, ListKxScalingGroupsCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "FinspaceClient"; + const commandName = "ListKxScalingGroupsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AWSHabaneroManagementService", + operation: "ListKxScalingGroups", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: ListKxScalingGroupsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_ListKxScalingGroupsCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_ListKxScalingGroupsCommand(output, context); + } +} diff --git a/clients/client-finspace/src/commands/ListKxVolumesCommand.ts b/clients/client-finspace/src/commands/ListKxVolumesCommand.ts new file mode 100644 index 0000000000000..2a3d64abe0ef0 --- /dev/null +++ b/clients/client-finspace/src/commands/ListKxVolumesCommand.ts @@ -0,0 +1,179 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { FinspaceClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../FinspaceClient"; +import { ListKxVolumesRequest, ListKxVolumesResponse } from "../models/models_0"; +import { de_ListKxVolumesCommand, se_ListKxVolumesCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link ListKxVolumesCommand}. + */ +export interface ListKxVolumesCommandInput extends ListKxVolumesRequest {} +/** + * @public + * + * The output of {@link ListKxVolumesCommand}. + */ +export interface ListKxVolumesCommandOutput extends ListKxVolumesResponse, __MetadataBearer {} + +/** + * @public + *

+ * Lists all the volumes in a kdb environment. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { FinspaceClient, ListKxVolumesCommand } from "@aws-sdk/client-finspace"; // ES Modules import + * // const { FinspaceClient, ListKxVolumesCommand } = require("@aws-sdk/client-finspace"); // CommonJS import + * const client = new FinspaceClient(config); + * const input = { // ListKxVolumesRequest + * environmentId: "STRING_VALUE", // required + * maxResults: Number("int"), + * nextToken: "STRING_VALUE", + * volumeType: "NAS_1", + * }; + * const command = new ListKxVolumesCommand(input); + * const response = await client.send(command); + * // { // ListKxVolumesResponse + * // kxVolumeSummaries: [ // KxVolumes + * // { // KxVolume + * // volumeName: "STRING_VALUE", + * // volumeType: "NAS_1", + * // status: "CREATING" || "CREATE_FAILED" || "ACTIVE" || "UPDATING" || "UPDATED" || "UPDATE_FAILED" || "DELETING" || "DELETED" || "DELETE_FAILED", + * // description: "STRING_VALUE", + * // statusReason: "STRING_VALUE", + * // azMode: "SINGLE" || "MULTI", + * // availabilityZoneIds: [ // AvailabilityZoneIds + * // "STRING_VALUE", + * // ], + * // createdTimestamp: new Date("TIMESTAMP"), + * // lastModifiedTimestamp: new Date("TIMESTAMP"), + * // }, + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListKxVolumesCommandInput - {@link ListKxVolumesCommandInput} + * @returns {@link ListKxVolumesCommandOutput} + * @see {@link ListKxVolumesCommandInput} for command's `input` shape. + * @see {@link ListKxVolumesCommandOutput} for command's `response` shape. + * @see {@link FinspaceClientResolvedConfig | config} for FinspaceClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

There was a conflict with this action, and it could not be completed.

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

The request processing has failed because of an unknown error, exception or + * failure.

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

A service limit or quota is exceeded.

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

One or more resources can't be found.

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

The request was denied due to request throttling.

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

The input fails to satisfy the constraints specified by an AWS service.

+ * + * @throws {@link FinspaceServiceException} + *

Base exception class for all service exceptions from Finspace service.

+ * + */ +export class ListKxVolumesCommand extends $Command< + ListKxVolumesCommandInput, + ListKxVolumesCommandOutput, + FinspaceClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: ListKxVolumesCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: FinspaceClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use(getEndpointPlugin(configuration, ListKxVolumesCommand.getEndpointParameterInstructions())); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "FinspaceClient"; + const commandName = "ListKxVolumesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AWSHabaneroManagementService", + operation: "ListKxVolumes", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: ListKxVolumesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_ListKxVolumesCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_ListKxVolumesCommand(output, context); + } +} diff --git a/clients/client-finspace/src/commands/UpdateKxClusterDatabasesCommand.ts b/clients/client-finspace/src/commands/UpdateKxClusterDatabasesCommand.ts index 72bcaa98b90a8..23f628463af7d 100644 --- a/clients/client-finspace/src/commands/UpdateKxClusterDatabasesCommand.ts +++ b/clients/client-finspace/src/commands/UpdateKxClusterDatabasesCommand.ts @@ -58,9 +58,24 @@ export interface UpdateKxClusterDatabasesCommandOutput extends UpdateKxClusterDa * dbPaths: [ // DbPaths // required * "STRING_VALUE", * ], + * dataviewName: "STRING_VALUE", * }, * ], * changesetId: "STRING_VALUE", + * dataviewName: "STRING_VALUE", + * dataviewConfiguration: { // KxDataviewConfiguration + * dataviewName: "STRING_VALUE", + * dataviewVersionId: "STRING_VALUE", + * changesetId: "STRING_VALUE", + * segmentConfigurations: [ // KxDataviewSegmentConfigurationList + * { // KxDataviewSegmentConfiguration + * dbPaths: [ // SegmentConfigurationDbPathList // required + * "STRING_VALUE", + * ], + * volumeName: "STRING_VALUE", // required + * }, + * ], + * }, * }, * ], * deploymentConfiguration: { // KxDeploymentConfiguration diff --git a/clients/client-finspace/src/commands/UpdateKxDataviewCommand.ts b/clients/client-finspace/src/commands/UpdateKxDataviewCommand.ts new file mode 100644 index 0000000000000..b3281dc3ea027 --- /dev/null +++ b/clients/client-finspace/src/commands/UpdateKxDataviewCommand.ts @@ -0,0 +1,211 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { FinspaceClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../FinspaceClient"; +import { UpdateKxDataviewRequest, UpdateKxDataviewResponse } from "../models/models_0"; +import { de_UpdateKxDataviewCommand, se_UpdateKxDataviewCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link UpdateKxDataviewCommand}. + */ +export interface UpdateKxDataviewCommandInput extends UpdateKxDataviewRequest {} +/** + * @public + * + * The output of {@link UpdateKxDataviewCommand}. + */ +export interface UpdateKxDataviewCommandOutput extends UpdateKxDataviewResponse, __MetadataBearer {} + +/** + * @public + *

+ * Updates the specified dataview. The dataviews get automatically updated when any new changesets are ingested. Each update of the dataview creates a new version, including changeset details and cache configurations

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { FinspaceClient, UpdateKxDataviewCommand } from "@aws-sdk/client-finspace"; // ES Modules import + * // const { FinspaceClient, UpdateKxDataviewCommand } = require("@aws-sdk/client-finspace"); // CommonJS import + * const client = new FinspaceClient(config); + * const input = { // UpdateKxDataviewRequest + * environmentId: "STRING_VALUE", // required + * databaseName: "STRING_VALUE", // required + * dataviewName: "STRING_VALUE", // required + * description: "STRING_VALUE", + * changesetId: "STRING_VALUE", + * segmentConfigurations: [ // KxDataviewSegmentConfigurationList + * { // KxDataviewSegmentConfiguration + * dbPaths: [ // SegmentConfigurationDbPathList // required + * "STRING_VALUE", + * ], + * volumeName: "STRING_VALUE", // required + * }, + * ], + * clientToken: "STRING_VALUE", // required + * }; + * const command = new UpdateKxDataviewCommand(input); + * const response = await client.send(command); + * // { // UpdateKxDataviewResponse + * // environmentId: "STRING_VALUE", + * // databaseName: "STRING_VALUE", + * // dataviewName: "STRING_VALUE", + * // azMode: "SINGLE" || "MULTI", + * // availabilityZoneId: "STRING_VALUE", + * // changesetId: "STRING_VALUE", + * // segmentConfigurations: [ // KxDataviewSegmentConfigurationList + * // { // KxDataviewSegmentConfiguration + * // dbPaths: [ // SegmentConfigurationDbPathList // required + * // "STRING_VALUE", + * // ], + * // volumeName: "STRING_VALUE", // required + * // }, + * // ], + * // activeVersions: [ // KxDataviewActiveVersionList + * // { // KxDataviewActiveVersion + * // changesetId: "STRING_VALUE", + * // segmentConfigurations: [ + * // { + * // dbPaths: [ // required + * // "STRING_VALUE", + * // ], + * // volumeName: "STRING_VALUE", // required + * // }, + * // ], + * // attachedClusters: [ // AttachedClusterList + * // "STRING_VALUE", + * // ], + * // createdTimestamp: new Date("TIMESTAMP"), + * // versionId: "STRING_VALUE", + * // }, + * // ], + * // status: "CREATING" || "ACTIVE" || "UPDATING" || "FAILED" || "DELETING", + * // autoUpdate: true || false, + * // description: "STRING_VALUE", + * // createdTimestamp: new Date("TIMESTAMP"), + * // lastModifiedTimestamp: new Date("TIMESTAMP"), + * // }; + * + * ``` + * + * @param UpdateKxDataviewCommandInput - {@link UpdateKxDataviewCommandInput} + * @returns {@link UpdateKxDataviewCommandOutput} + * @see {@link UpdateKxDataviewCommandInput} for command's `input` shape. + * @see {@link UpdateKxDataviewCommandOutput} for command's `response` shape. + * @see {@link FinspaceClientResolvedConfig | config} for FinspaceClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

There was a conflict with this action, and it could not be completed.

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

The request processing has failed because of an unknown error, exception or + * failure.

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

The specified resource group already exists.

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

One or more resources can't be found.

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

The request was denied due to request throttling.

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

The input fails to satisfy the constraints specified by an AWS service.

+ * + * @throws {@link FinspaceServiceException} + *

Base exception class for all service exceptions from Finspace service.

+ * + */ +export class UpdateKxDataviewCommand extends $Command< + UpdateKxDataviewCommandInput, + UpdateKxDataviewCommandOutput, + FinspaceClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: UpdateKxDataviewCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: FinspaceClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, UpdateKxDataviewCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "FinspaceClient"; + const commandName = "UpdateKxDataviewCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AWSHabaneroManagementService", + operation: "UpdateKxDataview", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: UpdateKxDataviewCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_UpdateKxDataviewCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_UpdateKxDataviewCommand(output, context); + } +} diff --git a/clients/client-finspace/src/commands/UpdateKxVolumeCommand.ts b/clients/client-finspace/src/commands/UpdateKxVolumeCommand.ts new file mode 100644 index 0000000000000..da9ad01eca50f --- /dev/null +++ b/clients/client-finspace/src/commands/UpdateKxVolumeCommand.ts @@ -0,0 +1,194 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { FinspaceClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../FinspaceClient"; +import { UpdateKxVolumeRequest, UpdateKxVolumeResponse } from "../models/models_0"; +import { de_UpdateKxVolumeCommand, se_UpdateKxVolumeCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link UpdateKxVolumeCommand}. + */ +export interface UpdateKxVolumeCommandInput extends UpdateKxVolumeRequest {} +/** + * @public + * + * The output of {@link UpdateKxVolumeCommand}. + */ +export interface UpdateKxVolumeCommandOutput extends UpdateKxVolumeResponse, __MetadataBearer {} + +/** + * @public + *

+ * Updates the throughput or capacity of a volume. During the update process, the filesystem + * might be unavailable for a few minutes. You can retry any operations after the update is complete. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { FinspaceClient, UpdateKxVolumeCommand } from "@aws-sdk/client-finspace"; // ES Modules import + * // const { FinspaceClient, UpdateKxVolumeCommand } = require("@aws-sdk/client-finspace"); // CommonJS import + * const client = new FinspaceClient(config); + * const input = { // UpdateKxVolumeRequest + * environmentId: "STRING_VALUE", // required + * volumeName: "STRING_VALUE", // required + * description: "STRING_VALUE", + * clientToken: "STRING_VALUE", + * nas1Configuration: { // KxNAS1Configuration + * type: "SSD_1000" || "SSD_250" || "HDD_12", + * size: Number("int"), + * }, + * }; + * const command = new UpdateKxVolumeCommand(input); + * const response = await client.send(command); + * // { // UpdateKxVolumeResponse + * // environmentId: "STRING_VALUE", + * // volumeName: "STRING_VALUE", + * // volumeType: "NAS_1", + * // volumeArn: "STRING_VALUE", + * // nas1Configuration: { // KxNAS1Configuration + * // type: "SSD_1000" || "SSD_250" || "HDD_12", + * // size: Number("int"), + * // }, + * // status: "CREATING" || "CREATE_FAILED" || "ACTIVE" || "UPDATING" || "UPDATED" || "UPDATE_FAILED" || "DELETING" || "DELETED" || "DELETE_FAILED", + * // description: "STRING_VALUE", + * // statusReason: "STRING_VALUE", + * // createdTimestamp: new Date("TIMESTAMP"), + * // azMode: "SINGLE" || "MULTI", + * // availabilityZoneIds: [ // AvailabilityZoneIds + * // "STRING_VALUE", + * // ], + * // lastModifiedTimestamp: new Date("TIMESTAMP"), + * // attachedClusters: [ // KxAttachedClusters + * // { // KxAttachedCluster + * // clusterName: "STRING_VALUE", + * // clusterType: "HDB" || "RDB" || "GATEWAY" || "GP" || "TICKERPLANT", + * // clusterStatus: "PENDING" || "CREATING" || "CREATE_FAILED" || "RUNNING" || "UPDATING" || "DELETING" || "DELETED" || "DELETE_FAILED", + * // }, + * // ], + * // }; + * + * ``` + * + * @param UpdateKxVolumeCommandInput - {@link UpdateKxVolumeCommandInput} + * @returns {@link UpdateKxVolumeCommandOutput} + * @see {@link UpdateKxVolumeCommandInput} for command's `input` shape. + * @see {@link UpdateKxVolumeCommandOutput} for command's `response` shape. + * @see {@link FinspaceClientResolvedConfig | config} for FinspaceClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

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

There was a conflict with this action, and it could not be completed.

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

The request processing has failed because of an unknown error, exception or + * failure.

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

A service limit or quota is exceeded.

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

One or more resources can't be found.

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

The request was denied due to request throttling.

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

The input fails to satisfy the constraints specified by an AWS service.

+ * + * @throws {@link FinspaceServiceException} + *

Base exception class for all service exceptions from Finspace service.

+ * + */ +export class UpdateKxVolumeCommand extends $Command< + UpdateKxVolumeCommandInput, + UpdateKxVolumeCommandOutput, + FinspaceClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: UpdateKxVolumeCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: FinspaceClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, UpdateKxVolumeCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "FinspaceClient"; + const commandName = "UpdateKxVolumeCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AWSHabaneroManagementService", + operation: "UpdateKxVolume", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: UpdateKxVolumeCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_UpdateKxVolumeCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_UpdateKxVolumeCommand(output, context); + } +} diff --git a/clients/client-finspace/src/commands/index.ts b/clients/client-finspace/src/commands/index.ts index 33e18fdd73d2c..6abf93ed0755a 100644 --- a/clients/client-finspace/src/commands/index.ts +++ b/clients/client-finspace/src/commands/index.ts @@ -3,27 +3,39 @@ export * from "./CreateEnvironmentCommand"; export * from "./CreateKxChangesetCommand"; export * from "./CreateKxClusterCommand"; export * from "./CreateKxDatabaseCommand"; +export * from "./CreateKxDataviewCommand"; export * from "./CreateKxEnvironmentCommand"; +export * from "./CreateKxScalingGroupCommand"; export * from "./CreateKxUserCommand"; +export * from "./CreateKxVolumeCommand"; export * from "./DeleteEnvironmentCommand"; export * from "./DeleteKxClusterCommand"; export * from "./DeleteKxDatabaseCommand"; +export * from "./DeleteKxDataviewCommand"; export * from "./DeleteKxEnvironmentCommand"; +export * from "./DeleteKxScalingGroupCommand"; export * from "./DeleteKxUserCommand"; +export * from "./DeleteKxVolumeCommand"; export * from "./GetEnvironmentCommand"; export * from "./GetKxChangesetCommand"; export * from "./GetKxClusterCommand"; export * from "./GetKxConnectionStringCommand"; export * from "./GetKxDatabaseCommand"; +export * from "./GetKxDataviewCommand"; export * from "./GetKxEnvironmentCommand"; +export * from "./GetKxScalingGroupCommand"; export * from "./GetKxUserCommand"; +export * from "./GetKxVolumeCommand"; export * from "./ListEnvironmentsCommand"; export * from "./ListKxChangesetsCommand"; export * from "./ListKxClusterNodesCommand"; export * from "./ListKxClustersCommand"; export * from "./ListKxDatabasesCommand"; +export * from "./ListKxDataviewsCommand"; export * from "./ListKxEnvironmentsCommand"; +export * from "./ListKxScalingGroupsCommand"; export * from "./ListKxUsersCommand"; +export * from "./ListKxVolumesCommand"; export * from "./ListTagsForResourceCommand"; export * from "./TagResourceCommand"; export * from "./UntagResourceCommand"; @@ -31,6 +43,8 @@ export * from "./UpdateEnvironmentCommand"; export * from "./UpdateKxClusterCodeConfigurationCommand"; export * from "./UpdateKxClusterDatabasesCommand"; export * from "./UpdateKxDatabaseCommand"; +export * from "./UpdateKxDataviewCommand"; export * from "./UpdateKxEnvironmentCommand"; export * from "./UpdateKxEnvironmentNetworkCommand"; export * from "./UpdateKxUserCommand"; +export * from "./UpdateKxVolumeCommand"; diff --git a/clients/client-finspace/src/models/models_0.ts b/clients/client-finspace/src/models/models_0.ts index bb6a6397b5b9b..ead574d51f3ca 100644 --- a/clients/client-finspace/src/models/models_0.ts +++ b/clients/client-finspace/src/models/models_0.ts @@ -761,6 +761,7 @@ export const KxClusterType = { GP: "GP", HDB: "HDB", RDB: "RDB", + TICKERPLANT: "TICKERPLANT", } as const; /** @@ -831,6 +832,72 @@ export interface KxDatabaseCacheConfiguration { *

Specifies the portions of database that will be loaded into the cache for access.

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

+ * The name of the dataview to be used for caching historical data on disk. + * + *

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

+ * The configuration that contains the database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume. If you do not explicitly specify any database path for a volume, they are accessible from the cluster through the default S3/object store segment.

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

+ * The database path of the data that you want to place on each selected volume for the segment. Each segment must have a unique database path for each volume.

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

+ * The name of the volume where you want to add data.

+ */ + volumeName: string | undefined; +} + +/** + * @public + *

+ * The structure that stores the configuration details of a dataview.

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

+ * The unique identifier of the dataview.

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

+ * The version of the dataview corresponding to a given changeset. + * + *

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

A unique identifier for the changeset.

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

+ * The db path and volume configuration for the segmented database.

+ */ + segmentConfigurations?: KxDataviewSegmentConfiguration[]; } /** @@ -855,6 +922,24 @@ export interface KxDatabaseConfiguration { *

A unique identifier of the changeset that is associated with the cluster.

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

+ * The name of the dataview to be used for caching historical data on disk. + * + *

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

+ * The configuration of the dataview to be used with specified cluster. + * + *

+ */ + dataviewConfiguration?: KxDataviewConfiguration; } /** @@ -884,13 +969,87 @@ export interface KxSavedownStorageConfiguration { * * */ - type: KxSavedownStorageType | undefined; + type?: KxSavedownStorageType; /** * @public *

The size of temporary storage in gibibytes.

*/ - size: number | undefined; + size?: number; + + /** + * @public + *

+ * The name of the kdb volume that you want to use as writeable save-down storage for clusters. + * + *

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

The structure that stores the capacity configuration details of a scaling group.

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

A unique identifier for the kdb scaling group.

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

+ * An optional hard limit on the amount of memory a kdb cluster can use. + * + *

+ */ + memoryLimit?: number; + + /** + * @public + *

+ * A reservation of the minimum amount of memory that should be available on the scaling group for a kdb cluster to be successfully placed in a scaling group. + * + *

+ */ + memoryReservation: number | undefined; + + /** + * @public + *

+ * The number of kdb cluster nodes. + * + *

+ */ + nodeCount: number | undefined; + + /** + * @public + *

+ * The number of vCPUs that you want to reserve for each node of this kdb cluster on the scaling group host. + * + *

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

+ * A configuration to store the Tickerplant logs. It consists of + * a list of volumes that will be mounted to your cluster. For the cluster type Tickerplant, the location of the TP volume on the cluster will be available by using the global variable .aws.tp_log_path. + *

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

+ * The name of the volumes for tickerplant logs. + *

+ */ + tickerplantLogVolumes?: string[]; } /** @@ -979,10 +1138,22 @@ export interface CreateKxClusterRequest { *
  • *

    GP – A general purpose cluster allows you to quickly iterate on code during development by granting greater access to system commands and enabling a fast reload of custom code. This cluster type can optionally mount databases including cache and savedown storage. For this cluster type, the node count is fixed at 1. It does not support autoscaling and supports only SINGLE AZ mode.

    *
  • + *
  • + *

    Tickerplant – A tickerplant cluster allows you to subscribe to feed handlers based on IAM permissions. It can publish to RDBs, other Tickerplants, and real-time subscribers (RTS). Tickerplants can persist messages to log, which is readable by any RDB environment. It supports only single-node that is only one kdb process.

    + *
  • * */ clusterType: KxClusterType | undefined; + /** + * @public + *

    + * A configuration to store Tickerplant logs. It consists of + * a list of volumes that will be mounted to your cluster. For the cluster type Tickerplant, the location of the TP volume on the cluster will be available by using the global variable .aws.tp_log_path. + *

    + */ + tickerplantLogConfiguration?: TickerplantLogConfiguration; + /** * @public *

    A list of databases that will be available for querying.

    @@ -1011,7 +1182,7 @@ export interface CreateKxClusterRequest { * @public *

    A structure for the metadata of a cluster. It includes information like the CPUs needed, memory of instances, and number of instances.

    */ - capacityConfiguration: CapacityConfiguration | undefined; + capacityConfiguration?: CapacityConfiguration; /** * @public @@ -1023,7 +1194,7 @@ export interface CreateKxClusterRequest { * @public *

    Configuration details about the network where the Privatelink endpoint of the cluster resides.

    */ - vpcConfiguration?: VpcConfiguration; + vpcConfiguration: VpcConfiguration | undefined; /** * @public @@ -1085,6 +1256,12 @@ export interface CreateKxClusterRequest { *

    A list of key-value pairs to label the cluster. You can add up to 50 tags to a cluster.

    */ tags?: Record; + + /** + * @public + *

    The structure that stores the configuration details of a scaling group.

    + */ + scalingGroupConfiguration?: KxScalingGroupConfiguration; } /** @@ -1107,6 +1284,40 @@ export const KxClusterStatus = { */ export type KxClusterStatus = (typeof KxClusterStatus)[keyof typeof KxClusterStatus]; +/** + * @public + * @enum + */ +export const VolumeType = { + NAS_1: "NAS_1", +} as const; + +/** + * @public + */ +export type VolumeType = (typeof VolumeType)[keyof typeof VolumeType]; + +/** + * @public + *

    + * The structure that consists of name and type of volume.

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

    A unique identifier for the volume.

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

    + * The type of file system volume. Currently, FinSpace only supports NAS_1 volume type. + *

    + */ + volumeType?: VolumeType; +} + /** * @public */ @@ -1177,10 +1388,30 @@ export interface CreateKxClusterResponse { *
  • *

    GP – A general purpose cluster allows you to quickly iterate on code during development by granting greater access to system commands and enabling a fast reload of custom code. This cluster type can optionally mount databases including cache and savedown storage. For this cluster type, the node count is fixed at 1. It does not support autoscaling and supports only SINGLE AZ mode.

    *
  • + *
  • + *

    Tickerplant – A tickerplant cluster allows you to subscribe to feed handlers based on IAM permissions. It can publish to RDBs, other Tickerplants, and real-time subscribers (RTS). Tickerplants can persist messages to log, which is readable by any RDB environment. It supports only single-node that is only one kdb process.

    + *
  • * */ clusterType?: KxClusterType; + /** + * @public + *

    + * A configuration to store the Tickerplant logs. It consists of + * a list of volumes that will be mounted to your cluster. For the cluster type Tickerplant, the location of the TP volume on the cluster will be available by using the global variable .aws.tp_log_path. + *

    + */ + tickerplantLogConfiguration?: TickerplantLogConfiguration; + + /** + * @public + *

    + * A list of volumes mounted on the cluster. + *

    + */ + volumes?: Volume[]; + /** * @public *

    A list of databases that will be available for querying.

    @@ -1293,6 +1524,12 @@ export interface CreateKxClusterResponse { *

    The timestamp at which the cluster was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

    */ createdTimestamp?: Date; + + /** + * @public + *

    The structure that stores the configuration details of a scaling group.

    + */ + scalingGroupConfiguration?: KxScalingGroupConfiguration; } /** @@ -1394,28 +1631,82 @@ export class ResourceAlreadyExistsException extends __BaseException { /** * @public */ -export interface CreateKxEnvironmentRequest { +export interface CreateKxDataviewRequest { /** * @public - *

    The name of the kdb environment that you want to create.

    + *

    A unique identifier for the kdb environment, where you want to create the dataview.

    */ - name: string | undefined; + environmentId: string | undefined; /** * @public - *

    A description for the kdb environment.

    + *

    + * The name of the database where you want to create a dataview. + *

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

    The KMS key ID to encrypt your data in the FinSpace environment.

    + *

    A unique identifier for the dataview.

    */ - kmsKeyId: string | undefined; + dataviewName: string | undefined; /** * @public - *

    A list of key-value pairs to label the kdb environment. You can add up to 50 tags to your kdb environment.

    + *

    The number of availability zones you want to assign per cluster. This can be one of the following

    + *
      + *
    • + *

      + * SINGLE – Assigns one availability zone per cluster.

      + *
    • + *
    • + *

      + * MULTI – Assigns all the availability zones per cluster.

      + *
    • + *
    + */ + azMode: KxAzMode | undefined; + + /** + * @public + *

    + * The identifier of the availability zones. + *

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

    + * A unique identifier of the changeset that you want to use to ingest data.

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

    + * The configuration that contains the database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume. If you do not explicitly specify any database path for a volume, they are accessible from the cluster through the default S3/object store segment.

    + */ + segmentConfigurations?: KxDataviewSegmentConfiguration[]; + + /** + * @public + *

    The option to specify whether you want to apply all the future additions and corrections automatically to the dataview, when you ingest new changesets. The default value is false.

    + */ + autoUpdate?: boolean; + + /** + * @public + *

    A description of the dataview.

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

    + * A list of key-value pairs to label the dataview. You can add up to 50 tags to a dataview. + *

    */ tags?: Record; @@ -1430,59 +1721,218 @@ export interface CreateKxEnvironmentRequest { * @public * @enum */ -export const EnvironmentStatus = { - CREATED: "CREATED", - CREATE_REQUESTED: "CREATE_REQUESTED", +export const KxDataviewStatus = { + ACTIVE: "ACTIVE", CREATING: "CREATING", - DELETED: "DELETED", - DELETE_REQUESTED: "DELETE_REQUESTED", DELETING: "DELETING", - FAILED_CREATION: "FAILED_CREATION", - FAILED_DELETION: "FAILED_DELETION", - FAILED_UPDATING_NETWORK: "FAILED_UPDATING_NETWORK", - RETRY_DELETION: "RETRY_DELETION", - SUSPENDED: "SUSPENDED", - UPDATE_NETWORK_REQUESTED: "UPDATE_NETWORK_REQUESTED", - UPDATING_NETWORK: "UPDATING_NETWORK", + FAILED: "FAILED", + UPDATING: "UPDATING", } as const; /** * @public */ -export type EnvironmentStatus = (typeof EnvironmentStatus)[keyof typeof EnvironmentStatus]; +export type KxDataviewStatus = (typeof KxDataviewStatus)[keyof typeof KxDataviewStatus]; /** * @public */ -export interface CreateKxEnvironmentResponse { +export interface CreateKxDataviewResponse { /** * @public - *

    The name of the kdb environment.

    + *

    A unique identifier for the dataview.

    */ - name?: string; + dataviewName?: string; /** * @public - *

    The status of the kdb environment.

    + *

    The name of the database where you want to create a dataview.

    */ - status?: EnvironmentStatus; + databaseName?: string; /** * @public - *

    A unique identifier for the kdb environment.

    + *

    A unique identifier for the kdb environment, where you want to create the dataview.

    */ environmentId?: string; /** * @public - *

    A description for the kdb environment.

    + *

    The number of availability zones you want to assign per cluster. This can be one of the following

    + *
      + *
    • + *

      + * SINGLE – Assigns one availability zone per cluster.

      + *
    • + *
    • + *

      + * MULTI – Assigns all the availability zones per cluster.

      + *
    • + *
    */ - description?: string; + azMode?: KxAzMode; /** * @public - *

    The ARN identifier of the environment.

    - */ + *

    + * The identifier of the availability zones. + *

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

    A unique identifier for the changeset.

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

    + * The configuration that contains the database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume. If you do not explicitly specify any database path for a volume, they are accessible from the cluster through the default S3/object store segment.

    + */ + segmentConfigurations?: KxDataviewSegmentConfiguration[]; + + /** + * @public + *

    A description of the dataview.

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

    The option to select whether you want to apply all the future additions and corrections automatically to the dataview when you ingest new changesets. The default value is false.

    + */ + autoUpdate?: boolean; + + /** + * @public + *

    + * The timestamp at which the dataview was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

    + */ + createdTimestamp?: Date; + + /** + * @public + *

    + * The last time that the dataview was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

    + */ + lastModifiedTimestamp?: Date; + + /** + * @public + *

    + * The status of dataview creation.

    + *
      + *
    • + *

      + * CREATING – The dataview creation is in progress.

      + *
    • + *
    • + *

      + * UPDATING – The dataview is in the process of being updated.

      + *
    • + *
    • + *

      + * ACTIVE – The dataview is active.

      + *
    • + *
    + */ + status?: KxDataviewStatus; +} + +/** + * @public + */ +export interface CreateKxEnvironmentRequest { + /** + * @public + *

    The name of the kdb environment that you want to create.

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

    A description for the kdb environment.

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

    The KMS key ID to encrypt your data in the FinSpace environment.

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

    A list of key-value pairs to label the kdb environment. You can add up to 50 tags to your kdb environment.

    + */ + tags?: Record; + + /** + * @public + *

    A token that ensures idempotency. This token expires in 10 minutes.

    + */ + clientToken?: string; +} + +/** + * @public + * @enum + */ +export const EnvironmentStatus = { + CREATED: "CREATED", + CREATE_REQUESTED: "CREATE_REQUESTED", + CREATING: "CREATING", + DELETED: "DELETED", + DELETE_REQUESTED: "DELETE_REQUESTED", + DELETING: "DELETING", + FAILED_CREATION: "FAILED_CREATION", + FAILED_DELETION: "FAILED_DELETION", + FAILED_UPDATING_NETWORK: "FAILED_UPDATING_NETWORK", + RETRY_DELETION: "RETRY_DELETION", + SUSPENDED: "SUSPENDED", + UPDATE_NETWORK_REQUESTED: "UPDATE_NETWORK_REQUESTED", + UPDATING_NETWORK: "UPDATING_NETWORK", +} as const; + +/** + * @public + */ +export type EnvironmentStatus = (typeof EnvironmentStatus)[keyof typeof EnvironmentStatus]; + +/** + * @public + */ +export interface CreateKxEnvironmentResponse { + /** + * @public + *

    The name of the kdb environment.

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

    The status of the kdb environment.

    + */ + status?: EnvironmentStatus; + + /** + * @public + *

    A unique identifier for the kdb environment.

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

    A description for the kdb environment.

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

    The ARN identifier of the environment.

    + */ environmentArn?: string; /** @@ -1498,6 +1948,148 @@ export interface CreateKxEnvironmentResponse { creationTimestamp?: Date; } +/** + * @public + */ +export interface CreateKxScalingGroupRequest { + /** + * @public + *

    A token that ensures idempotency. This token expires in 10 minutes.

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

    A unique identifier for the kdb environment, where you want to create the scaling group.

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

    A unique identifier for the kdb scaling group.

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

    + * The memory and CPU capabilities of the scaling group host on which FinSpace Managed kdb clusters will be placed. + * + *

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

    The identifier of the availability zones.

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

    + * A list of key-value pairs to label the scaling group. You can add up to 50 tags to a scaling group. + *

    + */ + tags?: Record; +} + +/** + * @public + * @enum + */ +export const KxScalingGroupStatus = { + ACTIVE: "ACTIVE", + CREATE_FAILED: "CREATE_FAILED", + CREATING: "CREATING", + DELETED: "DELETED", + DELETE_FAILED: "DELETE_FAILED", + DELETING: "DELETING", +} as const; + +/** + * @public + */ +export type KxScalingGroupStatus = (typeof KxScalingGroupStatus)[keyof typeof KxScalingGroupStatus]; + +/** + * @public + */ +export interface CreateKxScalingGroupResponse { + /** + * @public + *

    A unique identifier for the kdb environment, where you create the scaling group.

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

    A unique identifier for the kdb scaling group.

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

    + * The memory and CPU capabilities of the scaling group host on which FinSpace Managed kdb clusters will be placed. + * + *

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

    The identifier of the availability zones.

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

    The status of scaling group.

    + *
      + *
    • + *

      CREATING – The scaling group creation is in progress.

      + *
    • + *
    • + *

      CREATE_FAILED – The scaling group creation has failed.

      + *
    • + *
    • + *

      ACTIVE – The scaling group is active.

      + *
    • + *
    • + *

      UPDATING – The scaling group is in the process of being updated.

      + *
    • + *
    • + *

      UPDATE_FAILED – The update action failed.

      + *
    • + *
    • + *

      DELETING – The scaling group is in the process of being deleted.

      + *
    • + *
    • + *

      DELETE_FAILED – The system failed to delete the scaling group.

      + *
    • + *
    • + *

      DELETED – The scaling group is successfully deleted.

      + *
    • + *
    + */ + status?: KxScalingGroupStatus; + + /** + * @public + *

    + * The last time that the scaling group was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

    + */ + lastModifiedTimestamp?: Date; + + /** + * @public + *

    + * The timestamp at which the scaling group was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

    + */ + createdTimestamp?: Date; +} + /** * @public */ @@ -1549,19 +2141,264 @@ export interface CreateKxUserResponse { * how to use ARNs in policies, see IAM Identifiers in the * IAM User Guide.

    */ - userArn?: string; + userArn?: string; + + /** + * @public + *

    A unique identifier for the kdb environment.

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

    The IAM role ARN that will be associated with the user.

    + */ + iamRole?: string; +} + +/** + * @public + * @enum + */ +export const KxNAS1Type = { + HDD_12: "HDD_12", + SSD_1000: "SSD_1000", + SSD_250: "SSD_250", +} as const; + +/** + * @public + */ +export type KxNAS1Type = (typeof KxNAS1Type)[keyof typeof KxNAS1Type]; + +/** + * @public + *

    + * The structure containing the size and type of the network attached storage (NAS_1) file system volume. + *

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

    + * The type of the network attached storage. + *

    + */ + type?: KxNAS1Type; + + /** + * @public + *

    + * The size of the network attached storage.

    + */ + size?: number; +} + +/** + * @public + * @enum + */ +export const KxVolumeType = { + NAS_1: "NAS_1", +} as const; + +/** + * @public + */ +export type KxVolumeType = (typeof KxVolumeType)[keyof typeof KxVolumeType]; + +/** + * @public + */ +export interface CreateKxVolumeRequest { + /** + * @public + *

    A token that ensures idempotency. This token expires in 10 minutes.

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

    A unique identifier for the kdb environment, whose clusters can attach to the volume.

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

    + * The type of file system volume. Currently, FinSpace only supports NAS_1 volume type. When you select NAS_1 volume type, you must also provide nas1Configuration. + *

    + */ + volumeType: KxVolumeType | undefined; + + /** + * @public + *

    A unique identifier for the volume.

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

    + * A description of the volume. + *

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

    Specifies the configuration for the Network attached storage (NAS_1) file system volume. This + * parameter is required when you choose volumeType as + * NAS_1.

    + */ + nas1Configuration?: KxNAS1Configuration; + + /** + * @public + *

    The number of availability zones you want to assign per cluster. Currently, FinSpace only support SINGLE for volumes.

    + */ + azMode: KxAzMode | undefined; + + /** + * @public + *

    The identifier of the availability zones.

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

    + * A list of key-value pairs to label the volume. You can add up to 50 tags to a volume. + *

    + */ + tags?: Record; +} + +/** + * @public + * @enum + */ +export const KxVolumeStatus = { + ACTIVE: "ACTIVE", + CREATE_FAILED: "CREATE_FAILED", + CREATING: "CREATING", + DELETED: "DELETED", + DELETE_FAILED: "DELETE_FAILED", + DELETING: "DELETING", + UPDATED: "UPDATED", + UPDATE_FAILED: "UPDATE_FAILED", + UPDATING: "UPDATING", +} as const; + +/** + * @public + */ +export type KxVolumeStatus = (typeof KxVolumeStatus)[keyof typeof KxVolumeStatus]; + +/** + * @public + */ +export interface CreateKxVolumeResponse { + /** + * @public + *

    A unique identifier for the kdb environment, whose clusters can attach to the volume.

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

    A unique identifier for the volume.

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

    + * The type of file system volume. Currently, FinSpace only supports NAS_1 volume type. + *

    + */ + volumeType?: KxVolumeType; + + /** + * @public + *

    + * The ARN identifier of the volume. + *

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

    Specifies the configuration for the Network attached storage (NAS_1) file system volume.

    + */ + nas1Configuration?: KxNAS1Configuration; + + /** + * @public + *

    The status of volume creation.

    + *
      + *
    • + *

      CREATING – The volume creation is in progress.

      + *
    • + *
    • + *

      CREATE_FAILED – The volume creation has failed.

      + *
    • + *
    • + *

      ACTIVE – The volume is active.

      + *
    • + *
    • + *

      UPDATING – The volume is in the process of being updated.

      + *
    • + *
    • + *

      UPDATE_FAILED – The update action failed.

      + *
    • + *
    • + *

      UPDATED – The volume is successfully updated.

      + *
    • + *
    • + *

      DELETING – The volume is in the process of being deleted.

      + *
    • + *
    • + *

      DELETE_FAILED – The system failed to delete the volume.

      + *
    • + *
    • + *

      DELETED – The volume is successfully deleted.

      + *
    • + *
    + */ + status?: KxVolumeStatus; + + /** + * @public + *

    The error message when a failed state occurs.

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

    The number of availability zones you want to assign per cluster. Currently, FinSpace only support SINGLE for volumes.

    + */ + azMode?: KxAzMode; + + /** + * @public + *

    + * A description of the volume. + *

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

    A unique identifier for the kdb environment.

    + *

    The identifier of the availability zones.

    */ - environmentId?: string; + availabilityZoneIds?: string[]; /** * @public - *

    The IAM role ARN that will be associated with the user.

    + *

    The timestamp at which the volume was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

    */ - iamRole?: string; + createdTimestamp?: Date; } /** @@ -1636,6 +2473,40 @@ export interface DeleteKxDatabaseRequest { */ export interface DeleteKxDatabaseResponse {} +/** + * @public + */ +export interface DeleteKxDataviewRequest { + /** + * @public + *

    A unique identifier for the kdb environment, from where you want to delete the dataview.

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

    The name of the database whose dataview you want to delete.

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

    The name of the dataview that you want to delete.

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

    A token that ensures idempotency. This token expires in 10 minutes.

    + */ + clientToken?: string; +} + +/** + * @public + */ +export interface DeleteKxDataviewResponse {} + /** * @public */ @@ -1645,6 +2516,12 @@ export interface DeleteKxEnvironmentRequest { *

    A unique identifier for the kdb environment.

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

    A token that ensures idempotency. This token expires in 10 minutes.

    + */ + clientToken?: string; } /** @@ -1652,6 +2529,34 @@ export interface DeleteKxEnvironmentRequest { */ export interface DeleteKxEnvironmentResponse {} +/** + * @public + */ +export interface DeleteKxScalingGroupRequest { + /** + * @public + *

    A unique identifier for the kdb environment, from where you want to delete the dataview.

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

    A unique identifier for the kdb scaling group.

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

    A token that ensures idempotency. This token expires in 10 minutes.

    + */ + clientToken?: string; +} + +/** + * @public + */ +export interface DeleteKxScalingGroupResponse {} + /** * @public */ @@ -1667,6 +2572,12 @@ export interface DeleteKxUserRequest { *

    A unique identifier for the kdb environment.

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

    A token that ensures idempotency. This token expires in 10 minutes.

    + */ + clientToken?: string; } /** @@ -1674,6 +2585,36 @@ export interface DeleteKxUserRequest { */ export interface DeleteKxUserResponse {} +/** + * @public + */ +export interface DeleteKxVolumeRequest { + /** + * @public + *

    A unique identifier for the kdb environment, whose clusters can attach to the volume.

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

    + * The name of the volume that you want to delete. + *

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

    A token that ensures idempotency. This token expires in 10 minutes.

    + */ + clientToken?: string; +} + +/** + * @public + */ +export interface DeleteKxVolumeResponse {} + /** * @public */ @@ -1954,10 +2895,30 @@ export interface GetKxClusterResponse { *
  • *

    GP – A general purpose cluster allows you to quickly iterate on code during development by granting greater access to system commands and enabling a fast reload of custom code. This cluster type can optionally mount databases including cache and savedown storage. For this cluster type, the node count is fixed at 1. It does not support autoscaling and supports only SINGLE AZ mode.

    *
  • + *
  • + *

    Tickerplant – A tickerplant cluster allows you to subscribe to feed handlers based on IAM permissions. It can publish to RDBs, other Tickerplants, and real-time subscribers (RTS). Tickerplants can persist messages to log, which is readable by any RDB environment. It supports only single-node that is only one kdb process.

    + *
  • * */ clusterType?: KxClusterType; + /** + * @public + *

    + * A configuration to store the Tickerplant logs. It consists of + * a list of volumes that will be mounted to your cluster. For the cluster type Tickerplant, the location of the TP volume on the cluster will be available by using the global variable .aws.tp_log_path. + *

    + */ + tickerplantLogConfiguration?: TickerplantLogConfiguration; + + /** + * @public + *

    + * A list of volumes attached to the cluster. + *

    + */ + volumes?: Volume[]; + /** * @public *

    A list of databases mounted on the cluster.

    @@ -2070,6 +3031,12 @@ export interface GetKxClusterResponse { *

    The timestamp at which the cluster was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

    */ createdTimestamp?: Date; + + /** + * @public + *

    The structure that stores the capacity configuration details of a scaling group.

    + */ + scalingGroupConfiguration?: KxScalingGroupConfiguration; } /** @@ -2161,33 +3128,228 @@ export interface GetKxDatabaseResponse { /** * @public - *

    The last time that the database was modified. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

    + *

    The last time that the database was modified. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

    + */ + lastModifiedTimestamp?: Date; + + /** + * @public + *

    A unique identifier for the changeset.

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

    The total number of bytes in the database.

    + */ + numBytes?: number; + + /** + * @public + *

    The total number of changesets in the database.

    + */ + numChangesets?: number; + + /** + * @public + *

    The total number of files in the database.

    + */ + numFiles?: number; +} + +/** + * @public + */ +export interface GetKxDataviewRequest { + /** + * @public + *

    A unique identifier for the kdb environment, from where you want to retrieve the dataview details.

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

    + * The name of the database where you created the dataview.

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

    A unique identifier for the dataview.

    + */ + dataviewName: string | undefined; +} + +/** + * @public + *

    + * The active version of the dataview that is currently in use by this cluster. + * + *

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

    A unique identifier for the changeset.

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

    + * The configuration that contains the database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume. If you do not explicitly specify any database path for a volume, they are accessible from the cluster through the default S3/object store segment.

    + */ + segmentConfigurations?: KxDataviewSegmentConfiguration[]; + + /** + * @public + *

    + * The list of clusters that are currently using this dataview. + * + *

    + */ + attachedClusters?: string[]; + + /** + * @public + *

    + * The timestamp at which the dataview version was active. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

    + */ + createdTimestamp?: Date; + + /** + * @public + *

    + * A unique identifier of the active version.

    + */ + versionId?: string; +} + +/** + * @public + */ +export interface GetKxDataviewResponse { + /** + * @public + *

    + * The name of the database where you created the dataview.

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

    A unique identifier for the dataview.

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

    The number of availability zones you want to assign per cluster. This can be one of the following

    + *
      + *
    • + *

      + * SINGLE – Assigns one availability zone per cluster.

      + *
    • + *
    • + *

      + * MULTI – Assigns all the availability zones per cluster.

      + *
    • + *
    + */ + azMode?: KxAzMode; + + /** + * @public + *

    + * The identifier of the availability zones. + *

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

    + * A unique identifier of the changeset that you want to use to ingest data.

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

    + * The configuration that contains the database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume. If you do not explicitly specify any database path for a volume, they are accessible from the cluster through the default S3/object store segment.

    + */ + segmentConfigurations?: KxDataviewSegmentConfiguration[]; + + /** + * @public + *

    + * The current active changeset versions of the database on the given dataview. + * + *

    + */ + activeVersions?: KxDataviewActiveVersion[]; + + /** + * @public + *

    A description of the dataview.

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

    The option to specify whether you want to apply all the future additions and corrections automatically to the dataview when new changesets are ingested. The default value is false.

    + */ + autoUpdate?: boolean; + + /** + * @public + *

    A unique identifier for the kdb environment, from where you want to retrieve the dataview details.

    */ - lastModifiedTimestamp?: Date; + environmentId?: string; /** * @public - *

    A unique identifier for the changeset.

    + *

    The timestamp at which the dataview was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

    */ - lastCompletedChangesetId?: string; + createdTimestamp?: Date; /** * @public - *

    The total number of bytes in the database.

    + *

    + * The last time that the dataview was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. + *

    */ - numBytes?: number; + lastModifiedTimestamp?: Date; /** * @public - *

    The total number of changesets in the database.

    + *

    + * The status of dataview creation.

    + *
      + *
    • + *

      + * CREATING – The dataview creation is in progress.

      + *
    • + *
    • + *

      + * UPDATING – The dataview is in the process of being updated.

      + *
    • + *
    • + *

      + * ACTIVE – The dataview is active.

      + *
    • + *
    */ - numChangesets?: number; + status?: KxDataviewStatus; /** * @public - *

    The total number of files in the database.

    + *

    + * The error message when a failed state occurs. + *

    */ - numFiles?: number; + statusReason?: string; } /** @@ -2460,98 +3622,403 @@ export interface GetKxEnvironmentResponse { * @public *

    The KMS key ID to encrypt your data in the FinSpace environment.

    */ - kmsKeyId?: string; + kmsKeyId?: string; + + /** + * @public + *

    A unique identifier for the AWS environment infrastructure account.

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

    The structure of the transit gateway and network configuration that is used to connect the kdb environment to an internal network.

    + */ + transitGatewayConfiguration?: TransitGatewayConfiguration; + + /** + * @public + *

    A list of DNS server name and server IP. This is used to set up Route-53 outbound resolvers.

    + */ + customDNSConfiguration?: CustomDNSServer[]; + + /** + * @public + *

    The timestamp at which the kdb environment was created in FinSpace.

    + */ + creationTimestamp?: Date; + + /** + * @public + *

    The timestamp at which the kdb environment was updated.

    + */ + updateTimestamp?: Date; + + /** + * @public + *

    The identifier of the availability zones where subnets for the environment are created.

    + */ + availabilityZoneIds?: string[]; + + /** + * @public + *

    The Amazon Resource Name (ARN) of the certificate authority of the + * kdb environment.

    + */ + certificateAuthorityArn?: string; +} + +/** + * @public + */ +export interface GetKxScalingGroupRequest { + /** + * @public + *

    A unique identifier for the kdb environment.

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

    A unique identifier for the kdb scaling group.

    + */ + scalingGroupName: string | undefined; +} + +/** + * @public + */ +export interface GetKxScalingGroupResponse { + /** + * @public + *

    A unique identifier for the kdb scaling group.

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

    + * The ARN identifier for the scaling group. + *

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

    + * The memory and CPU capabilities of the scaling group host on which FinSpace Managed kdb clusters will be placed. + * + *

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

    + * The list of Managed kdb clusters that are currently active in the given scaling group. + * + *

    + */ + clusters?: string[]; + + /** + * @public + *

    The identifier of the availability zones.

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

    The status of scaling group.

    + *
      + *
    • + *

      CREATING – The scaling group creation is in progress.

      + *
    • + *
    • + *

      CREATE_FAILED – The scaling group creation has failed.

      + *
    • + *
    • + *

      ACTIVE – The scaling group is active.

      + *
    • + *
    • + *

      UPDATING – The scaling group is in the process of being updated.

      + *
    • + *
    • + *

      UPDATE_FAILED – The update action failed.

      + *
    • + *
    • + *

      DELETING – The scaling group is in the process of being deleted.

      + *
    • + *
    • + *

      DELETE_FAILED – The system failed to delete the scaling group.

      + *
    • + *
    • + *

      DELETED – The scaling group is successfully deleted.

      + *
    • + *
    + */ + status?: KxScalingGroupStatus; + + /** + * @public + *

    + * The error message when a failed state occurs. + *

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

    + * The last time that the scaling group was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. + *

    + */ + lastModifiedTimestamp?: Date; + + /** + * @public + *

    + * The timestamp at which the scaling group was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

    + */ + createdTimestamp?: Date; +} + +/** + * @public + */ +export interface GetKxUserRequest { + /** + * @public + *

    A unique identifier for the user.

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

    A unique identifier for the kdb environment.

    + */ + environmentId: string | undefined; +} + +/** + * @public + */ +export interface GetKxUserResponse { + /** + * @public + *

    A unique identifier for the user.

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

    The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and + * how to use ARNs in policies, see IAM Identifiers in the + * IAM User Guide.

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

    A unique identifier for the kdb environment.

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

    The IAM role ARN that is associated with the user.

    + */ + iamRole?: string; +} + +/** + * @public + */ +export interface GetKxVolumeRequest { + /** + * @public + *

    A unique identifier for the kdb environment, whose clusters can attach to the volume.

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

    A unique identifier for the volume.

    + */ + volumeName: string | undefined; +} + +/** + * @public + *

    The structure containing the metadata of the attached clusters.

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

    A unique name for the attached cluster.

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

    Specifies the type of cluster. The volume for TP and RDB cluster types will be used for TP logs.

    + */ + clusterType?: KxClusterType; + + /** + * @public + *

    The status of the attached cluster.

    + *
      + *
    • + *

      PENDING – The cluster is pending creation.

      + *
    • + *
    • + *

      CREATING – The cluster creation process is in progress.

      + *
    • + *
    • + *

      CREATE_FAILED – The cluster creation process has failed.

      + *
    • + *
    • + *

      RUNNING – The cluster creation process is running.

      + *
    • + *
    • + *

      UPDATING – The cluster is in the process of being updated.

      + *
    • + *
    • + *

      DELETING – The cluster is in the process of being deleted.

      + *
    • + *
    • + *

      DELETED – The cluster has been deleted.

      + *
    • + *
    • + *

      DELETE_FAILED – The cluster failed to delete.

      + *
    • + *
    + */ + clusterStatus?: KxClusterStatus; +} +/** + * @public + */ +export interface GetKxVolumeResponse { /** * @public - *

    A unique identifier for the AWS environment infrastructure account.

    + *

    A unique identifier for the kdb environment, whose clusters can attach to the volume.

    */ - dedicatedServiceAccountId?: string; + environmentId?: string; /** * @public - *

    The structure of the transit gateway and network configuration that is used to connect the kdb environment to an internal network.

    + *

    + * A unique identifier for the volume.

    */ - transitGatewayConfiguration?: TransitGatewayConfiguration; + volumeName?: string; /** * @public - *

    A list of DNS server name and server IP. This is used to set up Route-53 outbound resolvers.

    + *

    + * The type of file system volume. Currently, FinSpace only supports NAS_1 volume type. + *

    */ - customDNSConfiguration?: CustomDNSServer[]; + volumeType?: KxVolumeType; /** * @public - *

    The timestamp at which the kdb environment was created in FinSpace.

    + *

    + * The ARN identifier of the volume. + *

    */ - creationTimestamp?: Date; + volumeArn?: string; /** * @public - *

    The timestamp at which the kdb environment was updated.

    + *

    Specifies the configuration for the Network attached storage (NAS_1) file system volume.

    */ - updateTimestamp?: Date; + nas1Configuration?: KxNAS1Configuration; /** * @public - *

    The identifier of the availability zones where subnets for the environment are created.

    + *

    The status of volume creation.

    + *
      + *
    • + *

      CREATING – The volume creation is in progress.

      + *
    • + *
    • + *

      CREATE_FAILED – The volume creation has failed.

      + *
    • + *
    • + *

      ACTIVE – The volume is active.

      + *
    • + *
    • + *

      UPDATING – The volume is in the process of being updated.

      + *
    • + *
    • + *

      UPDATE_FAILED – The update action failed.

      + *
    • + *
    • + *

      UPDATED – The volume is successfully updated.

      + *
    • + *
    • + *

      DELETING – The volume is in the process of being deleted.

      + *
    • + *
    • + *

      DELETE_FAILED – The system failed to delete the volume.

      + *
    • + *
    • + *

      DELETED – The volume is successfully deleted.

      + *
    • + *
    */ - availabilityZoneIds?: string[]; + status?: KxVolumeStatus; /** * @public - *

    The Amazon Resource Name (ARN) of the certificate authority of the - * kdb environment.

    + *

    The error message when a failed state occurs.

    */ - certificateAuthorityArn?: string; -} + statusReason?: string; -/** - * @public - */ -export interface GetKxUserRequest { /** * @public - *

    A unique identifier for the user.

    + *

    + * The timestamp at which the volume was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. + *

    */ - userName: string | undefined; + createdTimestamp?: Date; /** * @public - *

    A unique identifier for the kdb environment.

    + *

    + * A description of the volume. + *

    */ - environmentId: string | undefined; -} + description?: string; -/** - * @public - */ -export interface GetKxUserResponse { /** * @public - *

    A unique identifier for the user.

    + *

    The number of availability zones you want to assign per cluster. Currently, FinSpace only support SINGLE for volumes.

    */ - userName?: string; + azMode?: KxAzMode; /** * @public - *

    The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and - * how to use ARNs in policies, see IAM Identifiers in the - * IAM User Guide.

    + *

    The identifier of the availability zones.

    */ - userArn?: string; + availabilityZoneIds?: string[]; /** * @public - *

    A unique identifier for the kdb environment.

    + *

    The last time that the volume was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

    */ - environmentId?: string; + lastModifiedTimestamp?: Date; /** * @public - *

    The IAM role ARN that is associated with the user.

    + *

    + * A list of cluster identifiers that a volume is attached to. + *

    */ - iamRole?: string; + attachedClusters?: KxAttachedCluster[]; } /** @@ -2786,6 +4253,9 @@ export interface ListKxClustersRequest { *
  • *

    GP – A general purpose cluster allows you to quickly iterate on code during development by granting greater access to system commands and enabling a fast reload of custom code. This cluster type can optionally mount databases including cache and savedown storage. For this cluster type, the node count is fixed at 1. It does not support autoscaling and supports only SINGLE AZ mode.

    *
  • + *
  • + *

    Tickerplant – A tickerplant cluster allows you to subscribe to feed handlers based on IAM permissions. It can publish to RDBs, other Tickerplants, and real-time subscribers (RTS). Tickerplants can persist messages to log, which is readable by any RDB environment. It supports only single-node that is only one kdb process.

    + *
  • * */ clusterType?: KxClusterType; @@ -2868,42 +4338,231 @@ export interface KxCluster { *
  • *

    GP – A general purpose cluster allows you to quickly iterate on code during development by granting greater access to system commands and enabling a fast reload of custom code. This cluster type can optionally mount databases including cache and savedown storage. For this cluster type, the node count is fixed at 1. It does not support autoscaling and supports only SINGLE AZ mode.

    *
  • + *
  • + *

    Tickerplant – A tickerplant cluster allows you to subscribe to feed handlers based on IAM permissions. It can publish to RDBs, other Tickerplants, and real-time subscribers (RTS). Tickerplants can persist messages to log, which is readable by any RDB environment. It supports only single-node that is only one kdb process.

    + *
  • + * + */ + clusterType?: KxClusterType; + + /** + * @public + *

    A description of the cluster.

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

    A version of the FinSpace managed kdb to run.

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

    + * A list of volumes attached to the cluster. + *

    + */ + volumes?: Volume[]; + + /** + * @public + *

    Specifies a Q program that will be run at launch of a cluster. It is a relative path within + * .zip file that contains the custom code, which will be loaded on + * the cluster. It must include the file name itself. For example, + * somedir/init.q.

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

    + * An IAM role that defines a set of permissions associated with a cluster. These permissions are assumed when a cluster attempts to access another cluster. + *

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

    The number of availability zones assigned per cluster. This can be one of the following:

    + *
      + *
    • + *

      + * SINGLE – Assigns one availability zone per cluster.

      + *
    • + *
    • + *

      + * MULTI – Assigns all the availability zones per cluster.

      + *
    • *
    */ - clusterType?: KxClusterType; + azMode?: KxAzMode; + + /** + * @public + *

    + * The availability zone identifiers for the requested regions. + *

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

    The last time that the cluster was modified. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

    + */ + lastModifiedTimestamp?: Date; + + /** + * @public + *

    The timestamp at which the cluster was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

    + */ + createdTimestamp?: Date; +} + +/** + * @public + */ +export interface ListKxClustersResponse { + /** + * @public + *

    Lists the cluster details.

    + */ + kxClusterSummaries?: KxCluster[]; + + /** + * @public + *

    A token that indicates where a results page should begin.

    + */ + nextToken?: string; +} + +/** + * @public + */ +export interface ListKxDatabasesRequest { + /** + * @public + *

    A unique identifier for the kdb environment.

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

    A token that indicates where a results page should begin.

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

    The maximum number of results to return in this request.

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

    Details about a FinSpace managed kdb database

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

    The name of the kdb database.

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

    The timestamp at which the database was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

    + */ + createdTimestamp?: Date; + + /** + * @public + *

    The last time that the database was modified. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

    + */ + lastModifiedTimestamp?: Date; +} + +/** + * @public + */ +export interface ListKxDatabasesResponse { + /** + * @public + *

    A list of databases in the kdb environment.

    + */ + kxDatabases?: KxDatabaseListEntry[]; + + /** + * @public + *

    A token that indicates where a results page should begin.

    + */ + nextToken?: string; +} + +/** + * @public + */ +export interface ListKxDataviewsRequest { + /** + * @public + *

    A unique identifier for the kdb environment, for which you want to retrieve a list of dataviews.

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

    + * The name of the database where the dataviews were created.

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

    + * A token that indicates where a results page should begin. + *

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

    A description of the cluster.

    + *

    The maximum number of results to return in this request.

    */ - clusterDescription?: string; + maxResults?: number; +} +/** + * @public + *

    + * A collection of kdb dataview entries. + * + *

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

    A version of the FinSpace managed kdb to run.

    + *

    A unique identifier for the kdb environment.

    */ - releaseLabel?: string; + environmentId?: string; /** * @public - *

    Specifies a Q program that will be run at launch of a cluster. It is a relative path within - * .zip file that contains the custom code, which will be loaded on - * the cluster. It must include the file name itself. For example, - * somedir/init.q.

    + *

    + * A unique identifier of the database.

    */ - initializationScript?: string; + databaseName?: string; /** * @public *

    - * An IAM role that defines a set of permissions associated with a cluster. These permissions are assumed when a cluster attempts to access another cluster. - *

    + * A unique identifier of the dataview.

    */ - executionRole?: string; + dataviewName?: string; /** * @public - *

    The number of availability zones assigned per cluster. This can be one of the following:

    + *

    The number of availability zones you want to assign per cluster. This can be one of the following

    *
      *
    • *

      @@ -2920,101 +4579,95 @@ export interface KxCluster { /** * @public *

      - * The availability zone identifiers for the requested regions. - *

      + * The identifier of the availability zones. + *

      */ availabilityZoneId?: string; /** * @public - *

      The last time that the cluster was modified. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      - */ - lastModifiedTimestamp?: Date; - - /** - * @public - *

      The timestamp at which the cluster was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      + *

      A unique identifier for the changeset.

      */ - createdTimestamp?: Date; -} + changesetId?: string; -/** - * @public - */ -export interface ListKxClustersResponse { /** * @public - *

      Lists the cluster details.

      + *

      + * The configuration that contains the database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume. If you do not explicitly specify any database path for a volume, they are accessible from the cluster through the default S3/object store segment.

      */ - kxClusterSummaries?: KxCluster[]; + segmentConfigurations?: KxDataviewSegmentConfiguration[]; /** * @public - *

      A token that indicates where a results page should begin.

      + *

      + * The active changeset versions for the given dataview entry. + * + *

      */ - nextToken?: string; -} + activeVersions?: KxDataviewActiveVersion[]; -/** - * @public - */ -export interface ListKxDatabasesRequest { /** * @public - *

      A unique identifier for the kdb environment.

      + *

      + * The status of a given dataview entry. + * + *

      */ - environmentId: string | undefined; + status?: KxDataviewStatus; /** * @public - *

      A token that indicates where a results page should begin.

      + *

      + * A description for the dataview list entry.

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

      The maximum number of results to return in this request.

      + *

      + * The option to specify whether you want to apply all the future additions and corrections automatically to the dataview when you ingest new changesets. The default value is false. + *

      */ - maxResults?: number; -} + autoUpdate?: boolean; -/** - * @public - *

      Details about a FinSpace managed kdb database

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

      The name of the kdb database.

      + *

      + * The timestamp at which the dataview list entry was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      */ - databaseName?: string; + createdTimestamp?: Date; /** * @public - *

      The timestamp at which the database was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      + *

      The last time that the dataview list was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      */ - createdTimestamp?: Date; + lastModifiedTimestamp?: Date; /** * @public - *

      The last time that the database was modified. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      + *

      + * The error message when a failed state occurs. + *

      */ - lastModifiedTimestamp?: Date; + statusReason?: string; } /** * @public */ -export interface ListKxDatabasesResponse { +export interface ListKxDataviewsResponse { /** * @public - *

      A list of databases in the kdb environment.

      + *

      + * The list of kdb dataviews that are currently active for the given database. + *

      */ - kxDatabases?: KxDatabaseListEntry[]; + kxDataviews?: KxDataviewListEntry[]; /** * @public - *

      A token that indicates where a results page should begin.

      + *

      + * A token that indicates where a results page should begin.

      */ nextToken?: string; } @@ -3179,9 +4832,199 @@ export interface KxEnvironment { export interface ListKxEnvironmentsResponse { /** * @public - *

      A list of environments in an account.

      + *

      A list of environments in an account.

      + */ + environments?: KxEnvironment[]; + + /** + * @public + *

      A token that indicates where a results page should begin.

      + */ + nextToken?: string; +} + +/** + * @public + */ +export interface ListKxScalingGroupsRequest { + /** + * @public + *

      A unique identifier for the kdb environment, for which you want to retrieve a list of scaling groups.

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

      The maximum number of results to return in this request.

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

      + * A token that indicates where a results page should begin.

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

      + * A structure for storing metadata of scaling group.

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

      A unique identifier for the kdb scaling group.

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

      + * The memory and CPU capabilities of the scaling group host on which FinSpace Managed kdb clusters will be placed. + * + *

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

      + * The list of clusters currently active in a given scaling group. + * + *

      + */ + clusters?: string[]; + + /** + * @public + *

      The identifier of the availability zones.

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

      + * The status of scaling groups. + *

      + */ + status?: KxScalingGroupStatus; + + /** + * @public + *

      + * The error message when a failed state occurs. + *

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

      + * The last time that the scaling group was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. + *

      + */ + lastModifiedTimestamp?: Date; + + /** + * @public + *

      + * The timestamp at which the scaling group was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. + *

      + */ + createdTimestamp?: Date; +} + +/** + * @public + */ +export interface ListKxScalingGroupsResponse { + /** + * @public + *

      + * A list of scaling groups available in a kdb environment.

      + */ + scalingGroups?: KxScalingGroup[]; + + /** + * @public + *

      + * A token that indicates where a results page should begin.

      + */ + nextToken?: string; +} + +/** + * @public + */ +export interface ListKxUsersRequest { + /** + * @public + *

      A unique identifier for the kdb environment.

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

      A token that indicates where a results page should begin.

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

      The maximum number of results to return in this request.

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

      A structure that stores metadata for a kdb user.

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

      The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and + * how to use ARNs in policies, see IAM Identifiers in the + * IAM User Guide.

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

      A unique identifier for the user.

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

      The IAM role ARN that is associated with the user.

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

      The timestamp at which the kdb user was created.

      + */ + createTimestamp?: Date; + + /** + * @public + *

      The timestamp at which the kdb user was updated.

      + */ + updateTimestamp?: Date; +} + +/** + * @public + */ +export interface ListKxUsersResponse { + /** + * @public + *

      A list of users in a kdb environment.

      */ - environments?: KxEnvironment[]; + users?: KxUser[]; /** * @public @@ -3193,13 +5036,19 @@ export interface ListKxEnvironmentsResponse { /** * @public */ -export interface ListKxUsersRequest { +export interface ListKxVolumesRequest { /** * @public - *

      A unique identifier for the kdb environment.

      + *

      A unique identifier for the kdb environment, whose clusters can attach to the volume.

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

      The maximum number of results to return in this request.

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

      A token that indicates where a results page should begin.

      @@ -3208,58 +5057,122 @@ export interface ListKxUsersRequest { /** * @public - *

      The maximum number of results to return in this request.

      + *

      + * The type of file system volume. Currently, FinSpace only supports NAS_1 volume type. + *

      */ - maxResults?: number; + volumeType?: KxVolumeType; } /** * @public - *

      A structure that stores metadata for a kdb user.

      + *

      + * The structure that contains the metadata of the volume. + *

      */ -export interface KxUser { +export interface KxVolume { /** * @public - *

      The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and - * how to use ARNs in policies, see IAM Identifiers in the - * IAM User Guide.

      + *

      A unique identifier for the volume.

      */ - userArn?: string; + volumeName?: string; /** * @public - *

      A unique identifier for the user.

      + *

      + * The type of file system volume. Currently, FinSpace only supports NAS_1 volume type. + *

      */ - userName?: string; + volumeType?: KxVolumeType; /** * @public - *

      The IAM role ARN that is associated with the user.

      + *

      The status of volume.

      + *
        + *
      • + *

        CREATING – The volume creation is in progress.

        + *
      • + *
      • + *

        CREATE_FAILED – The volume creation has failed.

        + *
      • + *
      • + *

        ACTIVE – The volume is active.

        + *
      • + *
      • + *

        UPDATING – The volume is in the process of being updated.

        + *
      • + *
      • + *

        UPDATE_FAILED – The update action failed.

        + *
      • + *
      • + *

        UPDATED – The volume is successfully updated.

        + *
      • + *
      • + *

        DELETING – The volume is in the process of being deleted.

        + *
      • + *
      • + *

        DELETE_FAILED – The system failed to delete the volume.

        + *
      • + *
      • + *

        DELETED – The volume is successfully deleted.

        + *
      • + *
      */ - iamRole?: string; + status?: KxVolumeStatus; /** * @public - *

      The timestamp at which the kdb user was created.

      + *

      + * A description of the volume. + *

      */ - createTimestamp?: Date; + description?: string; /** * @public - *

      The timestamp at which the kdb user was updated.

      + *

      The error message when a failed state occurs.

      */ - updateTimestamp?: Date; + statusReason?: string; + + /** + * @public + *

      + * The number of availability zones assigned to the volume. Currently, only SINGLE is supported. + *

      + */ + azMode?: KxAzMode; + + /** + * @public + *

      The identifier of the availability zones.

      + */ + availabilityZoneIds?: string[]; + + /** + * @public + *

      + * The timestamp at which the volume was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      + */ + createdTimestamp?: Date; + + /** + * @public + *

      The last time that the volume was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      + */ + lastModifiedTimestamp?: Date; } /** * @public */ -export interface ListKxUsersResponse { +export interface ListKxVolumesResponse { /** * @public - *

      A list of users in a kdb environment.

      + *

      + * A summary of volumes. + *

      */ - users?: KxUser[]; + kxVolumeSummaries?: KxVolume[]; /** * @public @@ -3498,161 +5411,335 @@ export interface UpdateKxClusterCodeConfigurationRequest { /** * @public - *

      Specifies the key-value pairs to make them available inside the cluster.

      - *

      You cannot update this parameter for a NO_RESTART deployment.

      + *

      Specifies the key-value pairs to make them available inside the cluster.

      + *

      You cannot update this parameter for a NO_RESTART deployment.

      + */ + commandLineArguments?: KxCommandLineArgument[]; + + /** + * @public + *

      + * The configuration that allows you to choose how you want to update the code on a cluster. + *

      + */ + deploymentConfiguration?: KxClusterCodeDeploymentConfiguration; +} + +/** + * @public + */ +export interface UpdateKxClusterCodeConfigurationResponse {} + +/** + * @public + * @enum + */ +export const KxDeploymentStrategy = { + NO_RESTART: "NO_RESTART", + ROLLING: "ROLLING", +} as const; + +/** + * @public + */ +export type KxDeploymentStrategy = (typeof KxDeploymentStrategy)[keyof typeof KxDeploymentStrategy]; + +/** + * @public + *

      + * The configuration that allows you to choose how you want to update the databases on a cluster. Depending on the option you choose, you can reduce the time it takes to update the cluster. + *

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

      + * The type of deployment that you want on a cluster. + * + *

      + *
        + *
      • + *

        ROLLING – This options updates the cluster by stopping the exiting q process and starting a new q process with updated configuration.

        + *
      • + *
      • + *

        NO_RESTART – This option updates the cluster without stopping the running q process. It is only available for HDB type cluster. This option is quicker as it reduces the turn around time to update configuration on a cluster.

        + *

        With this deployment mode, you cannot update the initializationScript and commandLineArguments parameters.

        + *
      • + *
      + */ + deploymentStrategy: KxDeploymentStrategy | undefined; +} + +/** + * @public + */ +export interface UpdateKxClusterDatabasesRequest { + /** + * @public + *

      The unique identifier of a kdb environment.

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

      A unique name for the cluster that you want to modify.

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

      A token that ensures idempotency. This token expires in 10 minutes.

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

      The structure of databases mounted on the cluster.

      + */ + databases: KxDatabaseConfiguration[] | undefined; + + /** + * @public + *

      + * The configuration that allows you to choose how you want to update the databases on a cluster. + *

      + */ + deploymentConfiguration?: KxDeploymentConfiguration; +} + +/** + * @public + */ +export interface UpdateKxClusterDatabasesResponse {} + +/** + * @public + */ +export interface UpdateKxDatabaseRequest { + /** + * @public + *

      A unique identifier for the kdb environment.

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

      The name of the kdb database.

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

      A description of the database.

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

      A token that ensures idempotency. This token expires in 10 minutes.

      + */ + clientToken?: string; +} + +/** + * @public + */ +export interface UpdateKxDatabaseResponse { + /** + * @public + *

      The name of the kdb database.

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

      A unique identifier for the kdb environment.

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

      A description of the database.

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

      The last time that the database was modified. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      + */ + lastModifiedTimestamp?: Date; +} + +/** + * @public + */ +export interface UpdateKxDataviewRequest { + /** + * @public + *

      A unique identifier for the kdb environment, where you want to update the dataview.

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

      + * The name of the database.

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

      The name of the dataview that you want to update.

      */ - commandLineArguments?: KxCommandLineArgument[]; + dataviewName: string | undefined; /** * @public *

      - * The configuration that allows you to choose how you want to update the code on a cluster. + * The description for a dataview. *

      */ - deploymentConfiguration?: KxClusterCodeDeploymentConfiguration; -} - -/** - * @public - */ -export interface UpdateKxClusterCodeConfigurationResponse {} - -/** - * @public - * @enum - */ -export const KxDeploymentStrategy = { - NO_RESTART: "NO_RESTART", - ROLLING: "ROLLING", -} as const; + description?: string; -/** - * @public - */ -export type KxDeploymentStrategy = (typeof KxDeploymentStrategy)[keyof typeof KxDeploymentStrategy]; + /** + * @public + *

      A unique identifier for the changeset.

      + */ + changesetId?: string; -/** - * @public - *

      - * The configuration that allows you to choose how you want to update the databases on a cluster. Depending on the option you choose, you can reduce the time it takes to update the cluster. - *

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

      - * The type of deployment that you want on a cluster. - * - *

      - *
        - *
      • - *

        ROLLING – This options updates the cluster by stopping the exiting q process and starting a new q process with updated configuration.

        - *
      • - *
      • - *

        NO_RESTART – This option updates the cluster without stopping the running q process. It is only available for HDB type cluster. This option is quicker as it reduces the turn around time to update configuration on a cluster.

        - *

        With this deployment mode, you cannot update the initializationScript and commandLineArguments parameters.

        - *
      • - *
      + * The configuration that contains the database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume. If you do not explicitly specify any database path for a volume, they are accessible from the cluster through the default S3/object store segment.

      */ - deploymentStrategy: KxDeploymentStrategy | undefined; + segmentConfigurations?: KxDataviewSegmentConfiguration[]; + + /** + * @public + *

      A token that ensures idempotency. This token expires in 10 minutes.

      + */ + clientToken?: string; } /** * @public */ -export interface UpdateKxClusterDatabasesRequest { +export interface UpdateKxDataviewResponse { /** * @public - *

      The unique identifier of a kdb environment.

      + *

      A unique identifier for the kdb environment, where you want to update the dataview.

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

      A unique name for the cluster that you want to modify.

      + *

      + * The name of the database. + *

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

      A token that ensures idempotency. This token expires in 10 minutes.

      + *

      + * The name of the database under which the dataview was created. + * + *

      */ - clientToken?: string; + dataviewName?: string; /** * @public - *

      The structure of databases mounted on the cluster.

      + *

      The number of availability zones you want to assign per cluster. This can be one of the following

      + *
        + *
      • + *

        + * SINGLE – Assigns one availability zone per cluster.

        + *
      • + *
      • + *

        + * MULTI – Assigns all the availability zones per cluster.

        + *
      • + *
      */ - databases: KxDatabaseConfiguration[] | undefined; + azMode?: KxAzMode; /** * @public *

      - * The configuration that allows you to choose how you want to update the databases on a cluster. + * The identifier of the availability zones. *

      */ - deploymentConfiguration?: KxDeploymentConfiguration; -} - -/** - * @public - */ -export interface UpdateKxClusterDatabasesResponse {} + availabilityZoneId?: string; -/** - * @public - */ -export interface UpdateKxDatabaseRequest { /** * @public - *

      A unique identifier for the kdb environment.

      + *

      A unique identifier for the changeset.

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

      The name of the kdb database.

      + *

      + * The configuration that contains the database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume. If you do not explicitly specify any database path for a volume, they are accessible from the cluster through the default S3/object store segment.

      */ - databaseName: string | undefined; + segmentConfigurations?: KxDataviewSegmentConfiguration[]; /** * @public - *

      A description of the database.

      + *

      + * The current active changeset versions of the database on the given dataview. + * + *

      */ - description?: string; + activeVersions?: KxDataviewActiveVersion[]; /** * @public - *

      A token that ensures idempotency. This token expires in 10 minutes.

      + *

      + * The status of dataview creation.

      + *
        + *
      • + *

        + * CREATING – The dataview creation is in progress.

        + *
      • + *
      • + *

        + * UPDATING – The dataview is in the process of being updated.

        + *
      • + *
      • + *

        + * ACTIVE – The dataview is active.

        + *
      • + *
      */ - clientToken?: string; -} + status?: KxDataviewStatus; -/** - * @public - */ -export interface UpdateKxDatabaseResponse { /** * @public - *

      The name of the kdb database.

      + *

      The option to specify whether you want to apply all the future additions and corrections automatically to the dataview when new changesets are ingested. The default value is false.

      */ - databaseName?: string; + autoUpdate?: boolean; /** * @public - *

      A unique identifier for the kdb environment.

      + *

      A description of the dataview.

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

      A description of the database.

      + *

      + * The timestamp at which the dataview was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. + *

      */ - description?: string; + createdTimestamp?: Date; /** * @public - *

      The last time that the database was modified. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      + *

      + * The last time that the dataview was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. + *

      */ lastModifiedTimestamp?: Date; } @@ -3977,6 +6064,165 @@ export interface UpdateKxUserResponse { iamRole?: string; } +/** + * @public + */ +export interface UpdateKxVolumeRequest { + /** + * @public + *

      A unique identifier for the kdb environment where you created the storage volume.

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

      + * A unique identifier for the volume.

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

      + * A description of the volume. + *

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

      A token that ensures idempotency. This token expires in 10 minutes.

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

      Specifies the configuration for the Network attached storage (NAS_1) file system volume.

      + */ + nas1Configuration?: KxNAS1Configuration; +} + +/** + * @public + */ +export interface UpdateKxVolumeResponse { + /** + * @public + *

      A unique identifier for the kdb environment where you want to update the volume.

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

      A unique identifier for the volume that you want to update.

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

      + * The type of file system volume. Currently, FinSpace only supports NAS_1 volume type. + *

      + */ + volumeType?: KxVolumeType; + + /** + * @public + *

      + * The ARN identifier of the volume. + *

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

      Specifies the configuration for the Network attached storage (NAS_1) file system volume.

      + */ + nas1Configuration?: KxNAS1Configuration; + + /** + * @public + *

      The status of the volume.

      + *
        + *
      • + *

        CREATING – The volume creation is in progress.

        + *
      • + *
      • + *

        CREATE_FAILED – The volume creation has failed.

        + *
      • + *
      • + *

        ACTIVE – The volume is active.

        + *
      • + *
      • + *

        UPDATING – The volume is in the process of being updated.

        + *
      • + *
      • + *

        UPDATE_FAILED – The update action failed.

        + *
      • + *
      • + *

        UPDATED – The volume is successfully updated.

        + *
      • + *
      • + *

        DELETING – The volume is in the process of being deleted.

        + *
      • + *
      • + *

        DELETE_FAILED – The system failed to delete the volume.

        + *
      • + *
      • + *

        DELETED – The volume is successfully deleted.

        + *
      • + *
      + */ + status?: KxVolumeStatus; + + /** + * @public + *

      + * The description for the volume. + *

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

      The error message when a failed state occurs.

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

      + * The timestamp at which the volume was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      + */ + createdTimestamp?: Date; + + /** + * @public + *

      The number of availability zones you want to assign per cluster. Currently, FinSpace only support SINGLE for volumes.

      + */ + azMode?: KxAzMode; + + /** + * @public + *

      The identifier of the availability zones.

      + */ + availabilityZoneIds?: string[]; + + /** + * @public + *

      The last time that the volume was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      + */ + lastModifiedTimestamp?: Date; + + /** + * @public + *

      + * Specifies the clusters that a volume is attached to. + *

      + */ + attachedClusters?: KxAttachedCluster[]; +} + /** * @internal */ diff --git a/clients/client-finspace/src/pagination/ListKxDataviewsPaginator.ts b/clients/client-finspace/src/pagination/ListKxDataviewsPaginator.ts new file mode 100644 index 0000000000000..3073061276995 --- /dev/null +++ b/clients/client-finspace/src/pagination/ListKxDataviewsPaginator.ts @@ -0,0 +1,50 @@ +// smithy-typescript generated code +import { Paginator } from "@smithy/types"; + +import { + ListKxDataviewsCommand, + ListKxDataviewsCommandInput, + ListKxDataviewsCommandOutput, +} from "../commands/ListKxDataviewsCommand"; +import { FinspaceClient } from "../FinspaceClient"; +import { FinspacePaginationConfiguration } from "./Interfaces"; + +/** + * @internal + */ +const makePagedClientRequest = async ( + client: FinspaceClient, + input: ListKxDataviewsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListKxDataviewsCommand(input), ...args); +}; +/** + * @public + */ +export async function* paginateListKxDataviews( + config: FinspacePaginationConfiguration, + input: ListKxDataviewsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.nextToken + let token: typeof input.nextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListKxDataviewsCommandOutput; + while (hasNext) { + input.nextToken = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof FinspaceClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Finspace | FinspaceClient"); + } + yield page; + const prevToken = token; + token = page.nextToken; + hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-finspace/src/pagination/ListKxScalingGroupsPaginator.ts b/clients/client-finspace/src/pagination/ListKxScalingGroupsPaginator.ts new file mode 100644 index 0000000000000..2ccef2e372f65 --- /dev/null +++ b/clients/client-finspace/src/pagination/ListKxScalingGroupsPaginator.ts @@ -0,0 +1,50 @@ +// smithy-typescript generated code +import { Paginator } from "@smithy/types"; + +import { + ListKxScalingGroupsCommand, + ListKxScalingGroupsCommandInput, + ListKxScalingGroupsCommandOutput, +} from "../commands/ListKxScalingGroupsCommand"; +import { FinspaceClient } from "../FinspaceClient"; +import { FinspacePaginationConfiguration } from "./Interfaces"; + +/** + * @internal + */ +const makePagedClientRequest = async ( + client: FinspaceClient, + input: ListKxScalingGroupsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListKxScalingGroupsCommand(input), ...args); +}; +/** + * @public + */ +export async function* paginateListKxScalingGroups( + config: FinspacePaginationConfiguration, + input: ListKxScalingGroupsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.nextToken + let token: typeof input.nextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListKxScalingGroupsCommandOutput; + while (hasNext) { + input.nextToken = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof FinspaceClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Finspace | FinspaceClient"); + } + yield page; + const prevToken = token; + token = page.nextToken; + hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-finspace/src/pagination/index.ts b/clients/client-finspace/src/pagination/index.ts index 8ccc9fb9d9f2d..e90b5e249a1a0 100644 --- a/clients/client-finspace/src/pagination/index.ts +++ b/clients/client-finspace/src/pagination/index.ts @@ -3,4 +3,6 @@ export * from "./Interfaces"; export * from "./ListKxChangesetsPaginator"; export * from "./ListKxClusterNodesPaginator"; export * from "./ListKxDatabasesPaginator"; +export * from "./ListKxDataviewsPaginator"; export * from "./ListKxEnvironmentsPaginator"; +export * from "./ListKxScalingGroupsPaginator"; diff --git a/clients/client-finspace/src/protocols/Aws_restJson1.ts b/clients/client-finspace/src/protocols/Aws_restJson1.ts index 881708a561666..3c099bd66a5ff 100644 --- a/clients/client-finspace/src/protocols/Aws_restJson1.ts +++ b/clients/client-finspace/src/protocols/Aws_restJson1.ts @@ -4,6 +4,7 @@ import { _json, collectBody, decorateServiceException as __decorateServiceException, + expectBoolean as __expectBoolean, expectInt32 as __expectInt32, expectLong as __expectLong, expectNonNull as __expectNonNull, @@ -30,19 +31,31 @@ import { CreateEnvironmentCommandInput, CreateEnvironmentCommandOutput } from ". import { CreateKxChangesetCommandInput, CreateKxChangesetCommandOutput } from "../commands/CreateKxChangesetCommand"; import { CreateKxClusterCommandInput, CreateKxClusterCommandOutput } from "../commands/CreateKxClusterCommand"; import { CreateKxDatabaseCommandInput, CreateKxDatabaseCommandOutput } from "../commands/CreateKxDatabaseCommand"; +import { CreateKxDataviewCommandInput, CreateKxDataviewCommandOutput } from "../commands/CreateKxDataviewCommand"; import { CreateKxEnvironmentCommandInput, CreateKxEnvironmentCommandOutput, } from "../commands/CreateKxEnvironmentCommand"; +import { + CreateKxScalingGroupCommandInput, + CreateKxScalingGroupCommandOutput, +} from "../commands/CreateKxScalingGroupCommand"; import { CreateKxUserCommandInput, CreateKxUserCommandOutput } from "../commands/CreateKxUserCommand"; +import { CreateKxVolumeCommandInput, CreateKxVolumeCommandOutput } from "../commands/CreateKxVolumeCommand"; import { DeleteEnvironmentCommandInput, DeleteEnvironmentCommandOutput } from "../commands/DeleteEnvironmentCommand"; import { DeleteKxClusterCommandInput, DeleteKxClusterCommandOutput } from "../commands/DeleteKxClusterCommand"; import { DeleteKxDatabaseCommandInput, DeleteKxDatabaseCommandOutput } from "../commands/DeleteKxDatabaseCommand"; +import { DeleteKxDataviewCommandInput, DeleteKxDataviewCommandOutput } from "../commands/DeleteKxDataviewCommand"; import { DeleteKxEnvironmentCommandInput, DeleteKxEnvironmentCommandOutput, } from "../commands/DeleteKxEnvironmentCommand"; +import { + DeleteKxScalingGroupCommandInput, + DeleteKxScalingGroupCommandOutput, +} from "../commands/DeleteKxScalingGroupCommand"; import { DeleteKxUserCommandInput, DeleteKxUserCommandOutput } from "../commands/DeleteKxUserCommand"; +import { DeleteKxVolumeCommandInput, DeleteKxVolumeCommandOutput } from "../commands/DeleteKxVolumeCommand"; import { GetEnvironmentCommandInput, GetEnvironmentCommandOutput } from "../commands/GetEnvironmentCommand"; import { GetKxChangesetCommandInput, GetKxChangesetCommandOutput } from "../commands/GetKxChangesetCommand"; import { GetKxClusterCommandInput, GetKxClusterCommandOutput } from "../commands/GetKxClusterCommand"; @@ -51,15 +64,24 @@ import { GetKxConnectionStringCommandOutput, } from "../commands/GetKxConnectionStringCommand"; import { GetKxDatabaseCommandInput, GetKxDatabaseCommandOutput } from "../commands/GetKxDatabaseCommand"; +import { GetKxDataviewCommandInput, GetKxDataviewCommandOutput } from "../commands/GetKxDataviewCommand"; import { GetKxEnvironmentCommandInput, GetKxEnvironmentCommandOutput } from "../commands/GetKxEnvironmentCommand"; +import { GetKxScalingGroupCommandInput, GetKxScalingGroupCommandOutput } from "../commands/GetKxScalingGroupCommand"; import { GetKxUserCommandInput, GetKxUserCommandOutput } from "../commands/GetKxUserCommand"; +import { GetKxVolumeCommandInput, GetKxVolumeCommandOutput } from "../commands/GetKxVolumeCommand"; import { ListEnvironmentsCommandInput, ListEnvironmentsCommandOutput } from "../commands/ListEnvironmentsCommand"; import { ListKxChangesetsCommandInput, ListKxChangesetsCommandOutput } from "../commands/ListKxChangesetsCommand"; import { ListKxClusterNodesCommandInput, ListKxClusterNodesCommandOutput } from "../commands/ListKxClusterNodesCommand"; import { ListKxClustersCommandInput, ListKxClustersCommandOutput } from "../commands/ListKxClustersCommand"; import { ListKxDatabasesCommandInput, ListKxDatabasesCommandOutput } from "../commands/ListKxDatabasesCommand"; +import { ListKxDataviewsCommandInput, ListKxDataviewsCommandOutput } from "../commands/ListKxDataviewsCommand"; import { ListKxEnvironmentsCommandInput, ListKxEnvironmentsCommandOutput } from "../commands/ListKxEnvironmentsCommand"; +import { + ListKxScalingGroupsCommandInput, + ListKxScalingGroupsCommandOutput, +} from "../commands/ListKxScalingGroupsCommand"; import { ListKxUsersCommandInput, ListKxUsersCommandOutput } from "../commands/ListKxUsersCommand"; +import { ListKxVolumesCommandInput, ListKxVolumesCommandOutput } from "../commands/ListKxVolumesCommand"; import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, @@ -76,6 +98,7 @@ import { UpdateKxClusterDatabasesCommandOutput, } from "../commands/UpdateKxClusterDatabasesCommand"; import { UpdateKxDatabaseCommandInput, UpdateKxDatabaseCommandOutput } from "../commands/UpdateKxDatabaseCommand"; +import { UpdateKxDataviewCommandInput, UpdateKxDataviewCommandOutput } from "../commands/UpdateKxDataviewCommand"; import { UpdateKxEnvironmentCommandInput, UpdateKxEnvironmentCommandOutput, @@ -85,6 +108,7 @@ import { UpdateKxEnvironmentNetworkCommandOutput, } from "../commands/UpdateKxEnvironmentNetworkCommand"; import { UpdateKxUserCommandInput, UpdateKxUserCommandOutput } from "../commands/UpdateKxUserCommand"; +import { UpdateKxVolumeCommandInput, UpdateKxVolumeCommandOutput } from "../commands/UpdateKxVolumeCommand"; import { FinspaceServiceException as __BaseException } from "../models/FinspaceServiceException"; import { AccessDeniedException, @@ -106,11 +130,19 @@ import { KxDatabaseCacheConfiguration, KxDatabaseConfiguration, KxDatabaseListEntry, + KxDataviewActiveVersion, + KxDataviewConfiguration, + KxDataviewListEntry, + KxDataviewSegmentConfiguration, KxDeploymentConfiguration, KxEnvironment, + KxNAS1Configuration, KxNode, KxSavedownStorageConfiguration, + KxScalingGroup, + KxScalingGroupConfiguration, KxUser, + KxVolume, LimitExceededException, NetworkACLEntry, PortRange, @@ -119,6 +151,7 @@ import { ServiceQuotaExceededException, SuperuserParameters, ThrottlingException, + TickerplantLogConfiguration, TransitGatewayConfiguration, ValidationException, VpcConfiguration, @@ -248,7 +281,9 @@ export const se_CreateKxClusterCommand = async ( initializationScript: [], releaseLabel: [], savedownStorageConfiguration: (_) => _json(_), + scalingGroupConfiguration: (_) => se_KxScalingGroupConfiguration(_, context), tags: (_) => _json(_), + tickerplantLogConfiguration: (_) => _json(_), vpcConfiguration: (_) => _json(_), }) ); @@ -305,6 +340,61 @@ export const se_CreateKxDatabaseCommand = async ( }); }; +/** + * serializeAws_restJson1CreateKxDataviewCommand + */ +export const se_CreateKxDataviewCommand = async ( + input: CreateKxDataviewCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/kx/environments/{environmentId}/databases/{databaseName}/dataviews"; + resolvedPath = __resolvedPath( + resolvedPath, + input, + "environmentId", + () => input.environmentId!, + "{environmentId}", + false + ); + resolvedPath = __resolvedPath( + resolvedPath, + input, + "databaseName", + () => input.databaseName!, + "{databaseName}", + false + ); + let body: any; + body = JSON.stringify( + take(input, { + autoUpdate: [], + availabilityZoneId: [], + azMode: [], + changesetId: [], + clientToken: [true, (_) => _ ?? generateIdempotencyToken()], + dataviewName: [], + description: [], + segmentConfigurations: (_) => _json(_), + tags: (_) => _json(_), + }) + ); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + /** * serializeAws_restJson1CreateKxEnvironmentCommand */ @@ -320,7 +410,7 @@ export const se_CreateKxEnvironmentCommand = async ( let body: any; body = JSON.stringify( take(input, { - clientToken: [], + clientToken: [true, (_) => _ ?? generateIdempotencyToken()], description: [], kmsKeyId: [], name: [], @@ -338,6 +428,49 @@ export const se_CreateKxEnvironmentCommand = async ( }); }; +/** + * serializeAws_restJson1CreateKxScalingGroupCommand + */ +export const se_CreateKxScalingGroupCommand = async ( + input: CreateKxScalingGroupCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/kx/environments/{environmentId}/scalingGroups"; + resolvedPath = __resolvedPath( + resolvedPath, + input, + "environmentId", + () => input.environmentId!, + "{environmentId}", + false + ); + let body: any; + body = JSON.stringify( + take(input, { + availabilityZoneId: [], + clientToken: [true, (_) => _ ?? generateIdempotencyToken()], + hostType: [], + scalingGroupName: [], + tags: (_) => _json(_), + }) + ); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + /** * serializeAws_restJson1CreateKxUserCommand */ @@ -362,7 +495,7 @@ export const se_CreateKxUserCommand = async ( let body: any; body = JSON.stringify( take(input, { - clientToken: [], + clientToken: [true, (_) => _ ?? generateIdempotencyToken()], iamRole: [], tags: (_) => _json(_), userName: [], @@ -379,6 +512,52 @@ export const se_CreateKxUserCommand = async ( }); }; +/** + * serializeAws_restJson1CreateKxVolumeCommand + */ +export const se_CreateKxVolumeCommand = async ( + input: CreateKxVolumeCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/kx/environments/{environmentId}/kxvolumes"; + resolvedPath = __resolvedPath( + resolvedPath, + input, + "environmentId", + () => input.environmentId!, + "{environmentId}", + false + ); + let body: any; + body = JSON.stringify( + take(input, { + availabilityZoneIds: (_) => _json(_), + azMode: [], + clientToken: [true, (_) => _ ?? generateIdempotencyToken()], + description: [], + nas1Configuration: (_) => _json(_), + tags: (_) => _json(_), + volumeName: [], + volumeType: [], + }) + ); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + /** * serializeAws_restJson1DeleteEnvironmentCommand */ @@ -491,6 +670,58 @@ export const se_DeleteKxDatabaseCommand = async ( }); }; +/** + * serializeAws_restJson1DeleteKxDataviewCommand + */ +export const se_DeleteKxDataviewCommand = async ( + input: DeleteKxDataviewCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/kx/environments/{environmentId}/databases/{databaseName}/dataviews/{dataviewName}"; + resolvedPath = __resolvedPath( + resolvedPath, + input, + "environmentId", + () => input.environmentId!, + "{environmentId}", + false + ); + resolvedPath = __resolvedPath( + resolvedPath, + input, + "databaseName", + () => input.databaseName!, + "{databaseName}", + false + ); + resolvedPath = __resolvedPath( + resolvedPath, + input, + "dataviewName", + () => input.dataviewName!, + "{dataviewName}", + false + ); + const query: any = map({ + clientToken: [, __expectNonNull(input.clientToken!, `clientToken`)], + }); + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "DELETE", + headers, + path: resolvedPath, + query, + body, + }); +}; + /** * serializeAws_restJson1DeleteKxEnvironmentCommand */ @@ -510,6 +741,53 @@ export const se_DeleteKxEnvironmentCommand = async ( "{environmentId}", false ); + const query: any = map({ + clientToken: [, input.clientToken ?? generateIdempotencyToken()], + }); + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "DELETE", + headers, + path: resolvedPath, + query, + body, + }); +}; + +/** + * serializeAws_restJson1DeleteKxScalingGroupCommand + */ +export const se_DeleteKxScalingGroupCommand = async ( + input: DeleteKxScalingGroupCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/kx/environments/{environmentId}/scalingGroups/{scalingGroupName}"; + resolvedPath = __resolvedPath( + resolvedPath, + input, + "environmentId", + () => input.environmentId!, + "{environmentId}", + false + ); + resolvedPath = __resolvedPath( + resolvedPath, + input, + "scalingGroupName", + () => input.scalingGroupName!, + "{scalingGroupName}", + false + ); + const query: any = map({ + clientToken: [, input.clientToken ?? generateIdempotencyToken()], + }); let body: any; return new __HttpRequest({ protocol, @@ -518,6 +796,7 @@ export const se_DeleteKxEnvironmentCommand = async ( method: "DELETE", headers, path: resolvedPath, + query, body, }); }; @@ -543,6 +822,46 @@ export const se_DeleteKxUserCommand = async ( "{environmentId}", false ); + const query: any = map({ + clientToken: [, input.clientToken ?? generateIdempotencyToken()], + }); + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "DELETE", + headers, + path: resolvedPath, + query, + body, + }); +}; + +/** + * serializeAws_restJson1DeleteKxVolumeCommand + */ +export const se_DeleteKxVolumeCommand = async ( + input: DeleteKxVolumeCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/kx/environments/{environmentId}/kxvolumes/{volumeName}"; + resolvedPath = __resolvedPath( + resolvedPath, + input, + "environmentId", + () => input.environmentId!, + "{environmentId}", + false + ); + resolvedPath = __resolvedPath(resolvedPath, input, "volumeName", () => input.volumeName!, "{volumeName}", false); + const query: any = map({ + clientToken: [, input.clientToken ?? generateIdempotencyToken()], + }); let body: any; return new __HttpRequest({ protocol, @@ -551,6 +870,7 @@ export const se_DeleteKxUserCommand = async ( method: "DELETE", headers, path: resolvedPath, + query, body, }); }; @@ -738,16 +1058,17 @@ export const se_GetKxDatabaseCommand = async ( }; /** - * serializeAws_restJson1GetKxEnvironmentCommand + * serializeAws_restJson1GetKxDataviewCommand */ -export const se_GetKxEnvironmentCommand = async ( - input: GetKxEnvironmentCommandInput, +export const se_GetKxDataviewCommand = async ( + input: GetKxDataviewCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); const headers: any = {}; let resolvedPath = - `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/kx/environments/{environmentId}"; + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/kx/environments/{environmentId}/databases/{databaseName}/dataviews/{dataviewName}"; resolvedPath = __resolvedPath( resolvedPath, input, @@ -756,8 +1077,95 @@ export const se_GetKxEnvironmentCommand = async ( "{environmentId}", false ); - let body: any; - return new __HttpRequest({ + resolvedPath = __resolvedPath( + resolvedPath, + input, + "databaseName", + () => input.databaseName!, + "{databaseName}", + false + ); + resolvedPath = __resolvedPath( + resolvedPath, + input, + "dataviewName", + () => input.dataviewName!, + "{dataviewName}", + false + ); + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + body, + }); +}; + +/** + * serializeAws_restJson1GetKxEnvironmentCommand + */ +export const se_GetKxEnvironmentCommand = async ( + input: GetKxEnvironmentCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/kx/environments/{environmentId}"; + resolvedPath = __resolvedPath( + resolvedPath, + input, + "environmentId", + () => input.environmentId!, + "{environmentId}", + false + ); + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + body, + }); +}; + +/** + * serializeAws_restJson1GetKxScalingGroupCommand + */ +export const se_GetKxScalingGroupCommand = async ( + input: GetKxScalingGroupCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/kx/environments/{environmentId}/scalingGroups/{scalingGroupName}"; + resolvedPath = __resolvedPath( + resolvedPath, + input, + "environmentId", + () => input.environmentId!, + "{environmentId}", + false + ); + resolvedPath = __resolvedPath( + resolvedPath, + input, + "scalingGroupName", + () => input.scalingGroupName!, + "{scalingGroupName}", + false + ); + let body: any; + return new __HttpRequest({ protocol, hostname, port, @@ -801,6 +1209,39 @@ export const se_GetKxUserCommand = async ( }); }; +/** + * serializeAws_restJson1GetKxVolumeCommand + */ +export const se_GetKxVolumeCommand = async ( + input: GetKxVolumeCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/kx/environments/{environmentId}/kxvolumes/{volumeName}"; + resolvedPath = __resolvedPath( + resolvedPath, + input, + "environmentId", + () => input.environmentId!, + "{environmentId}", + false + ); + resolvedPath = __resolvedPath(resolvedPath, input, "volumeName", () => input.volumeName!, "{volumeName}", false); + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + body, + }); +}; + /** * serializeAws_restJson1ListEnvironmentsCommand */ @@ -985,6 +1426,51 @@ export const se_ListKxDatabasesCommand = async ( }); }; +/** + * serializeAws_restJson1ListKxDataviewsCommand + */ +export const se_ListKxDataviewsCommand = async ( + input: ListKxDataviewsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/kx/environments/{environmentId}/databases/{databaseName}/dataviews"; + resolvedPath = __resolvedPath( + resolvedPath, + input, + "environmentId", + () => input.environmentId!, + "{environmentId}", + false + ); + resolvedPath = __resolvedPath( + resolvedPath, + input, + "databaseName", + () => input.databaseName!, + "{databaseName}", + false + ); + const query: any = map({ + nextToken: [, input.nextToken!], + maxResults: [() => input.maxResults !== void 0, () => input.maxResults!.toString()], + }); + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + /** * serializeAws_restJson1ListKxEnvironmentsCommand */ @@ -1012,6 +1498,43 @@ export const se_ListKxEnvironmentsCommand = async ( }); }; +/** + * serializeAws_restJson1ListKxScalingGroupsCommand + */ +export const se_ListKxScalingGroupsCommand = async ( + input: ListKxScalingGroupsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/kx/environments/{environmentId}/scalingGroups"; + resolvedPath = __resolvedPath( + resolvedPath, + input, + "environmentId", + () => input.environmentId!, + "{environmentId}", + false + ); + const query: any = map({ + maxResults: [() => input.maxResults !== void 0, () => input.maxResults!.toString()], + nextToken: [, input.nextToken!], + }); + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + /** * serializeAws_restJson1ListKxUsersCommand */ @@ -1048,6 +1571,44 @@ export const se_ListKxUsersCommand = async ( }); }; +/** + * serializeAws_restJson1ListKxVolumesCommand + */ +export const se_ListKxVolumesCommand = async ( + input: ListKxVolumesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/kx/environments/{environmentId}/kxvolumes"; + resolvedPath = __resolvedPath( + resolvedPath, + input, + "environmentId", + () => input.environmentId!, + "{environmentId}", + false + ); + const query: any = map({ + maxResults: [() => input.maxResults !== void 0, () => input.maxResults!.toString()], + nextToken: [, input.nextToken!], + volumeType: [, input.volumeType!], + }); + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + /** * serializeAws_restJson1ListTagsForResourceCommand */ @@ -1307,10 +1868,10 @@ export const se_UpdateKxDatabaseCommand = async ( }; /** - * serializeAws_restJson1UpdateKxEnvironmentCommand + * serializeAws_restJson1UpdateKxDataviewCommand */ -export const se_UpdateKxEnvironmentCommand = async ( - input: UpdateKxEnvironmentCommandInput, +export const se_UpdateKxDataviewCommand = async ( + input: UpdateKxDataviewCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); @@ -1318,7 +1879,8 @@ export const se_UpdateKxEnvironmentCommand = async ( "content-type": "application/json", }; let resolvedPath = - `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/kx/environments/{environmentId}"; + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/kx/environments/{environmentId}/databases/{databaseName}/dataviews/{dataviewName}"; resolvedPath = __resolvedPath( resolvedPath, input, @@ -1327,12 +1889,29 @@ export const se_UpdateKxEnvironmentCommand = async ( "{environmentId}", false ); + resolvedPath = __resolvedPath( + resolvedPath, + input, + "databaseName", + () => input.databaseName!, + "{databaseName}", + false + ); + resolvedPath = __resolvedPath( + resolvedPath, + input, + "dataviewName", + () => input.dataviewName!, + "{dataviewName}", + false + ); let body: any; body = JSON.stringify( take(input, { - clientToken: [], + changesetId: [], + clientToken: [true, (_) => _ ?? generateIdempotencyToken()], description: [], - name: [], + segmentConfigurations: (_) => _json(_), }) ); return new __HttpRequest({ @@ -1347,10 +1926,10 @@ export const se_UpdateKxEnvironmentCommand = async ( }; /** - * serializeAws_restJson1UpdateKxEnvironmentNetworkCommand + * serializeAws_restJson1UpdateKxEnvironmentCommand */ -export const se_UpdateKxEnvironmentNetworkCommand = async ( - input: UpdateKxEnvironmentNetworkCommandInput, +export const se_UpdateKxEnvironmentCommand = async ( + input: UpdateKxEnvironmentCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); @@ -1358,7 +1937,7 @@ export const se_UpdateKxEnvironmentNetworkCommand = async ( "content-type": "application/json", }; let resolvedPath = - `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/kx/environments/{environmentId}/network"; + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/kx/environments/{environmentId}"; resolvedPath = __resolvedPath( resolvedPath, input, @@ -1370,9 +1949,9 @@ export const se_UpdateKxEnvironmentNetworkCommand = async ( let body: any; body = JSON.stringify( take(input, { - clientToken: [], - customDNSConfiguration: (_) => _json(_), - transitGatewayConfiguration: (_) => _json(_), + clientToken: [true, (_) => _ ?? generateIdempotencyToken()], + description: [], + name: [], }) ); return new __HttpRequest({ @@ -1387,10 +1966,10 @@ export const se_UpdateKxEnvironmentNetworkCommand = async ( }; /** - * serializeAws_restJson1UpdateKxUserCommand + * serializeAws_restJson1UpdateKxEnvironmentNetworkCommand */ -export const se_UpdateKxUserCommand = async ( - input: UpdateKxUserCommandInput, +export const se_UpdateKxEnvironmentNetworkCommand = async ( + input: UpdateKxEnvironmentNetworkCommandInput, context: __SerdeContext ): Promise<__HttpRequest> => { const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); @@ -1398,8 +1977,48 @@ export const se_UpdateKxUserCommand = async ( "content-type": "application/json", }; let resolvedPath = - `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + - "/kx/environments/{environmentId}/users/{userName}"; + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/kx/environments/{environmentId}/network"; + resolvedPath = __resolvedPath( + resolvedPath, + input, + "environmentId", + () => input.environmentId!, + "{environmentId}", + false + ); + let body: any; + body = JSON.stringify( + take(input, { + clientToken: [true, (_) => _ ?? generateIdempotencyToken()], + customDNSConfiguration: (_) => _json(_), + transitGatewayConfiguration: (_) => _json(_), + }) + ); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + +/** + * serializeAws_restJson1UpdateKxUserCommand + */ +export const se_UpdateKxUserCommand = async ( + input: UpdateKxUserCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/kx/environments/{environmentId}/users/{userName}"; resolvedPath = __resolvedPath( resolvedPath, input, @@ -1412,7 +2031,7 @@ export const se_UpdateKxUserCommand = async ( let body: any; body = JSON.stringify( take(input, { - clientToken: [], + clientToken: [true, (_) => _ ?? generateIdempotencyToken()], iamRole: [], }) ); @@ -1427,6 +2046,48 @@ export const se_UpdateKxUserCommand = async ( }); }; +/** + * serializeAws_restJson1UpdateKxVolumeCommand + */ +export const se_UpdateKxVolumeCommand = async ( + input: UpdateKxVolumeCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/kx/environments/{environmentId}/kxvolumes/{volumeName}"; + resolvedPath = __resolvedPath( + resolvedPath, + input, + "environmentId", + () => input.environmentId!, + "{environmentId}", + false + ); + resolvedPath = __resolvedPath(resolvedPath, input, "volumeName", () => input.volumeName!, "{volumeName}", false); + let body: any; + body = JSON.stringify( + take(input, { + clientToken: [true, (_) => _ ?? generateIdempotencyToken()], + description: [], + nas1Configuration: (_) => _json(_), + }) + ); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PATCH", + headers, + path: resolvedPath, + body, + }); +}; + /** * deserializeAws_restJson1CreateEnvironmentCommand */ @@ -1596,8 +2257,11 @@ export const de_CreateKxClusterCommand = async ( lastModifiedTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), releaseLabel: __expectString, savedownStorageConfiguration: _json, + scalingGroupConfiguration: (_) => de_KxScalingGroupConfiguration(_, context), status: __expectString, statusReason: __expectString, + tickerplantLogConfiguration: _json, + volumes: _json, vpcConfiguration: _json, }); Object.assign(contents, doc); @@ -1722,26 +2386,31 @@ const de_CreateKxDatabaseCommandError = async ( }; /** - * deserializeAws_restJson1CreateKxEnvironmentCommand + * deserializeAws_restJson1CreateKxDataviewCommand */ -export const de_CreateKxEnvironmentCommand = async ( +export const de_CreateKxDataviewCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_CreateKxEnvironmentCommandError(output, context); + return de_CreateKxDataviewCommandError(output, context); } const contents: any = map({ $metadata: deserializeMetadata(output), }); const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); const doc = take(data, { - creationTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + autoUpdate: __expectBoolean, + availabilityZoneId: __expectString, + azMode: __expectString, + changesetId: __expectString, + createdTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + databaseName: __expectString, + dataviewName: __expectString, description: __expectString, - environmentArn: __expectString, environmentId: __expectString, - kmsKeyId: __expectString, - name: __expectString, + lastModifiedTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + segmentConfigurations: _json, status: __expectString, }); Object.assign(contents, doc); @@ -1749,12 +2418,12 @@ export const de_CreateKxEnvironmentCommand = async ( }; /** - * deserializeAws_restJson1CreateKxEnvironmentCommandError + * deserializeAws_restJson1CreateKxDataviewCommandError */ -const de_CreateKxEnvironmentCommandError = async ( +const de_CreateKxDataviewCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseErrorBody(output.body, context), @@ -1773,9 +2442,12 @@ const de_CreateKxEnvironmentCommandError = async ( case "LimitExceededException": case "com.amazonaws.finspace#LimitExceededException": throw await de_LimitExceededExceptionRes(parsedOutput, context); - case "ServiceQuotaExceededException": - case "com.amazonaws.finspace#ServiceQuotaExceededException": - throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context); + case "ResourceAlreadyExistsException": + case "com.amazonaws.finspace#ResourceAlreadyExistsException": + throw await de_ResourceAlreadyExistsExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.finspace#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); case "ThrottlingException": case "com.amazonaws.finspace#ThrottlingException": throw await de_ThrottlingExceptionRes(parsedOutput, context); @@ -1793,36 +2465,39 @@ const de_CreateKxEnvironmentCommandError = async ( }; /** - * deserializeAws_restJson1CreateKxUserCommand + * deserializeAws_restJson1CreateKxEnvironmentCommand */ -export const de_CreateKxUserCommand = async ( +export const de_CreateKxEnvironmentCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_CreateKxUserCommandError(output, context); + return de_CreateKxEnvironmentCommandError(output, context); } const contents: any = map({ $metadata: deserializeMetadata(output), }); const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); const doc = take(data, { + creationTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + description: __expectString, + environmentArn: __expectString, environmentId: __expectString, - iamRole: __expectString, - userArn: __expectString, - userName: __expectString, + kmsKeyId: __expectString, + name: __expectString, + status: __expectString, }); Object.assign(contents, doc); return contents; }; /** - * deserializeAws_restJson1CreateKxUserCommandError + * deserializeAws_restJson1CreateKxEnvironmentCommandError */ -const de_CreateKxUserCommandError = async ( +const de_CreateKxEnvironmentCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseErrorBody(output.body, context), @@ -1841,12 +2516,9 @@ const de_CreateKxUserCommandError = async ( case "LimitExceededException": case "com.amazonaws.finspace#LimitExceededException": throw await de_LimitExceededExceptionRes(parsedOutput, context); - case "ResourceAlreadyExistsException": - case "com.amazonaws.finspace#ResourceAlreadyExistsException": - throw await de_ResourceAlreadyExistsExceptionRes(parsedOutput, context); - case "ResourceNotFoundException": - case "com.amazonaws.finspace#ResourceNotFoundException": - throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ServiceQuotaExceededException": + case "com.amazonaws.finspace#ServiceQuotaExceededException": + throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context); case "ThrottlingException": case "com.amazonaws.finspace#ThrottlingException": throw await de_ThrottlingExceptionRes(parsedOutput, context); @@ -1864,29 +2536,39 @@ const de_CreateKxUserCommandError = async ( }; /** - * deserializeAws_restJson1DeleteEnvironmentCommand + * deserializeAws_restJson1CreateKxScalingGroupCommand */ -export const de_DeleteEnvironmentCommand = async ( +export const de_CreateKxScalingGroupCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_DeleteEnvironmentCommandError(output, context); + return de_CreateKxScalingGroupCommandError(output, context); } const contents: any = map({ $metadata: deserializeMetadata(output), }); - await collectBody(output.body, context); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + availabilityZoneId: __expectString, + createdTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + environmentId: __expectString, + hostType: __expectString, + lastModifiedTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + scalingGroupName: __expectString, + status: __expectString, + }); + Object.assign(contents, doc); return contents; }; /** - * deserializeAws_restJson1DeleteEnvironmentCommandError + * deserializeAws_restJson1CreateKxScalingGroupCommandError */ -const de_DeleteEnvironmentCommandError = async ( +const de_CreateKxScalingGroupCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseErrorBody(output.body, context), @@ -1896,9 +2578,15 @@ const de_DeleteEnvironmentCommandError = async ( case "AccessDeniedException": case "com.amazonaws.finspace#AccessDeniedException": throw await de_AccessDeniedExceptionRes(parsedOutput, context); + case "ConflictException": + case "com.amazonaws.finspace#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); case "InternalServerException": case "com.amazonaws.finspace#InternalServerException": throw await de_InternalServerExceptionRes(parsedOutput, context); + case "LimitExceededException": + case "com.amazonaws.finspace#LimitExceededException": + throw await de_LimitExceededExceptionRes(parsedOutput, context); case "ResourceNotFoundException": case "com.amazonaws.finspace#ResourceNotFoundException": throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); @@ -1919,29 +2607,36 @@ const de_DeleteEnvironmentCommandError = async ( }; /** - * deserializeAws_restJson1DeleteKxClusterCommand + * deserializeAws_restJson1CreateKxUserCommand */ -export const de_DeleteKxClusterCommand = async ( +export const de_CreateKxUserCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_DeleteKxClusterCommandError(output, context); + return de_CreateKxUserCommandError(output, context); } const contents: any = map({ $metadata: deserializeMetadata(output), }); - await collectBody(output.body, context); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + environmentId: __expectString, + iamRole: __expectString, + userArn: __expectString, + userName: __expectString, + }); + Object.assign(contents, doc); return contents; }; /** - * deserializeAws_restJson1DeleteKxClusterCommandError + * deserializeAws_restJson1CreateKxUserCommandError */ -const de_DeleteKxClusterCommandError = async ( +const de_CreateKxUserCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseErrorBody(output.body, context), @@ -1960,6 +2655,9 @@ const de_DeleteKxClusterCommandError = async ( case "LimitExceededException": case "com.amazonaws.finspace#LimitExceededException": throw await de_LimitExceededExceptionRes(parsedOutput, context); + case "ResourceAlreadyExistsException": + case "com.amazonaws.finspace#ResourceAlreadyExistsException": + throw await de_ResourceAlreadyExistsExceptionRes(parsedOutput, context); case "ResourceNotFoundException": case "com.amazonaws.finspace#ResourceNotFoundException": throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); @@ -1980,29 +2678,43 @@ const de_DeleteKxClusterCommandError = async ( }; /** - * deserializeAws_restJson1DeleteKxDatabaseCommand + * deserializeAws_restJson1CreateKxVolumeCommand */ -export const de_DeleteKxDatabaseCommand = async ( +export const de_CreateKxVolumeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_DeleteKxDatabaseCommandError(output, context); + return de_CreateKxVolumeCommandError(output, context); } const contents: any = map({ $metadata: deserializeMetadata(output), }); - await collectBody(output.body, context); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + availabilityZoneIds: _json, + azMode: __expectString, + createdTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + description: __expectString, + environmentId: __expectString, + nas1Configuration: _json, + status: __expectString, + statusReason: __expectString, + volumeArn: __expectString, + volumeName: __expectString, + volumeType: __expectString, + }); + Object.assign(contents, doc); return contents; }; /** - * deserializeAws_restJson1DeleteKxDatabaseCommandError + * deserializeAws_restJson1CreateKxVolumeCommandError */ -const de_DeleteKxDatabaseCommandError = async ( +const de_CreateKxVolumeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseErrorBody(output.body, context), @@ -2018,6 +2730,12 @@ const de_DeleteKxDatabaseCommandError = async ( case "InternalServerException": case "com.amazonaws.finspace#InternalServerException": throw await de_InternalServerExceptionRes(parsedOutput, context); + case "LimitExceededException": + case "com.amazonaws.finspace#LimitExceededException": + throw await de_LimitExceededExceptionRes(parsedOutput, context); + case "ResourceAlreadyExistsException": + case "com.amazonaws.finspace#ResourceAlreadyExistsException": + throw await de_ResourceAlreadyExistsExceptionRes(parsedOutput, context); case "ResourceNotFoundException": case "com.amazonaws.finspace#ResourceNotFoundException": throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); @@ -2038,14 +2756,14 @@ const de_DeleteKxDatabaseCommandError = async ( }; /** - * deserializeAws_restJson1DeleteKxEnvironmentCommand + * deserializeAws_restJson1DeleteEnvironmentCommand */ -export const de_DeleteKxEnvironmentCommand = async ( +export const de_DeleteEnvironmentCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_DeleteKxEnvironmentCommandError(output, context); + return de_DeleteEnvironmentCommandError(output, context); } const contents: any = map({ $metadata: deserializeMetadata(output), @@ -2055,12 +2773,12 @@ export const de_DeleteKxEnvironmentCommand = async ( }; /** - * deserializeAws_restJson1DeleteKxEnvironmentCommandError + * deserializeAws_restJson1DeleteEnvironmentCommandError */ -const de_DeleteKxEnvironmentCommandError = async ( +const de_DeleteEnvironmentCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseErrorBody(output.body, context), @@ -2093,14 +2811,14 @@ const de_DeleteKxEnvironmentCommandError = async ( }; /** - * deserializeAws_restJson1DeleteKxUserCommand + * deserializeAws_restJson1DeleteKxClusterCommand */ -export const de_DeleteKxUserCommand = async ( +export const de_DeleteKxClusterCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_DeleteKxUserCommandError(output, context); + return de_DeleteKxClusterCommandError(output, context); } const contents: any = map({ $metadata: deserializeMetadata(output), @@ -2110,12 +2828,12 @@ export const de_DeleteKxUserCommand = async ( }; /** - * deserializeAws_restJson1DeleteKxUserCommandError + * deserializeAws_restJson1DeleteKxClusterCommandError */ -const de_DeleteKxUserCommandError = async ( +const de_DeleteKxClusterCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseErrorBody(output.body, context), @@ -2125,9 +2843,15 @@ const de_DeleteKxUserCommandError = async ( case "AccessDeniedException": case "com.amazonaws.finspace#AccessDeniedException": throw await de_AccessDeniedExceptionRes(parsedOutput, context); + case "ConflictException": + case "com.amazonaws.finspace#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); case "InternalServerException": case "com.amazonaws.finspace#InternalServerException": throw await de_InternalServerExceptionRes(parsedOutput, context); + case "LimitExceededException": + case "com.amazonaws.finspace#LimitExceededException": + throw await de_LimitExceededExceptionRes(parsedOutput, context); case "ResourceNotFoundException": case "com.amazonaws.finspace#ResourceNotFoundException": throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); @@ -2148,23 +2872,377 @@ const de_DeleteKxUserCommandError = async ( }; /** - * deserializeAws_restJson1GetEnvironmentCommand + * deserializeAws_restJson1DeleteKxDatabaseCommand */ -export const de_GetEnvironmentCommand = async ( +export const de_DeleteKxDatabaseCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_GetEnvironmentCommandError(output, context); + return de_DeleteKxDatabaseCommandError(output, context); } const contents: any = map({ $metadata: deserializeMetadata(output), }); - const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); - const doc = take(data, { - environment: _json, - }); - Object.assign(contents, doc); + await collectBody(output.body, context); + return contents; +}; + +/** + * deserializeAws_restJson1DeleteKxDatabaseCommandError + */ +const de_DeleteKxDatabaseCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.finspace#AccessDeniedException": + throw await de_AccessDeniedExceptionRes(parsedOutput, context); + case "ConflictException": + case "com.amazonaws.finspace#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InternalServerException": + case "com.amazonaws.finspace#InternalServerException": + throw await de_InternalServerExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.finspace#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.finspace#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.finspace#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + +/** + * deserializeAws_restJson1DeleteKxDataviewCommand + */ +export const de_DeleteKxDataviewCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_DeleteKxDataviewCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + +/** + * deserializeAws_restJson1DeleteKxDataviewCommandError + */ +const de_DeleteKxDataviewCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.finspace#AccessDeniedException": + throw await de_AccessDeniedExceptionRes(parsedOutput, context); + case "ConflictException": + case "com.amazonaws.finspace#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InternalServerException": + case "com.amazonaws.finspace#InternalServerException": + throw await de_InternalServerExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.finspace#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.finspace#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.finspace#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + +/** + * deserializeAws_restJson1DeleteKxEnvironmentCommand + */ +export const de_DeleteKxEnvironmentCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_DeleteKxEnvironmentCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + +/** + * deserializeAws_restJson1DeleteKxEnvironmentCommandError + */ +const de_DeleteKxEnvironmentCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.finspace#AccessDeniedException": + throw await de_AccessDeniedExceptionRes(parsedOutput, context); + case "ConflictException": + case "com.amazonaws.finspace#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InternalServerException": + case "com.amazonaws.finspace#InternalServerException": + throw await de_InternalServerExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.finspace#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.finspace#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.finspace#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + +/** + * deserializeAws_restJson1DeleteKxScalingGroupCommand + */ +export const de_DeleteKxScalingGroupCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_DeleteKxScalingGroupCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + +/** + * deserializeAws_restJson1DeleteKxScalingGroupCommandError + */ +const de_DeleteKxScalingGroupCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.finspace#AccessDeniedException": + throw await de_AccessDeniedExceptionRes(parsedOutput, context); + case "ConflictException": + case "com.amazonaws.finspace#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InternalServerException": + case "com.amazonaws.finspace#InternalServerException": + throw await de_InternalServerExceptionRes(parsedOutput, context); + case "LimitExceededException": + case "com.amazonaws.finspace#LimitExceededException": + throw await de_LimitExceededExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.finspace#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.finspace#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.finspace#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + +/** + * deserializeAws_restJson1DeleteKxUserCommand + */ +export const de_DeleteKxUserCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_DeleteKxUserCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + +/** + * deserializeAws_restJson1DeleteKxUserCommandError + */ +const de_DeleteKxUserCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.finspace#AccessDeniedException": + throw await de_AccessDeniedExceptionRes(parsedOutput, context); + case "ConflictException": + case "com.amazonaws.finspace#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InternalServerException": + case "com.amazonaws.finspace#InternalServerException": + throw await de_InternalServerExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.finspace#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.finspace#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.finspace#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + +/** + * deserializeAws_restJson1DeleteKxVolumeCommand + */ +export const de_DeleteKxVolumeCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_DeleteKxVolumeCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + +/** + * deserializeAws_restJson1DeleteKxVolumeCommandError + */ +const de_DeleteKxVolumeCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.finspace#AccessDeniedException": + throw await de_AccessDeniedExceptionRes(parsedOutput, context); + case "ConflictException": + case "com.amazonaws.finspace#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InternalServerException": + case "com.amazonaws.finspace#InternalServerException": + throw await de_InternalServerExceptionRes(parsedOutput, context); + case "LimitExceededException": + case "com.amazonaws.finspace#LimitExceededException": + throw await de_LimitExceededExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.finspace#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.finspace#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.finspace#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + +/** + * deserializeAws_restJson1GetEnvironmentCommand + */ +export const de_GetEnvironmentCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_GetEnvironmentCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + environment: _json, + }); + Object.assign(contents, doc); return contents; }; @@ -2302,8 +3380,11 @@ export const de_GetKxClusterCommand = async ( lastModifiedTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), releaseLabel: __expectString, savedownStorageConfiguration: _json, + scalingGroupConfiguration: (_) => de_KxScalingGroupConfiguration(_, context), status: __expectString, statusReason: __expectString, + tickerplantLogConfiguration: _json, + volumes: _json, vpcConfiguration: _json, }); Object.assign(contents, doc); @@ -2397,9 +3478,224 @@ const de_GetKxConnectionStringCommandError = async ( case "ResourceNotFoundException": case "com.amazonaws.finspace#ResourceNotFoundException": throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); - case "ThrottlingException": - case "com.amazonaws.finspace#ThrottlingException": - throw await de_ThrottlingExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.finspace#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.finspace#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + +/** + * deserializeAws_restJson1GetKxDatabaseCommand + */ +export const de_GetKxDatabaseCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_GetKxDatabaseCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + createdTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + databaseArn: __expectString, + databaseName: __expectString, + description: __expectString, + environmentId: __expectString, + lastCompletedChangesetId: __expectString, + lastModifiedTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + numBytes: __expectLong, + numChangesets: __expectInt32, + numFiles: __expectInt32, + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1GetKxDatabaseCommandError + */ +const de_GetKxDatabaseCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.finspace#AccessDeniedException": + throw await de_AccessDeniedExceptionRes(parsedOutput, context); + case "InternalServerException": + case "com.amazonaws.finspace#InternalServerException": + throw await de_InternalServerExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.finspace#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.finspace#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.finspace#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + +/** + * deserializeAws_restJson1GetKxDataviewCommand + */ +export const de_GetKxDataviewCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_GetKxDataviewCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + activeVersions: (_) => de_KxDataviewActiveVersionList(_, context), + autoUpdate: __expectBoolean, + availabilityZoneId: __expectString, + azMode: __expectString, + changesetId: __expectString, + createdTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + databaseName: __expectString, + dataviewName: __expectString, + description: __expectString, + environmentId: __expectString, + lastModifiedTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + segmentConfigurations: _json, + status: __expectString, + statusReason: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1GetKxDataviewCommandError + */ +const de_GetKxDataviewCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.finspace#AccessDeniedException": + throw await de_AccessDeniedExceptionRes(parsedOutput, context); + case "InternalServerException": + case "com.amazonaws.finspace#InternalServerException": + throw await de_InternalServerExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.finspace#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.finspace#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.finspace#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + +/** + * deserializeAws_restJson1GetKxEnvironmentCommand + */ +export const de_GetKxEnvironmentCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_GetKxEnvironmentCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + availabilityZoneIds: _json, + awsAccountId: __expectString, + certificateAuthorityArn: __expectString, + creationTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + customDNSConfiguration: _json, + dedicatedServiceAccountId: __expectString, + description: __expectString, + dnsStatus: __expectString, + environmentArn: __expectString, + environmentId: __expectString, + errorMessage: __expectString, + kmsKeyId: __expectString, + name: __expectString, + status: __expectString, + tgwStatus: __expectString, + transitGatewayConfiguration: _json, + updateTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1GetKxEnvironmentCommandError + */ +const de_GetKxEnvironmentCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.finspace#AccessDeniedException": + throw await de_AccessDeniedExceptionRes(parsedOutput, context); + case "ConflictException": + case "com.amazonaws.finspace#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InternalServerException": + case "com.amazonaws.finspace#InternalServerException": + throw await de_InternalServerExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.finspace#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); case "ValidationException": case "com.amazonaws.finspace#ValidationException": throw await de_ValidationExceptionRes(parsedOutput, context); @@ -2414,42 +3710,41 @@ const de_GetKxConnectionStringCommandError = async ( }; /** - * deserializeAws_restJson1GetKxDatabaseCommand + * deserializeAws_restJson1GetKxScalingGroupCommand */ -export const de_GetKxDatabaseCommand = async ( +export const de_GetKxScalingGroupCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_GetKxDatabaseCommandError(output, context); + return de_GetKxScalingGroupCommandError(output, context); } const contents: any = map({ $metadata: deserializeMetadata(output), }); const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); const doc = take(data, { + availabilityZoneId: __expectString, + clusters: _json, createdTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), - databaseArn: __expectString, - databaseName: __expectString, - description: __expectString, - environmentId: __expectString, - lastCompletedChangesetId: __expectString, + hostType: __expectString, lastModifiedTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), - numBytes: __expectLong, - numChangesets: __expectInt32, - numFiles: __expectInt32, + scalingGroupArn: __expectString, + scalingGroupName: __expectString, + status: __expectString, + statusReason: __expectString, }); Object.assign(contents, doc); return contents; }; /** - * deserializeAws_restJson1GetKxDatabaseCommandError + * deserializeAws_restJson1GetKxScalingGroupCommandError */ -const de_GetKxDatabaseCommandError = async ( +const de_GetKxScalingGroupCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseErrorBody(output.body, context), @@ -2459,9 +3754,15 @@ const de_GetKxDatabaseCommandError = async ( case "AccessDeniedException": case "com.amazonaws.finspace#AccessDeniedException": throw await de_AccessDeniedExceptionRes(parsedOutput, context); + case "ConflictException": + case "com.amazonaws.finspace#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); case "InternalServerException": case "com.amazonaws.finspace#InternalServerException": throw await de_InternalServerExceptionRes(parsedOutput, context); + case "LimitExceededException": + case "com.amazonaws.finspace#LimitExceededException": + throw await de_LimitExceededExceptionRes(parsedOutput, context); case "ResourceNotFoundException": case "com.amazonaws.finspace#ResourceNotFoundException": throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); @@ -2482,49 +3783,36 @@ const de_GetKxDatabaseCommandError = async ( }; /** - * deserializeAws_restJson1GetKxEnvironmentCommand + * deserializeAws_restJson1GetKxUserCommand */ -export const de_GetKxEnvironmentCommand = async ( +export const de_GetKxUserCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_GetKxEnvironmentCommandError(output, context); + return de_GetKxUserCommandError(output, context); } const contents: any = map({ $metadata: deserializeMetadata(output), }); const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); const doc = take(data, { - availabilityZoneIds: _json, - awsAccountId: __expectString, - certificateAuthorityArn: __expectString, - creationTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), - customDNSConfiguration: _json, - dedicatedServiceAccountId: __expectString, - description: __expectString, - dnsStatus: __expectString, - environmentArn: __expectString, environmentId: __expectString, - errorMessage: __expectString, - kmsKeyId: __expectString, - name: __expectString, - status: __expectString, - tgwStatus: __expectString, - transitGatewayConfiguration: _json, - updateTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + iamRole: __expectString, + userArn: __expectString, + userName: __expectString, }); Object.assign(contents, doc); return contents; }; /** - * deserializeAws_restJson1GetKxEnvironmentCommandError + * deserializeAws_restJson1GetKxUserCommandError */ -const de_GetKxEnvironmentCommandError = async ( +const de_GetKxUserCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseErrorBody(output.body, context), @@ -2540,6 +3828,9 @@ const de_GetKxEnvironmentCommandError = async ( case "ResourceNotFoundException": case "com.amazonaws.finspace#ResourceNotFoundException": throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.finspace#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); case "ValidationException": case "com.amazonaws.finspace#ValidationException": throw await de_ValidationExceptionRes(parsedOutput, context); @@ -2554,36 +3845,45 @@ const de_GetKxEnvironmentCommandError = async ( }; /** - * deserializeAws_restJson1GetKxUserCommand + * deserializeAws_restJson1GetKxVolumeCommand */ -export const de_GetKxUserCommand = async ( +export const de_GetKxVolumeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return de_GetKxUserCommandError(output, context); + return de_GetKxVolumeCommandError(output, context); } const contents: any = map({ $metadata: deserializeMetadata(output), }); const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); const doc = take(data, { + attachedClusters: _json, + availabilityZoneIds: _json, + azMode: __expectString, + createdTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + description: __expectString, environmentId: __expectString, - iamRole: __expectString, - userArn: __expectString, - userName: __expectString, + lastModifiedTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + nas1Configuration: _json, + status: __expectString, + statusReason: __expectString, + volumeArn: __expectString, + volumeName: __expectString, + volumeType: __expectString, }); Object.assign(contents, doc); return contents; }; /** - * deserializeAws_restJson1GetKxUserCommandError + * deserializeAws_restJson1GetKxVolumeCommandError */ -const de_GetKxUserCommandError = async ( +const de_GetKxVolumeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseErrorBody(output.body, context), @@ -2593,9 +3893,15 @@ const de_GetKxUserCommandError = async ( case "AccessDeniedException": case "com.amazonaws.finspace#AccessDeniedException": throw await de_AccessDeniedExceptionRes(parsedOutput, context); + case "ConflictException": + case "com.amazonaws.finspace#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); case "InternalServerException": case "com.amazonaws.finspace#InternalServerException": throw await de_InternalServerExceptionRes(parsedOutput, context); + case "LimitExceededException": + case "com.amazonaws.finspace#LimitExceededException": + throw await de_LimitExceededExceptionRes(parsedOutput, context); case "ResourceNotFoundException": case "com.amazonaws.finspace#ResourceNotFoundException": throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); @@ -2650,6 +3956,9 @@ const de_ListEnvironmentsCommandError = async ( }; const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.finspace#AccessDeniedException": + throw await de_AccessDeniedExceptionRes(parsedOutput, context); case "InternalServerException": case "com.amazonaws.finspace#InternalServerException": throw await de_InternalServerExceptionRes(parsedOutput, context); @@ -2915,6 +4224,66 @@ const de_ListKxDatabasesCommandError = async ( } }; +/** + * deserializeAws_restJson1ListKxDataviewsCommand + */ +export const de_ListKxDataviewsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_ListKxDataviewsCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + kxDataviews: (_) => de_KxDataviews(_, context), + nextToken: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1ListKxDataviewsCommandError + */ +const de_ListKxDataviewsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.finspace#AccessDeniedException": + throw await de_AccessDeniedExceptionRes(parsedOutput, context); + case "InternalServerException": + case "com.amazonaws.finspace#InternalServerException": + throw await de_InternalServerExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.finspace#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.finspace#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.finspace#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_restJson1ListKxEnvironmentsCommand */ @@ -2950,9 +4319,78 @@ const de_ListKxEnvironmentsCommandError = async ( }; const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.finspace#AccessDeniedException": + throw await de_AccessDeniedExceptionRes(parsedOutput, context); + case "InternalServerException": + case "com.amazonaws.finspace#InternalServerException": + throw await de_InternalServerExceptionRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.finspace#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + +/** + * deserializeAws_restJson1ListKxScalingGroupsCommand + */ +export const de_ListKxScalingGroupsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_ListKxScalingGroupsCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + nextToken: __expectString, + scalingGroups: (_) => de_KxScalingGroupList(_, context), + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1ListKxScalingGroupsCommandError + */ +const de_ListKxScalingGroupsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.finspace#AccessDeniedException": + throw await de_AccessDeniedExceptionRes(parsedOutput, context); + case "ConflictException": + case "com.amazonaws.finspace#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); case "InternalServerException": case "com.amazonaws.finspace#InternalServerException": throw await de_InternalServerExceptionRes(parsedOutput, context); + case "LimitExceededException": + case "com.amazonaws.finspace#LimitExceededException": + throw await de_LimitExceededExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.finspace#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.finspace#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); case "ValidationException": case "com.amazonaws.finspace#ValidationException": throw await de_ValidationExceptionRes(parsedOutput, context); @@ -2991,10 +4429,70 @@ export const de_ListKxUsersCommand = async ( /** * deserializeAws_restJson1ListKxUsersCommandError */ -const de_ListKxUsersCommandError = async ( +const de_ListKxUsersCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.finspace#AccessDeniedException": + throw await de_AccessDeniedExceptionRes(parsedOutput, context); + case "InternalServerException": + case "com.amazonaws.finspace#InternalServerException": + throw await de_InternalServerExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.finspace#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.finspace#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.finspace#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + +/** + * deserializeAws_restJson1ListKxVolumesCommand + */ +export const de_ListKxVolumesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_ListKxVolumesCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + kxVolumeSummaries: (_) => de_KxVolumes(_, context), + nextToken: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1ListKxVolumesCommandError + */ +const de_ListKxVolumesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseErrorBody(output.body, context), @@ -3004,9 +4502,15 @@ const de_ListKxUsersCommandError = async ( case "AccessDeniedException": case "com.amazonaws.finspace#AccessDeniedException": throw await de_AccessDeniedExceptionRes(parsedOutput, context); + case "ConflictException": + case "com.amazonaws.finspace#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); case "InternalServerException": case "com.amazonaws.finspace#InternalServerException": throw await de_InternalServerExceptionRes(parsedOutput, context); + case "LimitExceededException": + case "com.amazonaws.finspace#LimitExceededException": + throw await de_LimitExceededExceptionRes(parsedOutput, context); case "ResourceNotFoundException": case "com.amazonaws.finspace#ResourceNotFoundException": throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); @@ -3423,6 +4927,83 @@ const de_UpdateKxDatabaseCommandError = async ( } }; +/** + * deserializeAws_restJson1UpdateKxDataviewCommand + */ +export const de_UpdateKxDataviewCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_UpdateKxDataviewCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + activeVersions: (_) => de_KxDataviewActiveVersionList(_, context), + autoUpdate: __expectBoolean, + availabilityZoneId: __expectString, + azMode: __expectString, + changesetId: __expectString, + createdTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + databaseName: __expectString, + dataviewName: __expectString, + description: __expectString, + environmentId: __expectString, + lastModifiedTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + segmentConfigurations: _json, + status: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1UpdateKxDataviewCommandError + */ +const de_UpdateKxDataviewCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.finspace#AccessDeniedException": + throw await de_AccessDeniedExceptionRes(parsedOutput, context); + case "ConflictException": + case "com.amazonaws.finspace#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InternalServerException": + case "com.amazonaws.finspace#InternalServerException": + throw await de_InternalServerExceptionRes(parsedOutput, context); + case "ResourceAlreadyExistsException": + case "com.amazonaws.finspace#ResourceAlreadyExistsException": + throw await de_ResourceAlreadyExistsExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.finspace#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.finspace#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.finspace#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_restJson1UpdateKxEnvironmentCommand */ @@ -3645,6 +5226,83 @@ const de_UpdateKxUserCommandError = async ( } }; +/** + * deserializeAws_restJson1UpdateKxVolumeCommand + */ +export const de_UpdateKxVolumeCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_UpdateKxVolumeCommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + attachedClusters: _json, + availabilityZoneIds: _json, + azMode: __expectString, + createdTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + description: __expectString, + environmentId: __expectString, + lastModifiedTimestamp: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + nas1Configuration: _json, + status: __expectString, + statusReason: __expectString, + volumeArn: __expectString, + volumeName: __expectString, + volumeType: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + +/** + * deserializeAws_restJson1UpdateKxVolumeCommandError + */ +const de_UpdateKxVolumeCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.finspace#AccessDeniedException": + throw await de_AccessDeniedExceptionRes(parsedOutput, context); + case "ConflictException": + case "com.amazonaws.finspace#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InternalServerException": + case "com.amazonaws.finspace#InternalServerException": + throw await de_InternalServerExceptionRes(parsedOutput, context); + case "LimitExceededException": + case "com.amazonaws.finspace#LimitExceededException": + throw await de_LimitExceededExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.finspace#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + case "ThrottlingException": + case "com.amazonaws.finspace#ThrottlingException": + throw await de_ThrottlingExceptionRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.finspace#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + const throwDefaultError = withBaseException(__BaseException); /** * deserializeAws_restJson1AccessDeniedExceptionRes @@ -3854,6 +5512,8 @@ const se_AutoScalingConfiguration = (input: AutoScalingConfiguration, context: _ }); }; +// se_AvailabilityZoneIds omitted. + // se_CapacityConfiguration omitted. // se_ChangeRequest omitted. @@ -3892,10 +5552,31 @@ const se_AutoScalingConfiguration = (input: AutoScalingConfiguration, context: _ // se_KxDatabaseConfigurations omitted. +// se_KxDataviewConfiguration omitted. + +// se_KxDataviewSegmentConfiguration omitted. + +// se_KxDataviewSegmentConfigurationList omitted. + // se_KxDeploymentConfiguration omitted. +// se_KxNAS1Configuration omitted. + // se_KxSavedownStorageConfiguration omitted. +/** + * serializeAws_restJson1KxScalingGroupConfiguration + */ +const se_KxScalingGroupConfiguration = (input: KxScalingGroupConfiguration, context: __SerdeContext): any => { + return take(input, { + cpu: __serializeFloat, + memoryLimit: [], + memoryReservation: [], + nodeCount: [], + scalingGroupName: [], + }); +}; + // se_NetworkACLConfiguration omitted. // se_NetworkACLEntry omitted. @@ -3904,16 +5585,24 @@ const se_AutoScalingConfiguration = (input: AutoScalingConfiguration, context: _ // se_SecurityGroupIdList omitted. +// se_SegmentConfigurationDbPathList omitted. + // se_SubnetIdList omitted. // se_SuperuserParameters omitted. // se_TagMap omitted. +// se_TickerplantLogConfiguration omitted. + +// se_TickerplantLogVolumes omitted. + // se_TransitGatewayConfiguration omitted. // se_VpcConfiguration omitted. +// de_AttachedClusterList omitted. + // de_AttributeMap omitted. /** @@ -3956,6 +5645,10 @@ const de_AutoScalingConfiguration = (output: any, context: __SerdeContext): Auto // de_IcmpTypeCode omitted. +// de_KxAttachedCluster omitted. + +// de_KxAttachedClusters omitted. + // de_KxCacheStorageConfiguration omitted. // de_KxCacheStorageConfigurations omitted. @@ -4002,9 +5695,12 @@ const de_KxCluster = (output: any, context: __SerdeContext): KxCluster => { releaseLabel: __expectString, status: __expectString, statusReason: __expectString, + volumes: _json, }) as any; }; +// de_KxClusterNameList omitted. + /** * deserializeAws_restJson1KxClusters */ @@ -4052,6 +5748,71 @@ const de_KxDatabases = (output: any, context: __SerdeContext): KxDatabaseListEnt return retVal; }; +/** + * deserializeAws_restJson1KxDataviewActiveVersion + */ +const de_KxDataviewActiveVersion = (output: any, context: __SerdeContext): KxDataviewActiveVersion => { + return take(output, { + attachedClusters: _json, + changesetId: __expectString, + createdTimestamp: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + segmentConfigurations: _json, + versionId: __expectString, + }) as any; +}; + +/** + * deserializeAws_restJson1KxDataviewActiveVersionList + */ +const de_KxDataviewActiveVersionList = (output: any, context: __SerdeContext): KxDataviewActiveVersion[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_KxDataviewActiveVersion(entry, context); + }); + return retVal; +}; + +// de_KxDataviewConfiguration omitted. + +/** + * deserializeAws_restJson1KxDataviewListEntry + */ +const de_KxDataviewListEntry = (output: any, context: __SerdeContext): KxDataviewListEntry => { + return take(output, { + activeVersions: (_: any) => de_KxDataviewActiveVersionList(_, context), + autoUpdate: __expectBoolean, + availabilityZoneId: __expectString, + azMode: __expectString, + changesetId: __expectString, + createdTimestamp: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + databaseName: __expectString, + dataviewName: __expectString, + description: __expectString, + environmentId: __expectString, + lastModifiedTimestamp: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + segmentConfigurations: _json, + status: __expectString, + statusReason: __expectString, + }) as any; +}; + +/** + * deserializeAws_restJson1KxDataviews + */ +const de_KxDataviews = (output: any, context: __SerdeContext): KxDataviewListEntry[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_KxDataviewListEntry(entry, context); + }); + return retVal; +}; + +// de_KxDataviewSegmentConfiguration omitted. + +// de_KxDataviewSegmentConfigurationList omitted. + /** * deserializeAws_restJson1KxEnvironment */ @@ -4089,6 +5850,8 @@ const de_KxEnvironmentList = (output: any, context: __SerdeContext): KxEnvironme return retVal; }; +// de_KxNAS1Configuration omitted. + /** * deserializeAws_restJson1KxNode */ @@ -4114,6 +5877,47 @@ const de_KxNodeSummaries = (output: any, context: __SerdeContext): KxNode[] => { // de_KxSavedownStorageConfiguration omitted. +/** + * deserializeAws_restJson1KxScalingGroup + */ +const de_KxScalingGroup = (output: any, context: __SerdeContext): KxScalingGroup => { + return take(output, { + availabilityZoneId: __expectString, + clusters: _json, + createdTimestamp: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + hostType: __expectString, + lastModifiedTimestamp: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + scalingGroupName: __expectString, + status: __expectString, + statusReason: __expectString, + }) as any; +}; + +/** + * deserializeAws_restJson1KxScalingGroupConfiguration + */ +const de_KxScalingGroupConfiguration = (output: any, context: __SerdeContext): KxScalingGroupConfiguration => { + return take(output, { + cpu: __limitedParseDouble, + memoryLimit: __expectInt32, + memoryReservation: __expectInt32, + nodeCount: __expectInt32, + scalingGroupName: __expectString, + }) as any; +}; + +/** + * deserializeAws_restJson1KxScalingGroupList + */ +const de_KxScalingGroupList = (output: any, context: __SerdeContext): KxScalingGroup[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_KxScalingGroup(entry, context); + }); + return retVal; +}; + /** * deserializeAws_restJson1KxUser */ @@ -4139,6 +5943,35 @@ const de_KxUserList = (output: any, context: __SerdeContext): KxUser[] => { return retVal; }; +/** + * deserializeAws_restJson1KxVolume + */ +const de_KxVolume = (output: any, context: __SerdeContext): KxVolume => { + return take(output, { + availabilityZoneIds: _json, + azMode: __expectString, + createdTimestamp: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + description: __expectString, + lastModifiedTimestamp: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + status: __expectString, + statusReason: __expectString, + volumeName: __expectString, + volumeType: __expectString, + }) as any; +}; + +/** + * deserializeAws_restJson1KxVolumes + */ +const de_KxVolumes = (output: any, context: __SerdeContext): KxVolume[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_KxVolume(entry, context); + }); + return retVal; +}; + // de_NetworkACLConfiguration omitted. // de_NetworkACLEntry omitted. @@ -4147,12 +5980,22 @@ const de_KxUserList = (output: any, context: __SerdeContext): KxUser[] => { // de_SecurityGroupIdList omitted. +// de_SegmentConfigurationDbPathList omitted. + // de_SubnetIdList omitted. // de_TagMap omitted. +// de_TickerplantLogConfiguration omitted. + +// de_TickerplantLogVolumes omitted. + // de_TransitGatewayConfiguration omitted. +// de_Volume omitted. + +// de_Volumes omitted. + // de_VpcConfiguration omitted. const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({ diff --git a/codegen/sdk-codegen/aws-models/finspace.json b/codegen/sdk-codegen/aws-models/finspace.json index f88ec974e8b89..79c48f6887d81 100644 --- a/codegen/sdk-codegen/aws-models/finspace.json +++ b/codegen/sdk-codegen/aws-models/finspace.json @@ -45,12 +45,21 @@ { "target": "com.amazonaws.finspace#CreateKxDatabase" }, + { + "target": "com.amazonaws.finspace#CreateKxDataview" + }, { "target": "com.amazonaws.finspace#CreateKxEnvironment" }, + { + "target": "com.amazonaws.finspace#CreateKxScalingGroup" + }, { "target": "com.amazonaws.finspace#CreateKxUser" }, + { + "target": "com.amazonaws.finspace#CreateKxVolume" + }, { "target": "com.amazonaws.finspace#DeleteEnvironment" }, @@ -60,12 +69,21 @@ { "target": "com.amazonaws.finspace#DeleteKxDatabase" }, + { + "target": "com.amazonaws.finspace#DeleteKxDataview" + }, { "target": "com.amazonaws.finspace#DeleteKxEnvironment" }, + { + "target": "com.amazonaws.finspace#DeleteKxScalingGroup" + }, { "target": "com.amazonaws.finspace#DeleteKxUser" }, + { + "target": "com.amazonaws.finspace#DeleteKxVolume" + }, { "target": "com.amazonaws.finspace#GetEnvironment" }, @@ -81,12 +99,21 @@ { "target": "com.amazonaws.finspace#GetKxDatabase" }, + { + "target": "com.amazonaws.finspace#GetKxDataview" + }, { "target": "com.amazonaws.finspace#GetKxEnvironment" }, + { + "target": "com.amazonaws.finspace#GetKxScalingGroup" + }, { "target": "com.amazonaws.finspace#GetKxUser" }, + { + "target": "com.amazonaws.finspace#GetKxVolume" + }, { "target": "com.amazonaws.finspace#ListEnvironments" }, @@ -102,12 +129,21 @@ { "target": "com.amazonaws.finspace#ListKxDatabases" }, + { + "target": "com.amazonaws.finspace#ListKxDataviews" + }, { "target": "com.amazonaws.finspace#ListKxEnvironments" }, + { + "target": "com.amazonaws.finspace#ListKxScalingGroups" + }, { "target": "com.amazonaws.finspace#ListKxUsers" }, + { + "target": "com.amazonaws.finspace#ListKxVolumes" + }, { "target": "com.amazonaws.finspace#ListTagsForResource" }, @@ -129,6 +165,9 @@ { "target": "com.amazonaws.finspace#UpdateKxDatabase" }, + { + "target": "com.amazonaws.finspace#UpdateKxDataview" + }, { "target": "com.amazonaws.finspace#UpdateKxEnvironment" }, @@ -137,6 +176,9 @@ }, { "target": "com.amazonaws.finspace#UpdateKxUser" + }, + { + "target": "com.amazonaws.finspace#UpdateKxVolume" } ], "traits": { @@ -848,6 +890,12 @@ "smithy.api#httpError": 403 } }, + "com.amazonaws.finspace#AttachedClusterList": { + "type": "list", + "member": { + "target": "com.amazonaws.finspace#KxClusterName" + } + }, "com.amazonaws.finspace#AttributeMap": { "type": "map", "key": { @@ -1068,6 +1116,14 @@ "smithy.api#pattern": "^[a-zA-Z0-9-]+$" } }, + "com.amazonaws.finspace#ClusterNodeCount": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1 + } + } + }, "com.amazonaws.finspace#CodeConfiguration": { "type": "structure", "members": { @@ -1122,6 +1178,14 @@ } } }, + "com.amazonaws.finspace#CpuCount": { + "type": "double", + "traits": { + "smithy.api#range": { + "min": 0.1 + } + } + }, "com.amazonaws.finspace#CreateEnvironment": { "type": "operation", "input": { @@ -1448,10 +1512,16 @@ "clusterType": { "target": "com.amazonaws.finspace#KxClusterType", "traits": { - "smithy.api#documentation": "

      Specifies the type of KDB database that is being created. The following types are available:

      \n
        \n
      • \n

        HDB – A Historical Database. The data is only accessible with read-only permissions from one of the FinSpace managed kdb databases mounted to the cluster.

        \n
      • \n
      • \n

        RDB – A Realtime Database. This type of database captures all the data from a ticker plant and stores it in memory until the end of day, after which it writes all of its data to a disk and reloads the HDB. This cluster type requires local storage for temporary storage of data during the savedown process. If you specify this field in your request, you must provide the savedownStorageConfiguration parameter.

        \n
      • \n
      • \n

        GATEWAY – A gateway cluster allows you to access data across processes in kdb systems. It allows you to create your own routing logic using the initialization scripts and custom code. This type of cluster does not require a writable local storage.

        \n
      • \n
      • \n

        GP – A general purpose cluster allows you to quickly iterate on code during development by granting greater access to system commands and enabling a fast reload of custom code. This cluster type can optionally mount databases including cache and savedown storage. For this cluster type, the node count is fixed at 1. It does not support autoscaling and supports only SINGLE AZ mode.

        \n
      • \n
      ", + "smithy.api#documentation": "

      Specifies the type of KDB database that is being created. The following types are available:

      \n
        \n
      • \n

        HDB – A Historical Database. The data is only accessible with read-only permissions from one of the FinSpace managed kdb databases mounted to the cluster.

        \n
      • \n
      • \n

        RDB – A Realtime Database. This type of database captures all the data from a ticker plant and stores it in memory until the end of day, after which it writes all of its data to a disk and reloads the HDB. This cluster type requires local storage for temporary storage of data during the savedown process. If you specify this field in your request, you must provide the savedownStorageConfiguration parameter.

        \n
      • \n
      • \n

        GATEWAY – A gateway cluster allows you to access data across processes in kdb systems. It allows you to create your own routing logic using the initialization scripts and custom code. This type of cluster does not require a writable local storage.

        \n
      • \n
      • \n

        GP – A general purpose cluster allows you to quickly iterate on code during development by granting greater access to system commands and enabling a fast reload of custom code. This cluster type can optionally mount databases including cache and savedown storage. For this cluster type, the node count is fixed at 1. It does not support autoscaling and supports only SINGLE AZ mode.

        \n
      • \n
      • \n

        Tickerplant – A tickerplant cluster allows you to subscribe to feed handlers based on IAM permissions. It can publish to RDBs, other Tickerplants, and real-time subscribers (RTS). Tickerplants can persist messages to log, which is readable by any RDB environment. It supports only single-node that is only one kdb process.

        \n
      • \n
      ", "smithy.api#required": {} } }, + "tickerplantLogConfiguration": { + "target": "com.amazonaws.finspace#TickerplantLogConfiguration", + "traits": { + "smithy.api#documentation": "

      \nA configuration to store Tickerplant logs. It consists of\na list of volumes that will be mounted to your cluster. For the cluster type Tickerplant, the location of the TP volume on the cluster will be available by using the global variable .aws.tp_log_path. \n

      " + } + }, "databases": { "target": "com.amazonaws.finspace#KxDatabaseConfigurations", "traits": { @@ -1479,8 +1549,7 @@ "capacityConfiguration": { "target": "com.amazonaws.finspace#CapacityConfiguration", "traits": { - "smithy.api#documentation": "

      A structure for the metadata of a cluster. It includes information like the CPUs needed, memory of instances, and number of instances.

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

      A structure for the metadata of a cluster. It includes information like the CPUs needed, memory of instances, and number of instances.

      " } }, "releaseLabel": { @@ -1493,7 +1562,8 @@ "vpcConfiguration": { "target": "com.amazonaws.finspace#VpcConfiguration", "traits": { - "smithy.api#documentation": "

      Configuration details about the network where the Privatelink endpoint of the cluster resides.

      " + "smithy.api#documentation": "

      Configuration details about the network where the Privatelink endpoint of the cluster resides.

      ", + "smithy.api#required": {} } }, "initializationScript": { @@ -1544,6 +1614,12 @@ "traits": { "smithy.api#documentation": "

      A list of key-value pairs to label the cluster. You can add up to 50 tags to a cluster.

      " } + }, + "scalingGroupConfiguration": { + "target": "com.amazonaws.finspace#KxScalingGroupConfiguration", + "traits": { + "smithy.api#documentation": "

      The structure that stores the configuration details of a scaling group.

      " + } } }, "traits": { @@ -1580,7 +1656,16 @@ "clusterType": { "target": "com.amazonaws.finspace#KxClusterType", "traits": { - "smithy.api#documentation": "

      Specifies the type of KDB database that is being created. The following types are available:

      \n
        \n
      • \n

        HDB – A Historical Database. The data is only accessible with read-only permissions from one of the FinSpace managed kdb databases mounted to the cluster.

        \n
      • \n
      • \n

        RDB – A Realtime Database. This type of database captures all the data from a ticker plant and stores it in memory until the end of day, after which it writes all of its data to a disk and reloads the HDB. This cluster type requires local storage for temporary storage of data during the savedown process. If you specify this field in your request, you must provide the savedownStorageConfiguration parameter.

        \n
      • \n
      • \n

        GATEWAY – A gateway cluster allows you to access data across processes in kdb systems. It allows you to create your own routing logic using the initialization scripts and custom code. This type of cluster does not require a writable local storage.

        \n
      • \n
      • \n

        GP – A general purpose cluster allows you to quickly iterate on code during development by granting greater access to system commands and enabling a fast reload of custom code. This cluster type can optionally mount databases including cache and savedown storage. For this cluster type, the node count is fixed at 1. It does not support autoscaling and supports only SINGLE AZ mode.

        \n
      • \n
      " + "smithy.api#documentation": "

      Specifies the type of KDB database that is being created. The following types are available:

      \n
        \n
      • \n

        HDB – A Historical Database. The data is only accessible with read-only permissions from one of the FinSpace managed kdb databases mounted to the cluster.

        \n
      • \n
      • \n

        RDB – A Realtime Database. This type of database captures all the data from a ticker plant and stores it in memory until the end of day, after which it writes all of its data to a disk and reloads the HDB. This cluster type requires local storage for temporary storage of data during the savedown process. If you specify this field in your request, you must provide the savedownStorageConfiguration parameter.

        \n
      • \n
      • \n

        GATEWAY – A gateway cluster allows you to access data across processes in kdb systems. It allows you to create your own routing logic using the initialization scripts and custom code. This type of cluster does not require a writable local storage.

        \n
      • \n
      • \n

        GP – A general purpose cluster allows you to quickly iterate on code during development by granting greater access to system commands and enabling a fast reload of custom code. This cluster type can optionally mount databases including cache and savedown storage. For this cluster type, the node count is fixed at 1. It does not support autoscaling and supports only SINGLE AZ mode.

        \n
      • \n
      • \n

        Tickerplant – A tickerplant cluster allows you to subscribe to feed handlers based on IAM permissions. It can publish to RDBs, other Tickerplants, and real-time subscribers (RTS). Tickerplants can persist messages to log, which is readable by any RDB environment. It supports only single-node that is only one kdb process.

        \n
      • \n
      " + } + }, + "tickerplantLogConfiguration": { + "target": "com.amazonaws.finspace#TickerplantLogConfiguration" + }, + "volumes": { + "target": "com.amazonaws.finspace#Volumes", + "traits": { + "smithy.api#documentation": "

      \nA list of volumes mounted on the cluster.\n

      " } }, "databases": { @@ -1678,6 +1763,12 @@ "traits": { "smithy.api#documentation": "

      The timestamp at which the cluster was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      " } + }, + "scalingGroupConfiguration": { + "target": "com.amazonaws.finspace#KxScalingGroupConfiguration", + "traits": { + "smithy.api#documentation": "

      The structure that stores the configuration details of a scaling group.

      " + } } }, "traits": { @@ -1814,6 +1905,213 @@ "smithy.api#output": {} } }, + "com.amazonaws.finspace#CreateKxDataview": { + "type": "operation", + "input": { + "target": "com.amazonaws.finspace#CreateKxDataviewRequest" + }, + "output": { + "target": "com.amazonaws.finspace#CreateKxDataviewResponse" + }, + "errors": [ + { + "target": "com.amazonaws.finspace#AccessDeniedException" + }, + { + "target": "com.amazonaws.finspace#ConflictException" + }, + { + "target": "com.amazonaws.finspace#InternalServerException" + }, + { + "target": "com.amazonaws.finspace#LimitExceededException" + }, + { + "target": "com.amazonaws.finspace#ResourceAlreadyExistsException" + }, + { + "target": "com.amazonaws.finspace#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.finspace#ThrottlingException" + }, + { + "target": "com.amazonaws.finspace#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

      \nCreates a snapshot of kdb database with tiered storage capabilities and a pre-warmed cache, ready for mounting on kdb clusters. Dataviews are only available for clusters running on a scaling group. They are not supported on dedicated clusters.

      ", + "smithy.api#http": { + "method": "POST", + "uri": "/kx/environments/{environmentId}/databases/{databaseName}/dataviews", + "code": 200 + } + } + }, + "com.amazonaws.finspace#CreateKxDataviewRequest": { + "type": "structure", + "members": { + "environmentId": { + "target": "com.amazonaws.finspace#EnvironmentId", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb environment, where you want to create the dataview.

      ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "databaseName": { + "target": "com.amazonaws.finspace#DatabaseName", + "traits": { + "smithy.api#documentation": "

      \nThe name of the database where you want to create a dataview.\n

      ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "dataviewName": { + "target": "com.amazonaws.finspace#KxDataviewName", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the dataview.

      ", + "smithy.api#required": {} + } + }, + "azMode": { + "target": "com.amazonaws.finspace#KxAzMode", + "traits": { + "smithy.api#documentation": "

      The number of availability zones you want to assign per cluster. This can be one of the following

      \n
        \n
      • \n

        \n SINGLE – Assigns one availability zone per cluster.

        \n
      • \n
      • \n

        \n MULTI – Assigns all the availability zones per cluster.

        \n
      • \n
      ", + "smithy.api#required": {} + } + }, + "availabilityZoneId": { + "target": "com.amazonaws.finspace#AvailabilityZoneId", + "traits": { + "smithy.api#documentation": "

      \n The identifier of the availability zones.\n

      " + } + }, + "changesetId": { + "target": "com.amazonaws.finspace#ChangesetId", + "traits": { + "smithy.api#documentation": "

      \nA unique identifier of the changeset that you want to use to ingest data.

      " + } + }, + "segmentConfigurations": { + "target": "com.amazonaws.finspace#KxDataviewSegmentConfigurationList", + "traits": { + "smithy.api#documentation": "

      \n The configuration that contains the database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume. If you do not explicitly specify any database path for a volume, they are accessible from the cluster through the default S3/object store segment.

      " + } + }, + "autoUpdate": { + "target": "com.amazonaws.finspace#booleanValue", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

      The option to specify whether you want to apply all the future additions and corrections automatically to the dataview, when you ingest new changesets. The default value is false.

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

      A description of the dataview.

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

      \nA list of key-value pairs to label the dataview. You can add up to 50 tags to a dataview.\n

      " + } + }, + "clientToken": { + "target": "com.amazonaws.finspace#ClientTokenString", + "traits": { + "smithy.api#documentation": "

      A token that ensures idempotency. This token expires in 10 minutes.

      ", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.finspace#CreateKxDataviewResponse": { + "type": "structure", + "members": { + "dataviewName": { + "target": "com.amazonaws.finspace#KxDataviewName", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the dataview.

      " + } + }, + "databaseName": { + "target": "com.amazonaws.finspace#DatabaseName", + "traits": { + "smithy.api#documentation": "

      The name of the database where you want to create a dataview.

      " + } + }, + "environmentId": { + "target": "com.amazonaws.finspace#EnvironmentId", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb environment, where you want to create the dataview.

      " + } + }, + "azMode": { + "target": "com.amazonaws.finspace#KxAzMode", + "traits": { + "smithy.api#documentation": "

      The number of availability zones you want to assign per cluster. This can be one of the following

      \n
        \n
      • \n

        \n SINGLE – Assigns one availability zone per cluster.

        \n
      • \n
      • \n

        \n MULTI – Assigns all the availability zones per cluster.

        \n
      • \n
      " + } + }, + "availabilityZoneId": { + "target": "com.amazonaws.finspace#AvailabilityZoneId", + "traits": { + "smithy.api#documentation": "

      \n The identifier of the availability zones.\n

      " + } + }, + "changesetId": { + "target": "com.amazonaws.finspace#ChangesetId", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the changeset.

      " + } + }, + "segmentConfigurations": { + "target": "com.amazonaws.finspace#KxDataviewSegmentConfigurationList", + "traits": { + "smithy.api#documentation": "

      \n The configuration that contains the database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume. If you do not explicitly specify any database path for a volume, they are accessible from the cluster through the default S3/object store segment.

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

      A description of the dataview.

      " + } + }, + "autoUpdate": { + "target": "com.amazonaws.finspace#booleanValue", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

      The option to select whether you want to apply all the future additions and corrections automatically to the dataview when you ingest new changesets. The default value is false.

      " + } + }, + "createdTimestamp": { + "target": "com.amazonaws.finspace#Timestamp", + "traits": { + "smithy.api#documentation": "

      \nThe timestamp at which the dataview was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      " + } + }, + "lastModifiedTimestamp": { + "target": "com.amazonaws.finspace#Timestamp", + "traits": { + "smithy.api#documentation": "

      \nThe last time that the dataview was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      " + } + }, + "status": { + "target": "com.amazonaws.finspace#KxDataviewStatus", + "traits": { + "smithy.api#documentation": "

      \nThe status of dataview creation.

      \n
        \n
      • \n

        \n CREATING – The dataview creation is in progress.

        \n
      • \n
      • \n

        \n UPDATING – The dataview is in the process of being updated.

        \n
      • \n
      • \n

        \n ACTIVE – The dataview is active.

        \n
      • \n
      " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.finspace#CreateKxEnvironment": { "type": "operation", "input": { @@ -1886,7 +2184,8 @@ "clientToken": { "target": "com.amazonaws.finspace#ClientToken", "traits": { - "smithy.api#documentation": "

      A token that ensures idempotency. This token expires in 10 minutes.

      " + "smithy.api#documentation": "

      A token that ensures idempotency. This token expires in 10 minutes.

      ", + "smithy.api#idempotencyToken": {} } } }, @@ -1944,13 +2243,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.finspace#CreateKxUser": { + "com.amazonaws.finspace#CreateKxScalingGroup": { "type": "operation", "input": { - "target": "com.amazonaws.finspace#CreateKxUserRequest" + "target": "com.amazonaws.finspace#CreateKxScalingGroupRequest" }, "output": { - "target": "com.amazonaws.finspace#CreateKxUserResponse" + "target": "com.amazonaws.finspace#CreateKxScalingGroupResponse" }, "errors": [ { @@ -1965,9 +2264,6 @@ { "target": "com.amazonaws.finspace#LimitExceededException" }, - { - "target": "com.amazonaws.finspace#ResourceAlreadyExistsException" - }, { "target": "com.amazonaws.finspace#ResourceNotFoundException" }, @@ -1979,49 +2275,58 @@ } ], "traits": { - "smithy.api#documentation": "

      Creates a user in FinSpace kdb environment with an associated IAM role.

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

      Creates a new scaling group.

      ", "smithy.api#http": { "method": "POST", - "uri": "/kx/environments/{environmentId}/users", + "uri": "/kx/environments/{environmentId}/scalingGroups", "code": 200 } } }, - "com.amazonaws.finspace#CreateKxUserRequest": { + "com.amazonaws.finspace#CreateKxScalingGroupRequest": { "type": "structure", "members": { + "clientToken": { + "target": "com.amazonaws.finspace#ClientToken", + "traits": { + "smithy.api#documentation": "

      A token that ensures idempotency. This token expires in 10 minutes.

      ", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + }, "environmentId": { - "target": "com.amazonaws.finspace#IdType", + "target": "com.amazonaws.finspace#KxEnvironmentId", "traits": { - "smithy.api#documentation": "

      A unique identifier for the kdb environment where you want to create a user.

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

      A unique identifier for the kdb environment, where you want to create the scaling group.

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "userName": { - "target": "com.amazonaws.finspace#KxUserNameString", + "scalingGroupName": { + "target": "com.amazonaws.finspace#KxScalingGroupName", "traits": { - "smithy.api#documentation": "

      A unique identifier for the user.

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

      A unique identifier for the kdb scaling group.

      ", "smithy.api#required": {} } }, - "iamRole": { - "target": "com.amazonaws.finspace#RoleArn", + "hostType": { + "target": "com.amazonaws.finspace#KxHostType", "traits": { - "smithy.api#documentation": "

      The IAM role ARN that will be associated with the user.

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

      \n The memory and CPU capabilities of the scaling group host on which FinSpace Managed kdb clusters will be placed.\n \n

      ", "smithy.api#required": {} } }, - "tags": { - "target": "com.amazonaws.finspace#TagMap", + "availabilityZoneId": { + "target": "com.amazonaws.finspace#AvailabilityZoneId", "traits": { - "smithy.api#documentation": "

      A list of key-value pairs to label the user. You can add up to 50 tags to a user.

      " + "smithy.api#documentation": "

      The identifier of the availability zones.

      ", + "smithy.api#required": {} } }, - "clientToken": { - "target": "com.amazonaws.finspace#ClientToken", + "tags": { + "target": "com.amazonaws.finspace#TagMap", "traits": { - "smithy.api#documentation": "

      A token that ensures idempotency. This token expires in 10 minutes.

      " + "smithy.api#documentation": "

      \nA list of key-value pairs to label the scaling group. You can add up to 50 tags to a scaling group.\n

      " } } }, @@ -2029,179 +2334,63 @@ "smithy.api#input": {} } }, - "com.amazonaws.finspace#CreateKxUserResponse": { + "com.amazonaws.finspace#CreateKxScalingGroupResponse": { "type": "structure", "members": { - "userName": { - "target": "com.amazonaws.finspace#KxUserNameString", + "environmentId": { + "target": "com.amazonaws.finspace#KxEnvironmentId", "traits": { - "smithy.api#documentation": "

      A unique identifier for the user.

      " + "smithy.api#documentation": "

      A unique identifier for the kdb environment, where you create the scaling group.

      " } }, - "userArn": { - "target": "com.amazonaws.finspace#KxUserArn", + "scalingGroupName": { + "target": "com.amazonaws.finspace#KxScalingGroupName", "traits": { - "smithy.api#documentation": "

      The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and\n how to use ARNs in policies, see IAM Identifiers in the\n IAM User Guide.

      " + "smithy.api#documentation": "

      A unique identifier for the kdb scaling group.

      " } }, - "environmentId": { - "target": "com.amazonaws.finspace#IdType", + "hostType": { + "target": "com.amazonaws.finspace#KxHostType", "traits": { - "smithy.api#documentation": "

      A unique identifier for the kdb environment.

      " + "smithy.api#documentation": "

      \n The memory and CPU capabilities of the scaling group host on which FinSpace Managed kdb clusters will be placed.\n \n

      " } }, - "iamRole": { - "target": "com.amazonaws.finspace#RoleArn", + "availabilityZoneId": { + "target": "com.amazonaws.finspace#AvailabilityZoneId", "traits": { - "smithy.api#documentation": "

      The IAM role ARN that will be associated with the user.

      " + "smithy.api#documentation": "

      The identifier of the availability zones.

      " } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.finspace#CustomDNSConfiguration": { - "type": "list", - "member": { - "target": "com.amazonaws.finspace#CustomDNSServer" - } - }, - "com.amazonaws.finspace#CustomDNSServer": { - "type": "structure", - "members": { - "customDNSServerName": { - "target": "com.amazonaws.finspace#ValidHostname", + }, + "status": { + "target": "com.amazonaws.finspace#KxScalingGroupStatus", "traits": { - "smithy.api#documentation": "

      The name of the DNS server.

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

      The status of scaling group.

      \n
        \n
      • \n

        CREATING – The scaling group creation is in progress.

        \n
      • \n
      • \n

        CREATE_FAILED – The scaling group creation has failed.

        \n
      • \n
      • \n

        ACTIVE – The scaling group is active.

        \n
      • \n
      • \n

        UPDATING – The scaling group is in the process of being updated.

        \n
      • \n
      • \n

        UPDATE_FAILED – The update action failed.

        \n
      • \n
      • \n

        DELETING – The scaling group is in the process of being deleted.

        \n
      • \n
      • \n

        DELETE_FAILED – The system failed to delete the scaling group.

        \n
      • \n
      • \n

        DELETED – The scaling group is successfully deleted.

        \n
      • \n
      " } }, - "customDNSServerIP": { - "target": "com.amazonaws.finspace#ValidIPAddress", + "lastModifiedTimestamp": { + "target": "com.amazonaws.finspace#Timestamp", "traits": { - "smithy.api#documentation": "

      The IP address of the DNS server.

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

      \nThe last time that the scaling group was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

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

      A list of DNS server name and server IP. This is used to set up Route-53 outbound resolvers.

      " - } - }, - "com.amazonaws.finspace#DataBundleArn": { - "type": "string", - "traits": { - "smithy.api#documentation": "

      The Amazon Resource Name (ARN) of the data bundle.

      ", - "smithy.api#length": { - "min": 20, - "max": 2048 - }, - "smithy.api#pattern": "^arn:aws:finspace:[A-Za-z0-9_/.-]{0,63}:\\d*:data-bundle/[0-9A-Za-z_-]{1,128}$" - } - }, - "com.amazonaws.finspace#DataBundleArns": { - "type": "list", - "member": { - "target": "com.amazonaws.finspace#DataBundleArn" - } - }, - "com.amazonaws.finspace#DatabaseArn": { - "type": "string" - }, - "com.amazonaws.finspace#DatabaseName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 3, - "max": 63 - }, - "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_]*[a-zA-Z0-9]$" - } - }, - "com.amazonaws.finspace#DbPath": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1025 - }, - "smithy.api#pattern": "^\\/([^\\/]+\\/){0,2}[^\\/]*$" - } - }, - "com.amazonaws.finspace#DbPaths": { - "type": "list", - "member": { - "target": "com.amazonaws.finspace#DbPath" - } - }, - "com.amazonaws.finspace#DeleteEnvironment": { - "type": "operation", - "input": { - "target": "com.amazonaws.finspace#DeleteEnvironmentRequest" - }, - "output": { - "target": "com.amazonaws.finspace#DeleteEnvironmentResponse" - }, - "errors": [ - { - "target": "com.amazonaws.finspace#AccessDeniedException" - }, - { - "target": "com.amazonaws.finspace#InternalServerException" - }, - { - "target": "com.amazonaws.finspace#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.finspace#ThrottlingException" - }, - { - "target": "com.amazonaws.finspace#ValidationException" - } - ], - "traits": { - "smithy.api#deprecated": { - "message": "This method will be discontinued." }, - "smithy.api#documentation": "

      Delete an FinSpace environment.

      ", - "smithy.api#http": { - "method": "DELETE", - "uri": "/environment/{environmentId}", - "code": 200 - } - } - }, - "com.amazonaws.finspace#DeleteEnvironmentRequest": { - "type": "structure", - "members": { - "environmentId": { - "target": "com.amazonaws.finspace#IdType", + "createdTimestamp": { + "target": "com.amazonaws.finspace#Timestamp", "traits": { - "smithy.api#documentation": "

      The identifier for the FinSpace environment.

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

      \n The timestamp at which the scaling group was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      " } } }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.finspace#DeleteEnvironmentResponse": { - "type": "structure", - "members": {}, "traits": { "smithy.api#output": {} } }, - "com.amazonaws.finspace#DeleteKxCluster": { + "com.amazonaws.finspace#CreateKxUser": { "type": "operation", "input": { - "target": "com.amazonaws.finspace#DeleteKxClusterRequest" + "target": "com.amazonaws.finspace#CreateKxUserRequest" }, "output": { - "target": "com.amazonaws.finspace#DeleteKxClusterResponse" + "target": "com.amazonaws.finspace#CreateKxUserResponse" }, "errors": [ { @@ -2216,6 +2405,9 @@ { "target": "com.amazonaws.finspace#LimitExceededException" }, + { + "target": "com.amazonaws.finspace#ResourceAlreadyExistsException" + }, { "target": "com.amazonaws.finspace#ResourceNotFoundException" }, @@ -2227,38 +2419,49 @@ } ], "traits": { - "smithy.api#documentation": "

      Deletes a kdb cluster.

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

      Creates a user in FinSpace kdb environment with an associated IAM role.

      ", "smithy.api#http": { - "method": "DELETE", - "uri": "/kx/environments/{environmentId}/clusters/{clusterName}", + "method": "POST", + "uri": "/kx/environments/{environmentId}/users", "code": 200 } } }, - "com.amazonaws.finspace#DeleteKxClusterRequest": { + "com.amazonaws.finspace#CreateKxUserRequest": { "type": "structure", "members": { "environmentId": { - "target": "com.amazonaws.finspace#KxEnvironmentId", + "target": "com.amazonaws.finspace#IdType", "traits": { - "smithy.api#documentation": "

      A unique identifier for the kdb environment.

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

      A unique identifier for the kdb environment where you want to create a user.

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "clusterName": { - "target": "com.amazonaws.finspace#KxClusterName", + "userName": { + "target": "com.amazonaws.finspace#KxUserNameString", "traits": { - "smithy.api#documentation": "

      The name of the cluster that you want to delete.

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

      A unique identifier for the user.

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

      The IAM role ARN that will be associated with the user.

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

      A list of key-value pairs to label the user. You can add up to 50 tags to a user.

      " + } + }, "clientToken": { - "target": "com.amazonaws.finspace#ClientTokenString", + "target": "com.amazonaws.finspace#ClientToken", "traits": { "smithy.api#documentation": "

      A token that ensures idempotency. This token expires in 10 minutes.

      ", - "smithy.api#httpQuery": "clientToken", "smithy.api#idempotencyToken": {} } } @@ -2267,20 +2470,45 @@ "smithy.api#input": {} } }, - "com.amazonaws.finspace#DeleteKxClusterResponse": { + "com.amazonaws.finspace#CreateKxUserResponse": { "type": "structure", - "members": {}, + "members": { + "userName": { + "target": "com.amazonaws.finspace#KxUserNameString", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the user.

      " + } + }, + "userArn": { + "target": "com.amazonaws.finspace#KxUserArn", + "traits": { + "smithy.api#documentation": "

      The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and\n how to use ARNs in policies, see IAM Identifiers in the\n IAM User Guide.

      " + } + }, + "environmentId": { + "target": "com.amazonaws.finspace#IdType", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb environment.

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

      The IAM role ARN that will be associated with the user.

      " + } + } + }, "traits": { "smithy.api#output": {} } }, - "com.amazonaws.finspace#DeleteKxDatabase": { + "com.amazonaws.finspace#CreateKxVolume": { "type": "operation", "input": { - "target": "com.amazonaws.finspace#DeleteKxDatabaseRequest" + "target": "com.amazonaws.finspace#CreateKxVolumeRequest" }, "output": { - "target": "com.amazonaws.finspace#DeleteKxDatabaseResponse" + "target": "com.amazonaws.finspace#CreateKxVolumeResponse" }, "errors": [ { @@ -2292,6 +2520,12 @@ { "target": "com.amazonaws.finspace#InternalServerException" }, + { + "target": "com.amazonaws.finspace#LimitExceededException" + }, + { + "target": "com.amazonaws.finspace#ResourceAlreadyExistsException" + }, { "target": "com.amazonaws.finspace#ResourceNotFoundException" }, @@ -2303,40 +2537,586 @@ } ], "traits": { - "smithy.api#documentation": "

      Deletes the specified database and all of its associated data. This action is irreversible. You must copy any data out of the database before deleting it if the data is to be retained.

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

      \nCreates a new volume with a specific amount of throughput and storage capacity.

      ", "smithy.api#http": { - "method": "DELETE", - "uri": "/kx/environments/{environmentId}/databases/{databaseName}", + "method": "POST", + "uri": "/kx/environments/{environmentId}/kxvolumes", "code": 200 } } }, - "com.amazonaws.finspace#DeleteKxDatabaseRequest": { + "com.amazonaws.finspace#CreateKxVolumeRequest": { "type": "structure", "members": { + "clientToken": { + "target": "com.amazonaws.finspace#ClientToken", + "traits": { + "smithy.api#documentation": "

      A token that ensures idempotency. This token expires in 10 minutes.

      ", + "smithy.api#idempotencyToken": {} + } + }, "environmentId": { - "target": "com.amazonaws.finspace#EnvironmentId", + "target": "com.amazonaws.finspace#KxEnvironmentId", "traits": { - "smithy.api#documentation": "

      A unique identifier for the kdb environment.

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

      A unique identifier for the kdb environment, whose clusters can attach to the volume.

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "databaseName": { + "volumeType": { + "target": "com.amazonaws.finspace#KxVolumeType", + "traits": { + "smithy.api#documentation": "

      \n The type of file system volume. Currently, FinSpace only supports NAS_1 volume type. When you select NAS_1 volume type, you must also provide nas1Configuration.\n

      ", + "smithy.api#required": {} + } + }, + "volumeName": { + "target": "com.amazonaws.finspace#KxVolumeName", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the volume.

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

      \nA description of the volume.\n

      " + } + }, + "nas1Configuration": { + "target": "com.amazonaws.finspace#KxNAS1Configuration", + "traits": { + "smithy.api#documentation": "

      Specifies the configuration for the Network attached storage (NAS_1) file system volume. This\n parameter is required when you choose volumeType as\n NAS_1.

      " + } + }, + "azMode": { + "target": "com.amazonaws.finspace#KxAzMode", + "traits": { + "smithy.api#documentation": "

      The number of availability zones you want to assign per cluster. Currently, FinSpace only support SINGLE for volumes.

      ", + "smithy.api#required": {} + } + }, + "availabilityZoneIds": { + "target": "com.amazonaws.finspace#AvailabilityZoneIds", + "traits": { + "smithy.api#documentation": "

      The identifier of the availability zones.

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

      \nA list of key-value pairs to label the volume. You can add up to 50 tags to a volume.\n

      " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.finspace#CreateKxVolumeResponse": { + "type": "structure", + "members": { + "environmentId": { + "target": "com.amazonaws.finspace#KxEnvironmentId", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb environment, whose clusters can attach to the volume.

      " + } + }, + "volumeName": { + "target": "com.amazonaws.finspace#KxVolumeName", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the volume.

      " + } + }, + "volumeType": { + "target": "com.amazonaws.finspace#KxVolumeType", + "traits": { + "smithy.api#documentation": "

      \n The type of file system volume. Currently, FinSpace only supports NAS_1 volume type.\n

      " + } + }, + "volumeArn": { + "target": "com.amazonaws.finspace#KxVolumeArn", + "traits": { + "smithy.api#documentation": "

      \nThe ARN identifier of the volume.\n

      " + } + }, + "nas1Configuration": { + "target": "com.amazonaws.finspace#KxNAS1Configuration", + "traits": { + "smithy.api#documentation": "

      Specifies the configuration for the Network attached storage (NAS_1) file system volume.

      " + } + }, + "status": { + "target": "com.amazonaws.finspace#KxVolumeStatus", + "traits": { + "smithy.api#documentation": "

      The status of volume creation.

      \n
        \n
      • \n

        CREATING – The volume creation is in progress.

        \n
      • \n
      • \n

        CREATE_FAILED – The volume creation has failed.

        \n
      • \n
      • \n

        ACTIVE – The volume is active.

        \n
      • \n
      • \n

        UPDATING – The volume is in the process of being updated.

        \n
      • \n
      • \n

        UPDATE_FAILED – The update action failed.

        \n
      • \n
      • \n

        UPDATED – The volume is successfully updated.

        \n
      • \n
      • \n

        DELETING – The volume is in the process of being deleted.

        \n
      • \n
      • \n

        DELETE_FAILED – The system failed to delete the volume.

        \n
      • \n
      • \n

        DELETED – The volume is successfully deleted.

        \n
      • \n
      " + } + }, + "statusReason": { + "target": "com.amazonaws.finspace#KxVolumeStatusReason", + "traits": { + "smithy.api#documentation": "

      The error message when a failed state occurs.

      " + } + }, + "azMode": { + "target": "com.amazonaws.finspace#KxAzMode", + "traits": { + "smithy.api#documentation": "

      The number of availability zones you want to assign per cluster. Currently, FinSpace only support SINGLE for volumes.

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

      \nA description of the volume.\n

      " + } + }, + "availabilityZoneIds": { + "target": "com.amazonaws.finspace#AvailabilityZoneIds", + "traits": { + "smithy.api#documentation": "

      The identifier of the availability zones.

      " + } + }, + "createdTimestamp": { + "target": "com.amazonaws.finspace#Timestamp", + "traits": { + "smithy.api#documentation": "

      The timestamp at which the volume was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.finspace#CustomDNSConfiguration": { + "type": "list", + "member": { + "target": "com.amazonaws.finspace#CustomDNSServer" + } + }, + "com.amazonaws.finspace#CustomDNSServer": { + "type": "structure", + "members": { + "customDNSServerName": { + "target": "com.amazonaws.finspace#ValidHostname", + "traits": { + "smithy.api#documentation": "

      The name of the DNS server.

      ", + "smithy.api#required": {} + } + }, + "customDNSServerIP": { + "target": "com.amazonaws.finspace#ValidIPAddress", + "traits": { + "smithy.api#documentation": "

      The IP address of the DNS server.

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

      A list of DNS server name and server IP. This is used to set up Route-53 outbound resolvers.

      " + } + }, + "com.amazonaws.finspace#DataBundleArn": { + "type": "string", + "traits": { + "smithy.api#documentation": "

      The Amazon Resource Name (ARN) of the data bundle.

      ", + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "^arn:aws:finspace:[A-Za-z0-9_/.-]{0,63}:\\d*:data-bundle/[0-9A-Za-z_-]{1,128}$" + } + }, + "com.amazonaws.finspace#DataBundleArns": { + "type": "list", + "member": { + "target": "com.amazonaws.finspace#DataBundleArn" + } + }, + "com.amazonaws.finspace#DatabaseArn": { + "type": "string" + }, + "com.amazonaws.finspace#DatabaseName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 63 + }, + "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_]*[a-zA-Z0-9]$" + } + }, + "com.amazonaws.finspace#DbPath": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1025 + }, + "smithy.api#pattern": "^(\\*)*[\\/\\?\\*]([^\\/]+\\/){0,2}[^\\/]*$" + } + }, + "com.amazonaws.finspace#DbPaths": { + "type": "list", + "member": { + "target": "com.amazonaws.finspace#DbPath" + } + }, + "com.amazonaws.finspace#DeleteEnvironment": { + "type": "operation", + "input": { + "target": "com.amazonaws.finspace#DeleteEnvironmentRequest" + }, + "output": { + "target": "com.amazonaws.finspace#DeleteEnvironmentResponse" + }, + "errors": [ + { + "target": "com.amazonaws.finspace#AccessDeniedException" + }, + { + "target": "com.amazonaws.finspace#InternalServerException" + }, + { + "target": "com.amazonaws.finspace#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.finspace#ThrottlingException" + }, + { + "target": "com.amazonaws.finspace#ValidationException" + } + ], + "traits": { + "smithy.api#deprecated": { + "message": "This method will be discontinued." + }, + "smithy.api#documentation": "

      Delete an FinSpace environment.

      ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/environment/{environmentId}", + "code": 200 + } + } + }, + "com.amazonaws.finspace#DeleteEnvironmentRequest": { + "type": "structure", + "members": { + "environmentId": { + "target": "com.amazonaws.finspace#IdType", + "traits": { + "smithy.api#documentation": "

      The identifier for the FinSpace environment.

      ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.finspace#DeleteEnvironmentResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.finspace#DeleteKxCluster": { + "type": "operation", + "input": { + "target": "com.amazonaws.finspace#DeleteKxClusterRequest" + }, + "output": { + "target": "com.amazonaws.finspace#DeleteKxClusterResponse" + }, + "errors": [ + { + "target": "com.amazonaws.finspace#AccessDeniedException" + }, + { + "target": "com.amazonaws.finspace#ConflictException" + }, + { + "target": "com.amazonaws.finspace#InternalServerException" + }, + { + "target": "com.amazonaws.finspace#LimitExceededException" + }, + { + "target": "com.amazonaws.finspace#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.finspace#ThrottlingException" + }, + { + "target": "com.amazonaws.finspace#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

      Deletes a kdb cluster.

      ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/kx/environments/{environmentId}/clusters/{clusterName}", + "code": 200 + } + } + }, + "com.amazonaws.finspace#DeleteKxClusterRequest": { + "type": "structure", + "members": { + "environmentId": { + "target": "com.amazonaws.finspace#KxEnvironmentId", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb environment.

      ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "clusterName": { + "target": "com.amazonaws.finspace#KxClusterName", + "traits": { + "smithy.api#documentation": "

      The name of the cluster that you want to delete.

      ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "clientToken": { + "target": "com.amazonaws.finspace#ClientTokenString", + "traits": { + "smithy.api#documentation": "

      A token that ensures idempotency. This token expires in 10 minutes.

      ", + "smithy.api#httpQuery": "clientToken", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.finspace#DeleteKxClusterResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.finspace#DeleteKxDatabase": { + "type": "operation", + "input": { + "target": "com.amazonaws.finspace#DeleteKxDatabaseRequest" + }, + "output": { + "target": "com.amazonaws.finspace#DeleteKxDatabaseResponse" + }, + "errors": [ + { + "target": "com.amazonaws.finspace#AccessDeniedException" + }, + { + "target": "com.amazonaws.finspace#ConflictException" + }, + { + "target": "com.amazonaws.finspace#InternalServerException" + }, + { + "target": "com.amazonaws.finspace#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.finspace#ThrottlingException" + }, + { + "target": "com.amazonaws.finspace#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

      Deletes the specified database and all of its associated data. This action is irreversible. You must copy any data out of the database before deleting it if the data is to be retained.

      ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/kx/environments/{environmentId}/databases/{databaseName}", + "code": 200 + } + } + }, + "com.amazonaws.finspace#DeleteKxDatabaseRequest": { + "type": "structure", + "members": { + "environmentId": { + "target": "com.amazonaws.finspace#EnvironmentId", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb environment.

      ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "databaseName": { + "target": "com.amazonaws.finspace#DatabaseName", + "traits": { + "smithy.api#documentation": "

      The name of the kdb database that you want to delete.

      ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "clientToken": { + "target": "com.amazonaws.finspace#ClientTokenString", + "traits": { + "smithy.api#documentation": "

      A token that ensures idempotency. This token expires in 10 minutes.

      ", + "smithy.api#httpQuery": "clientToken", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.finspace#DeleteKxDatabaseResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.finspace#DeleteKxDataview": { + "type": "operation", + "input": { + "target": "com.amazonaws.finspace#DeleteKxDataviewRequest" + }, + "output": { + "target": "com.amazonaws.finspace#DeleteKxDataviewResponse" + }, + "errors": [ + { + "target": "com.amazonaws.finspace#AccessDeniedException" + }, + { + "target": "com.amazonaws.finspace#ConflictException" + }, + { + "target": "com.amazonaws.finspace#InternalServerException" + }, + { + "target": "com.amazonaws.finspace#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.finspace#ThrottlingException" + }, + { + "target": "com.amazonaws.finspace#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

      \nDeletes the specified dataview. Before deleting a dataview, make sure that it is not in use by any cluster.

      ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/kx/environments/{environmentId}/databases/{databaseName}/dataviews/{dataviewName}", + "code": 200 + } + } + }, + "com.amazonaws.finspace#DeleteKxDataviewRequest": { + "type": "structure", + "members": { + "environmentId": { + "target": "com.amazonaws.finspace#EnvironmentId", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb environment, from where you want to delete the dataview.

      ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "databaseName": { "target": "com.amazonaws.finspace#DatabaseName", "traits": { - "smithy.api#documentation": "

      The name of the kdb database that you want to delete.

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

      The name of the database whose dataview you want to delete.

      ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "dataviewName": { + "target": "com.amazonaws.finspace#KxDataviewName", + "traits": { + "smithy.api#documentation": "

      The name of the dataview that you want to delete.

      ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "clientToken": { + "target": "com.amazonaws.finspace#ClientTokenString", + "traits": { + "smithy.api#documentation": "

      A token that ensures idempotency. This token expires in 10 minutes.

      ", + "smithy.api#httpQuery": "clientToken", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.finspace#DeleteKxDataviewResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.finspace#DeleteKxEnvironment": { + "type": "operation", + "input": { + "target": "com.amazonaws.finspace#DeleteKxEnvironmentRequest" + }, + "output": { + "target": "com.amazonaws.finspace#DeleteKxEnvironmentResponse" + }, + "errors": [ + { + "target": "com.amazonaws.finspace#AccessDeniedException" + }, + { + "target": "com.amazonaws.finspace#ConflictException" + }, + { + "target": "com.amazonaws.finspace#InternalServerException" + }, + { + "target": "com.amazonaws.finspace#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.finspace#ThrottlingException" + }, + { + "target": "com.amazonaws.finspace#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

      Deletes the kdb environment. This action is irreversible. Deleting a kdb environment will remove all the associated data and any services running in it.

      ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/kx/environments/{environmentId}", + "code": 200 + } + } + }, + "com.amazonaws.finspace#DeleteKxEnvironmentRequest": { + "type": "structure", + "members": { + "environmentId": { + "target": "com.amazonaws.finspace#IdType", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb environment.

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, "clientToken": { - "target": "com.amazonaws.finspace#ClientTokenString", + "target": "com.amazonaws.finspace#ClientToken", "traits": { "smithy.api#documentation": "

      A token that ensures idempotency. This token expires in 10 minutes.

      ", "smithy.api#httpQuery": "clientToken", - "smithy.api#idempotencyToken": {}, - "smithy.api#required": {} + "smithy.api#idempotencyToken": {} } } }, @@ -2344,28 +3124,34 @@ "smithy.api#input": {} } }, - "com.amazonaws.finspace#DeleteKxDatabaseResponse": { + "com.amazonaws.finspace#DeleteKxEnvironmentResponse": { "type": "structure", "members": {}, "traits": { "smithy.api#output": {} } }, - "com.amazonaws.finspace#DeleteKxEnvironment": { + "com.amazonaws.finspace#DeleteKxScalingGroup": { "type": "operation", "input": { - "target": "com.amazonaws.finspace#DeleteKxEnvironmentRequest" + "target": "com.amazonaws.finspace#DeleteKxScalingGroupRequest" }, "output": { - "target": "com.amazonaws.finspace#DeleteKxEnvironmentResponse" + "target": "com.amazonaws.finspace#DeleteKxScalingGroupResponse" }, "errors": [ { "target": "com.amazonaws.finspace#AccessDeniedException" }, + { + "target": "com.amazonaws.finspace#ConflictException" + }, { "target": "com.amazonaws.finspace#InternalServerException" }, + { + "target": "com.amazonaws.finspace#LimitExceededException" + }, { "target": "com.amazonaws.finspace#ResourceNotFoundException" }, @@ -2377,31 +3163,47 @@ } ], "traits": { - "smithy.api#documentation": "

      Deletes the kdb environment. This action is irreversible. Deleting a kdb environment will remove all the associated data and any services running in it.

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

      \nDeletes the specified scaling group. This action is irreversible. You cannot delete a scaling group until all the clusters running on it have been deleted.

      ", "smithy.api#http": { "method": "DELETE", - "uri": "/kx/environments/{environmentId}", + "uri": "/kx/environments/{environmentId}/scalingGroups/{scalingGroupName}", "code": 200 } } }, - "com.amazonaws.finspace#DeleteKxEnvironmentRequest": { + "com.amazonaws.finspace#DeleteKxScalingGroupRequest": { "type": "structure", "members": { "environmentId": { - "target": "com.amazonaws.finspace#IdType", + "target": "com.amazonaws.finspace#KxEnvironmentId", "traits": { - "smithy.api#documentation": "

      A unique identifier for the kdb environment.

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

      A unique identifier for the kdb environment, from where you want to delete the dataview.

      ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "scalingGroupName": { + "target": "com.amazonaws.finspace#KxScalingGroupName", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb scaling group.

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } + }, + "clientToken": { + "target": "com.amazonaws.finspace#ClientTokenString", + "traits": { + "smithy.api#documentation": "

      A token that ensures idempotency. This token expires in 10 minutes.

      ", + "smithy.api#httpQuery": "clientToken", + "smithy.api#idempotencyToken": {} + } } }, "traits": { "smithy.api#input": {} } }, - "com.amazonaws.finspace#DeleteKxEnvironmentResponse": { + "com.amazonaws.finspace#DeleteKxScalingGroupResponse": { "type": "structure", "members": {}, "traits": { @@ -2420,6 +3222,9 @@ { "target": "com.amazonaws.finspace#AccessDeniedException" }, + { + "target": "com.amazonaws.finspace#ConflictException" + }, { "target": "com.amazonaws.finspace#InternalServerException" }, @@ -2460,6 +3265,14 @@ "smithy.api#httpLabel": {}, "smithy.api#required": {} } + }, + "clientToken": { + "target": "com.amazonaws.finspace#ClientToken", + "traits": { + "smithy.api#documentation": "

      A token that ensures idempotency. This token expires in 10 minutes.

      ", + "smithy.api#httpQuery": "clientToken", + "smithy.api#idempotencyToken": {} + } } }, "traits": { @@ -2473,6 +3286,85 @@ "smithy.api#output": {} } }, + "com.amazonaws.finspace#DeleteKxVolume": { + "type": "operation", + "input": { + "target": "com.amazonaws.finspace#DeleteKxVolumeRequest" + }, + "output": { + "target": "com.amazonaws.finspace#DeleteKxVolumeResponse" + }, + "errors": [ + { + "target": "com.amazonaws.finspace#AccessDeniedException" + }, + { + "target": "com.amazonaws.finspace#ConflictException" + }, + { + "target": "com.amazonaws.finspace#InternalServerException" + }, + { + "target": "com.amazonaws.finspace#LimitExceededException" + }, + { + "target": "com.amazonaws.finspace#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.finspace#ThrottlingException" + }, + { + "target": "com.amazonaws.finspace#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

      \n Deletes a volume. You can only delete a volume if it's not attached to a cluster or a dataview. When a volume is deleted, any data on the volume is lost. This action is irreversible.\n\n

      ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/kx/environments/{environmentId}/kxvolumes/{volumeName}", + "code": 200 + } + } + }, + "com.amazonaws.finspace#DeleteKxVolumeRequest": { + "type": "structure", + "members": { + "environmentId": { + "target": "com.amazonaws.finspace#KxEnvironmentId", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb environment, whose clusters can attach to the volume.

      ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "volumeName": { + "target": "com.amazonaws.finspace#KxVolumeName", + "traits": { + "smithy.api#documentation": "

      \nThe name of the volume that you want to delete.\n

      ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "clientToken": { + "target": "com.amazonaws.finspace#ClientTokenString", + "traits": { + "smithy.api#documentation": "

      A token that ensures idempotency. This token expires in 10 minutes.

      ", + "smithy.api#httpQuery": "clientToken", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.finspace#DeleteKxVolumeResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.finspace#Description": { "type": "string", "traits": { @@ -2896,7 +3788,7 @@ "min": 20, "max": 2048 }, - "smithy.api#pattern": "^arn:aws:finspace:[A-Za-z0-9_/.-]{0,63}:\\d+:(environment|kxEnvironment)/[0-9A-Za-z_-]{1,128}(/(kxDatabase|kxCluster|kxUser)/[a-zA-Z0-9_-]{1,255})?$" + "smithy.api#pattern": "^arn:aws:finspace:[A-Za-z0-9_/.-]{0,63}:\\d+:(environment|kxEnvironment)/[0-9A-Za-z_-]{1,128}(/(kxCluster|kxUser|kxVolume|kxScalingGroup)/[a-zA-Z0-9_-]{1,255}|/(kxDatabase/[a-zA-Z0-9_-]{1,255}(/kxDataview/[a-zA-Z0-9_-]{1,255})?))?$" } }, "com.amazonaws.finspace#GetEnvironment": { @@ -3179,7 +4071,16 @@ "clusterType": { "target": "com.amazonaws.finspace#KxClusterType", "traits": { - "smithy.api#documentation": "

      Specifies the type of KDB database that is being created. The following types are available:

      \n
        \n
      • \n

        HDB – A Historical Database. The data is only accessible with read-only permissions from one of the FinSpace managed kdb databases mounted to the cluster.

        \n
      • \n
      • \n

        RDB – A Realtime Database. This type of database captures all the data from a ticker plant and stores it in memory until the end of day, after which it writes all of its data to a disk and reloads the HDB. This cluster type requires local storage for temporary storage of data during the savedown process. If you specify this field in your request, you must provide the savedownStorageConfiguration parameter.

        \n
      • \n
      • \n

        GATEWAY – A gateway cluster allows you to access data across processes in kdb systems. It allows you to create your own routing logic using the initialization scripts and custom code. This type of cluster does not require a writable local storage.

        \n
      • \n
      • \n

        GP – A general purpose cluster allows you to quickly iterate on code during development by granting greater access to system commands and enabling a fast reload of custom code. This cluster type can optionally mount databases including cache and savedown storage. For this cluster type, the node count is fixed at 1. It does not support autoscaling and supports only SINGLE AZ mode.

        \n
      • \n
      " + "smithy.api#documentation": "

      Specifies the type of KDB database that is being created. The following types are available:

      \n
        \n
      • \n

        HDB – A Historical Database. The data is only accessible with read-only permissions from one of the FinSpace managed kdb databases mounted to the cluster.

        \n
      • \n
      • \n

        RDB – A Realtime Database. This type of database captures all the data from a ticker plant and stores it in memory until the end of day, after which it writes all of its data to a disk and reloads the HDB. This cluster type requires local storage for temporary storage of data during the savedown process. If you specify this field in your request, you must provide the savedownStorageConfiguration parameter.

        \n
      • \n
      • \n

        GATEWAY – A gateway cluster allows you to access data across processes in kdb systems. It allows you to create your own routing logic using the initialization scripts and custom code. This type of cluster does not require a writable local storage.

        \n
      • \n
      • \n

        GP – A general purpose cluster allows you to quickly iterate on code during development by granting greater access to system commands and enabling a fast reload of custom code. This cluster type can optionally mount databases including cache and savedown storage. For this cluster type, the node count is fixed at 1. It does not support autoscaling and supports only SINGLE AZ mode.

        \n
      • \n
      • \n

        Tickerplant – A tickerplant cluster allows you to subscribe to feed handlers based on IAM permissions. It can publish to RDBs, other Tickerplants, and real-time subscribers (RTS). Tickerplants can persist messages to log, which is readable by any RDB environment. It supports only single-node that is only one kdb process.

        \n
      • \n
      " + } + }, + "tickerplantLogConfiguration": { + "target": "com.amazonaws.finspace#TickerplantLogConfiguration" + }, + "volumes": { + "target": "com.amazonaws.finspace#Volumes", + "traits": { + "smithy.api#documentation": "

      \nA list of volumes attached to the cluster.\n

      " } }, "databases": { @@ -3277,6 +4178,9 @@ "traits": { "smithy.api#documentation": "

      The timestamp at which the cluster was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      " } + }, + "scalingGroupConfiguration": { + "target": "com.amazonaws.finspace#KxScalingGroupConfiguration" } }, "traits": { @@ -3483,8 +4387,167 @@ "numFiles": { "target": "com.amazonaws.finspace#numFiles", "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

      The total number of files in the database.

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

      The total number of files in the database.

      " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.finspace#GetKxDataview": { + "type": "operation", + "input": { + "target": "com.amazonaws.finspace#GetKxDataviewRequest" + }, + "output": { + "target": "com.amazonaws.finspace#GetKxDataviewResponse" + }, + "errors": [ + { + "target": "com.amazonaws.finspace#AccessDeniedException" + }, + { + "target": "com.amazonaws.finspace#InternalServerException" + }, + { + "target": "com.amazonaws.finspace#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.finspace#ThrottlingException" + }, + { + "target": "com.amazonaws.finspace#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

      \nRetrieves details of the dataview.\n

      ", + "smithy.api#http": { + "method": "GET", + "uri": "/kx/environments/{environmentId}/databases/{databaseName}/dataviews/{dataviewName}", + "code": 200 + } + } + }, + "com.amazonaws.finspace#GetKxDataviewRequest": { + "type": "structure", + "members": { + "environmentId": { + "target": "com.amazonaws.finspace#EnvironmentId", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb environment, from where you want to retrieve the dataview details.

      ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "databaseName": { + "target": "com.amazonaws.finspace#DatabaseName", + "traits": { + "smithy.api#documentation": "

      \nThe name of the database where you created the dataview.

      ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "dataviewName": { + "target": "com.amazonaws.finspace#KxDataviewName", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the dataview.

      ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.finspace#GetKxDataviewResponse": { + "type": "structure", + "members": { + "databaseName": { + "target": "com.amazonaws.finspace#DatabaseName", + "traits": { + "smithy.api#documentation": "

      \nThe name of the database where you created the dataview.

      " + } + }, + "dataviewName": { + "target": "com.amazonaws.finspace#KxDataviewName", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the dataview.

      " + } + }, + "azMode": { + "target": "com.amazonaws.finspace#KxAzMode", + "traits": { + "smithy.api#documentation": "

      The number of availability zones you want to assign per cluster. This can be one of the following

      \n
        \n
      • \n

        \n SINGLE – Assigns one availability zone per cluster.

        \n
      • \n
      • \n

        \n MULTI – Assigns all the availability zones per cluster.

        \n
      • \n
      " + } + }, + "availabilityZoneId": { + "target": "com.amazonaws.finspace#AvailabilityZoneId", + "traits": { + "smithy.api#documentation": "

      \n The identifier of the availability zones.\n

      " + } + }, + "changesetId": { + "target": "com.amazonaws.finspace#ChangesetId", + "traits": { + "smithy.api#documentation": "

      \nA unique identifier of the changeset that you want to use to ingest data.

      " + } + }, + "segmentConfigurations": { + "target": "com.amazonaws.finspace#KxDataviewSegmentConfigurationList", + "traits": { + "smithy.api#documentation": "

      \n The configuration that contains the database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume. If you do not explicitly specify any database path for a volume, they are accessible from the cluster through the default S3/object store segment.

      " + } + }, + "activeVersions": { + "target": "com.amazonaws.finspace#KxDataviewActiveVersionList", + "traits": { + "smithy.api#documentation": "

      \n The current active changeset versions of the database on the given dataview. \n \n

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

      A description of the dataview.

      " + } + }, + "autoUpdate": { + "target": "com.amazonaws.finspace#booleanValue", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

      The option to specify whether you want to apply all the future additions and corrections automatically to the dataview when new changesets are ingested. The default value is false.

      " + } + }, + "environmentId": { + "target": "com.amazonaws.finspace#EnvironmentId", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb environment, from where you want to retrieve the dataview details.

      " + } + }, + "createdTimestamp": { + "target": "com.amazonaws.finspace#Timestamp", + "traits": { + "smithy.api#documentation": "

      The timestamp at which the dataview was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      " + } + }, + "lastModifiedTimestamp": { + "target": "com.amazonaws.finspace#Timestamp", + "traits": { + "smithy.api#documentation": "

      \n The last time that the dataview was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.\n

      " + } + }, + "status": { + "target": "com.amazonaws.finspace#KxDataviewStatus", + "traits": { + "smithy.api#documentation": "

      \n The status of dataview creation.

      \n
        \n
      • \n

        \n CREATING – The dataview creation is in progress.

        \n
      • \n
      • \n

        \n UPDATING – The dataview is in the process of being updated.

        \n
      • \n
      • \n

        \n ACTIVE – The dataview is active.

        \n
      • \n
      " + } + }, + "statusReason": { + "target": "com.amazonaws.finspace#KxDataviewStatusReason", + "traits": { + "smithy.api#documentation": "

      \nThe error message when a failed state occurs. \n

      " } } }, @@ -3504,6 +4567,9 @@ { "target": "com.amazonaws.finspace#AccessDeniedException" }, + { + "target": "com.amazonaws.finspace#ConflictException" + }, { "target": "com.amazonaws.finspace#InternalServerException" }, @@ -3646,6 +4712,132 @@ "smithy.api#output": {} } }, + "com.amazonaws.finspace#GetKxScalingGroup": { + "type": "operation", + "input": { + "target": "com.amazonaws.finspace#GetKxScalingGroupRequest" + }, + "output": { + "target": "com.amazonaws.finspace#GetKxScalingGroupResponse" + }, + "errors": [ + { + "target": "com.amazonaws.finspace#AccessDeniedException" + }, + { + "target": "com.amazonaws.finspace#ConflictException" + }, + { + "target": "com.amazonaws.finspace#InternalServerException" + }, + { + "target": "com.amazonaws.finspace#LimitExceededException" + }, + { + "target": "com.amazonaws.finspace#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.finspace#ThrottlingException" + }, + { + "target": "com.amazonaws.finspace#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

      \nRetrieves details of a scaling group.

      ", + "smithy.api#http": { + "method": "GET", + "uri": "/kx/environments/{environmentId}/scalingGroups/{scalingGroupName}", + "code": 200 + } + } + }, + "com.amazonaws.finspace#GetKxScalingGroupRequest": { + "type": "structure", + "members": { + "environmentId": { + "target": "com.amazonaws.finspace#KxEnvironmentId", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb environment.

      ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "scalingGroupName": { + "target": "com.amazonaws.finspace#KxScalingGroupName", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb scaling group.

      ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.finspace#GetKxScalingGroupResponse": { + "type": "structure", + "members": { + "scalingGroupName": { + "target": "com.amazonaws.finspace#KxScalingGroupName", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb scaling group.

      " + } + }, + "scalingGroupArn": { + "target": "com.amazonaws.finspace#arn", + "traits": { + "smithy.api#documentation": "

      \n The ARN identifier for the scaling group.\n

      " + } + }, + "hostType": { + "target": "com.amazonaws.finspace#KxHostType", + "traits": { + "smithy.api#documentation": "

      \n The memory and CPU capabilities of the scaling group host on which FinSpace Managed kdb clusters will be placed.\n \n

      " + } + }, + "clusters": { + "target": "com.amazonaws.finspace#KxClusterNameList", + "traits": { + "smithy.api#documentation": "

      \n The list of Managed kdb clusters that are currently active in the given scaling group.\n \n

      " + } + }, + "availabilityZoneId": { + "target": "com.amazonaws.finspace#AvailabilityZoneId", + "traits": { + "smithy.api#documentation": "

      The identifier of the availability zones.

      " + } + }, + "status": { + "target": "com.amazonaws.finspace#KxScalingGroupStatus", + "traits": { + "smithy.api#documentation": "

      The status of scaling group.

      \n
        \n
      • \n

        CREATING – The scaling group creation is in progress.

        \n
      • \n
      • \n

        CREATE_FAILED – The scaling group creation has failed.

        \n
      • \n
      • \n

        ACTIVE – The scaling group is active.

        \n
      • \n
      • \n

        UPDATING – The scaling group is in the process of being updated.

        \n
      • \n
      • \n

        UPDATE_FAILED – The update action failed.

        \n
      • \n
      • \n

        DELETING – The scaling group is in the process of being deleted.

        \n
      • \n
      • \n

        DELETE_FAILED – The system failed to delete the scaling group.

        \n
      • \n
      • \n

        DELETED – The scaling group is successfully deleted.

        \n
      • \n
      " + } + }, + "statusReason": { + "target": "com.amazonaws.finspace#KxClusterStatusReason", + "traits": { + "smithy.api#documentation": "

      \nThe error message when a failed state occurs. \n

      " + } + }, + "lastModifiedTimestamp": { + "target": "com.amazonaws.finspace#Timestamp", + "traits": { + "smithy.api#documentation": "

      \n The last time that the scaling group was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.\n

      " + } + }, + "createdTimestamp": { + "target": "com.amazonaws.finspace#Timestamp", + "traits": { + "smithy.api#documentation": "

      \n The timestamp at which the scaling group was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.finspace#GetKxUser": { "type": "operation", "input": { @@ -3736,6 +4928,156 @@ "smithy.api#output": {} } }, + "com.amazonaws.finspace#GetKxVolume": { + "type": "operation", + "input": { + "target": "com.amazonaws.finspace#GetKxVolumeRequest" + }, + "output": { + "target": "com.amazonaws.finspace#GetKxVolumeResponse" + }, + "errors": [ + { + "target": "com.amazonaws.finspace#AccessDeniedException" + }, + { + "target": "com.amazonaws.finspace#ConflictException" + }, + { + "target": "com.amazonaws.finspace#InternalServerException" + }, + { + "target": "com.amazonaws.finspace#LimitExceededException" + }, + { + "target": "com.amazonaws.finspace#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.finspace#ThrottlingException" + }, + { + "target": "com.amazonaws.finspace#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

      \nRetrieves the information about the volume.

      ", + "smithy.api#http": { + "method": "GET", + "uri": "/kx/environments/{environmentId}/kxvolumes/{volumeName}", + "code": 200 + } + } + }, + "com.amazonaws.finspace#GetKxVolumeRequest": { + "type": "structure", + "members": { + "environmentId": { + "target": "com.amazonaws.finspace#KxEnvironmentId", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb environment, whose clusters can attach to the volume.

      ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "volumeName": { + "target": "com.amazonaws.finspace#KxVolumeName", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the volume.

      ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.finspace#GetKxVolumeResponse": { + "type": "structure", + "members": { + "environmentId": { + "target": "com.amazonaws.finspace#KxEnvironmentId", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb environment, whose clusters can attach to the volume.

      " + } + }, + "volumeName": { + "target": "com.amazonaws.finspace#KxVolumeName", + "traits": { + "smithy.api#documentation": "

      \nA unique identifier for the volume.

      " + } + }, + "volumeType": { + "target": "com.amazonaws.finspace#KxVolumeType", + "traits": { + "smithy.api#documentation": "

      \n The type of file system volume. Currently, FinSpace only supports NAS_1 volume type.\n

      " + } + }, + "volumeArn": { + "target": "com.amazonaws.finspace#KxVolumeArn", + "traits": { + "smithy.api#documentation": "

      \nThe ARN identifier of the volume.\n

      " + } + }, + "nas1Configuration": { + "target": "com.amazonaws.finspace#KxNAS1Configuration", + "traits": { + "smithy.api#documentation": "

      Specifies the configuration for the Network attached storage (NAS_1) file system volume.

      " + } + }, + "status": { + "target": "com.amazonaws.finspace#KxVolumeStatus", + "traits": { + "smithy.api#documentation": "

      The status of volume creation.

      \n
        \n
      • \n

        CREATING – The volume creation is in progress.

        \n
      • \n
      • \n

        CREATE_FAILED – The volume creation has failed.

        \n
      • \n
      • \n

        ACTIVE – The volume is active.

        \n
      • \n
      • \n

        UPDATING – The volume is in the process of being updated.

        \n
      • \n
      • \n

        UPDATE_FAILED – The update action failed.

        \n
      • \n
      • \n

        UPDATED – The volume is successfully updated.

        \n
      • \n
      • \n

        DELETING – The volume is in the process of being deleted.

        \n
      • \n
      • \n

        DELETE_FAILED – The system failed to delete the volume.

        \n
      • \n
      • \n

        DELETED – The volume is successfully deleted.

        \n
      • \n
      " + } + }, + "statusReason": { + "target": "com.amazonaws.finspace#KxVolumeStatusReason", + "traits": { + "smithy.api#documentation": "

      The error message when a failed state occurs.

      " + } + }, + "createdTimestamp": { + "target": "com.amazonaws.finspace#Timestamp", + "traits": { + "smithy.api#documentation": "

      \nThe timestamp at which the volume was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.\n

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

      \nA description of the volume.\n

      " + } + }, + "azMode": { + "target": "com.amazonaws.finspace#KxAzMode", + "traits": { + "smithy.api#documentation": "

      The number of availability zones you want to assign per cluster. Currently, FinSpace only support SINGLE for volumes.

      " + } + }, + "availabilityZoneIds": { + "target": "com.amazonaws.finspace#AvailabilityZoneIds", + "traits": { + "smithy.api#documentation": "

      The identifier of the availability zones.

      " + } + }, + "lastModifiedTimestamp": { + "target": "com.amazonaws.finspace#Timestamp", + "traits": { + "smithy.api#documentation": "

      The last time that the volume was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      " + } + }, + "attachedClusters": { + "target": "com.amazonaws.finspace#KxAttachedClusters", + "traits": { + "smithy.api#documentation": "

      \nA list of cluster identifiers that a volume is attached to. \n

      " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.finspace#IPAddressType": { "type": "enum", "members": { @@ -3843,6 +5185,38 @@ "smithy.api#pattern": "^[a-zA-Z-0-9-:\\/]*$" } }, + "com.amazonaws.finspace#KxAttachedCluster": { + "type": "structure", + "members": { + "clusterName": { + "target": "com.amazonaws.finspace#KxClusterName", + "traits": { + "smithy.api#documentation": "

      A unique name for the attached cluster.

      " + } + }, + "clusterType": { + "target": "com.amazonaws.finspace#KxClusterType", + "traits": { + "smithy.api#documentation": "

      Specifies the type of cluster. The volume for TP and RDB cluster types will be used for TP logs.

      " + } + }, + "clusterStatus": { + "target": "com.amazonaws.finspace#KxClusterStatus", + "traits": { + "smithy.api#documentation": "

      The status of the attached cluster.

      \n
        \n
      • \n

        PENDING – The cluster is pending creation.

        \n
      • \n
      • \n

        CREATING – The cluster creation process is in progress.

        \n
      • \n
      • \n

        CREATE_FAILED – The cluster creation process has failed.

        \n
      • \n
      • \n

        RUNNING – The cluster creation process is running.

        \n
      • \n
      • \n

        UPDATING – The cluster is in the process of being updated.

        \n
      • \n
      • \n

        DELETING – The cluster is in the process of being deleted.

        \n
      • \n
      • \n

        DELETED – The cluster has been deleted.

        \n
      • \n
      • \n

        DELETE_FAILED – The cluster failed to delete.

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

      The structure containing the metadata of the attached clusters.

      " + } + }, + "com.amazonaws.finspace#KxAttachedClusters": { + "type": "list", + "member": { + "target": "com.amazonaws.finspace#KxAttachedCluster" + } + }, "com.amazonaws.finspace#KxAzMode": { "type": "enum", "members": { @@ -3889,13 +5263,7 @@ } }, "com.amazonaws.finspace#KxCacheStorageSize": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 1200, - "max": 33600 - } - } + "type": "integer" }, "com.amazonaws.finspace#KxCacheStorageType": { "type": "string", @@ -3974,7 +5342,7 @@ "clusterType": { "target": "com.amazonaws.finspace#KxClusterType", "traits": { - "smithy.api#documentation": "

      Specifies the type of KDB database that is being created. The following types are available:

      \n
        \n
      • \n

        HDB – A Historical Database. The data is only accessible with read-only permissions from one of the FinSpace managed kdb databases mounted to the cluster.

        \n
      • \n
      • \n

        RDB – A Realtime Database. This type of database captures all the data from a ticker plant and stores it in memory until the end of day, after which it writes all of its data to a disk and reloads the HDB. This cluster type requires local storage for temporary storage of data during the savedown process. If you specify this field in your request, you must provide the savedownStorageConfiguration parameter.

        \n
      • \n
      • \n

        GATEWAY – A gateway cluster allows you to access data across processes in kdb systems. It allows you to create your own routing logic using the initialization scripts and custom code. This type of cluster does not require a writable local storage.

        \n
      • \n
      • \n

        GP – A general purpose cluster allows you to quickly iterate on code during development by granting greater access to system commands and enabling a fast reload of custom code. This cluster type can optionally mount databases including cache and savedown storage. For this cluster type, the node count is fixed at 1. It does not support autoscaling and supports only SINGLE AZ mode.

        \n
      • \n
      " + "smithy.api#documentation": "

      Specifies the type of KDB database that is being created. The following types are available:

      \n
        \n
      • \n

        HDB – A Historical Database. The data is only accessible with read-only permissions from one of the FinSpace managed kdb databases mounted to the cluster.

        \n
      • \n
      • \n

        RDB – A Realtime Database. This type of database captures all the data from a ticker plant and stores it in memory until the end of day, after which it writes all of its data to a disk and reloads the HDB. This cluster type requires local storage for temporary storage of data during the savedown process. If you specify this field in your request, you must provide the savedownStorageConfiguration parameter.

        \n
      • \n
      • \n

        GATEWAY – A gateway cluster allows you to access data across processes in kdb systems. It allows you to create your own routing logic using the initialization scripts and custom code. This type of cluster does not require a writable local storage.

        \n
      • \n
      • \n

        GP – A general purpose cluster allows you to quickly iterate on code during development by granting greater access to system commands and enabling a fast reload of custom code. This cluster type can optionally mount databases including cache and savedown storage. For this cluster type, the node count is fixed at 1. It does not support autoscaling and supports only SINGLE AZ mode.

        \n
      • \n
      • \n

        Tickerplant – A tickerplant cluster allows you to subscribe to feed handlers based on IAM permissions. It can publish to RDBs, other Tickerplants, and real-time subscribers (RTS). Tickerplants can persist messages to log, which is readable by any RDB environment. It supports only single-node that is only one kdb process.

        \n
      • \n
      " } }, "clusterDescription": { @@ -3989,6 +5357,12 @@ "smithy.api#documentation": "

      A version of the FinSpace managed kdb to run.

      " } }, + "volumes": { + "target": "com.amazonaws.finspace#Volumes", + "traits": { + "smithy.api#documentation": "

      \nA list of volumes attached to the cluster.\n

      " + } + }, "initializationScript": { "target": "com.amazonaws.finspace#InitializationScriptFilePath", "traits": { @@ -4088,6 +5462,12 @@ "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_]*[a-zA-Z0-9]$" } }, + "com.amazonaws.finspace#KxClusterNameList": { + "type": "list", + "member": { + "target": "com.amazonaws.finspace#KxClusterName" + } + }, "com.amazonaws.finspace#KxClusterNodeIdString": { "type": "string", "traits": { @@ -4186,6 +5566,12 @@ "traits": { "smithy.api#enumValue": "GP" } + }, + "TICKERPLANT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TICKERPLANT" + } } } }, @@ -4257,6 +5643,12 @@ "smithy.api#documentation": "

      Specifies the portions of database that will be loaded into the cache for access.

      ", "smithy.api#required": {} } + }, + "dataviewName": { + "target": "com.amazonaws.finspace#KxDataviewName", + "traits": { + "smithy.api#documentation": "

      \n The name of the dataview to be used for caching historical data on disk.\n \n

      " + } } }, "traits": { @@ -4290,6 +5682,18 @@ "traits": { "smithy.api#documentation": "

      A unique identifier of the changeset that is associated with the cluster.

      " } + }, + "dataviewName": { + "target": "com.amazonaws.finspace#KxDataviewName", + "traits": { + "smithy.api#documentation": "

      \n The name of the dataview to be used for caching historical data on disk.\n \n

      " + } + }, + "dataviewConfiguration": { + "target": "com.amazonaws.finspace#KxDataviewConfiguration", + "traits": { + "smithy.api#documentation": "

      \n The configuration of the dataview to be used with specified cluster.\n \n

      " + } } }, "traits": { @@ -4334,6 +5738,270 @@ "target": "com.amazonaws.finspace#KxDatabaseListEntry" } }, + "com.amazonaws.finspace#KxDataviewActiveVersion": { + "type": "structure", + "members": { + "changesetId": { + "target": "com.amazonaws.finspace#ChangesetId", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the changeset.

      " + } + }, + "segmentConfigurations": { + "target": "com.amazonaws.finspace#KxDataviewSegmentConfigurationList", + "traits": { + "smithy.api#documentation": "

      \n The configuration that contains the database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume. If you do not explicitly specify any database path for a volume, they are accessible from the cluster through the default S3/object store segment.

      " + } + }, + "attachedClusters": { + "target": "com.amazonaws.finspace#AttachedClusterList", + "traits": { + "smithy.api#documentation": "

      \n The list of clusters that are currently using this dataview.\n \n

      " + } + }, + "createdTimestamp": { + "target": "com.amazonaws.finspace#Timestamp", + "traits": { + "smithy.api#documentation": "

      \nThe timestamp at which the dataview version was active. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      " + } + }, + "versionId": { + "target": "com.amazonaws.finspace#VersionId", + "traits": { + "smithy.api#documentation": "

      \nA unique identifier of the active version.

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

      \n The active version of the dataview that is currently in use by this cluster.\n \n

      " + } + }, + "com.amazonaws.finspace#KxDataviewActiveVersionList": { + "type": "list", + "member": { + "target": "com.amazonaws.finspace#KxDataviewActiveVersion" + } + }, + "com.amazonaws.finspace#KxDataviewConfiguration": { + "type": "structure", + "members": { + "dataviewName": { + "target": "com.amazonaws.finspace#KxDataviewName", + "traits": { + "smithy.api#documentation": "

      \nThe unique identifier of the dataview.

      " + } + }, + "dataviewVersionId": { + "target": "com.amazonaws.finspace#VersionId", + "traits": { + "smithy.api#documentation": "

      \n The version of the dataview corresponding to a given changeset.\n \n

      " + } + }, + "changesetId": { + "target": "com.amazonaws.finspace#ChangesetId", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the changeset.

      " + } + }, + "segmentConfigurations": { + "target": "com.amazonaws.finspace#KxDataviewSegmentConfigurationList", + "traits": { + "smithy.api#documentation": "

      \nThe db path and volume configuration for the segmented database.

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

      \nThe structure that stores the configuration details of a dataview.

      " + } + }, + "com.amazonaws.finspace#KxDataviewListEntry": { + "type": "structure", + "members": { + "environmentId": { + "target": "com.amazonaws.finspace#EnvironmentId", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb environment.

      " + } + }, + "databaseName": { + "target": "com.amazonaws.finspace#DatabaseName", + "traits": { + "smithy.api#documentation": "

      \nA unique identifier of the database.

      " + } + }, + "dataviewName": { + "target": "com.amazonaws.finspace#KxDataviewName", + "traits": { + "smithy.api#documentation": "

      \nA unique identifier of the dataview.

      " + } + }, + "azMode": { + "target": "com.amazonaws.finspace#KxAzMode", + "traits": { + "smithy.api#documentation": "

      The number of availability zones you want to assign per cluster. This can be one of the following

      \n
        \n
      • \n

        \n SINGLE – Assigns one availability zone per cluster.

        \n
      • \n
      • \n

        \n MULTI – Assigns all the availability zones per cluster.

        \n
      • \n
      " + } + }, + "availabilityZoneId": { + "target": "com.amazonaws.finspace#AvailabilityZoneId", + "traits": { + "smithy.api#documentation": "

      \n The identifier of the availability zones.\n

      " + } + }, + "changesetId": { + "target": "com.amazonaws.finspace#ChangesetId", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the changeset.

      " + } + }, + "segmentConfigurations": { + "target": "com.amazonaws.finspace#KxDataviewSegmentConfigurationList", + "traits": { + "smithy.api#documentation": "

      \n The configuration that contains the database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume. If you do not explicitly specify any database path for a volume, they are accessible from the cluster through the default S3/object store segment.

      " + } + }, + "activeVersions": { + "target": "com.amazonaws.finspace#KxDataviewActiveVersionList", + "traits": { + "smithy.api#documentation": "

      \n The active changeset versions for the given dataview entry.\n \n

      " + } + }, + "status": { + "target": "com.amazonaws.finspace#KxDataviewStatus", + "traits": { + "smithy.api#documentation": "

      \n The status of a given dataview entry.\n \n

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

      \nA description for the dataview list entry.

      " + } + }, + "autoUpdate": { + "target": "com.amazonaws.finspace#booleanValue", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

      \n The option to specify whether you want to apply all the future additions and corrections automatically to the dataview when you ingest new changesets. The default value is false.\n

      " + } + }, + "createdTimestamp": { + "target": "com.amazonaws.finspace#Timestamp", + "traits": { + "smithy.api#documentation": "

      \nThe timestamp at which the dataview list entry was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      " + } + }, + "lastModifiedTimestamp": { + "target": "com.amazonaws.finspace#Timestamp", + "traits": { + "smithy.api#documentation": "

      The last time that the dataview list was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      " + } + }, + "statusReason": { + "target": "com.amazonaws.finspace#KxDataviewStatusReason", + "traits": { + "smithy.api#documentation": "

      \nThe error message when a failed state occurs. \n

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

      \n A collection of kdb dataview entries.\n \n

      " + } + }, + "com.amazonaws.finspace#KxDataviewName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 63 + }, + "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_]*[a-zA-Z0-9]$" + } + }, + "com.amazonaws.finspace#KxDataviewSegmentConfiguration": { + "type": "structure", + "members": { + "dbPaths": { + "target": "com.amazonaws.finspace#SegmentConfigurationDbPathList", + "traits": { + "smithy.api#documentation": "

      \nThe database path of the data that you want to place on each selected volume for the segment. Each segment must have a unique database path for each volume.

      ", + "smithy.api#required": {} + } + }, + "volumeName": { + "target": "com.amazonaws.finspace#KxVolumeName", + "traits": { + "smithy.api#documentation": "

      \nThe name of the volume where you want to add data.

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

      \n The configuration that contains the database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume. If you do not explicitly specify any database path for a volume, they are accessible from the cluster through the default S3/object store segment.

      " + } + }, + "com.amazonaws.finspace#KxDataviewSegmentConfigurationList": { + "type": "list", + "member": { + "target": "com.amazonaws.finspace#KxDataviewSegmentConfiguration" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + } + } + }, + "com.amazonaws.finspace#KxDataviewStatus": { + "type": "enum", + "members": { + "CREATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATING" + } + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "UPDATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATING" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + }, + "DELETING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETING" + } + } + } + }, + "com.amazonaws.finspace#KxDataviewStatusReason": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 250 + }, + "smithy.api#pattern": "^[a-zA-Z0-9\\_\\-\\.\\s]+$" + } + }, + "com.amazonaws.finspace#KxDataviews": { + "type": "list", + "member": { + "target": "com.amazonaws.finspace#KxDataviewListEntry" + } + }, "com.amazonaws.finspace#KxDeploymentConfiguration": { "type": "structure", "members": { @@ -4502,6 +6170,68 @@ "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_]*[a-zA-Z0-9]$" } }, + "com.amazonaws.finspace#KxHostType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 32 + }, + "smithy.api#pattern": "^[a-zA-Z0-9._]+$" + } + }, + "com.amazonaws.finspace#KxNAS1Configuration": { + "type": "structure", + "members": { + "type": { + "target": "com.amazonaws.finspace#KxNAS1Type", + "traits": { + "smithy.api#documentation": "

      \nThe type of the network attached storage.\n

      " + } + }, + "size": { + "target": "com.amazonaws.finspace#KxNAS1Size", + "traits": { + "smithy.api#documentation": "

      \nThe size of the network attached storage.

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

      \n The structure containing the size and type of the network attached storage (NAS_1) file system volume.\n

      " + } + }, + "com.amazonaws.finspace#KxNAS1Size": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1200, + "max": 33600 + } + } + }, + "com.amazonaws.finspace#KxNAS1Type": { + "type": "enum", + "members": { + "SSD_1000": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SSD_1000" + } + }, + "SSD_250": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SSD_250" + } + }, + "HDD_12": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HDD_12" + } + } + } + }, "com.amazonaws.finspace#KxNode": { "type": "structure", "members": { @@ -4540,15 +6270,19 @@ "type": { "target": "com.amazonaws.finspace#KxSavedownStorageType", "traits": { - "smithy.api#documentation": "

      The type of writeable storage space for temporarily storing your savedown data. The valid values are:

      \n
        \n
      • \n

        SDS01 – This type represents 3000 IOPS and io2 ebs volume type.

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

      The type of writeable storage space for temporarily storing your savedown data. The valid values are:

      \n
        \n
      • \n

        SDS01 – This type represents 3000 IOPS and io2 ebs volume type.

        \n
      • \n
      " } }, "size": { "target": "com.amazonaws.finspace#KxSavedownStorageSize", "traits": { - "smithy.api#documentation": "

      The size of temporary storage in gibibytes.

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

      The size of temporary storage in gibibytes.

      " + } + }, + "volumeName": { + "target": "com.amazonaws.finspace#KxVolumeName", + "traits": { + "smithy.api#documentation": "

      \n The name of the kdb volume that you want to use as writeable save-down storage for clusters.\n \n

      " } } }, @@ -4560,7 +6294,7 @@ "type": "integer", "traits": { "smithy.api#range": { - "min": 4, + "min": 10, "max": 16000 } } @@ -4576,6 +6310,160 @@ } } }, + "com.amazonaws.finspace#KxScalingGroup": { + "type": "structure", + "members": { + "scalingGroupName": { + "target": "com.amazonaws.finspace#KxScalingGroupName", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb scaling group.

      " + } + }, + "hostType": { + "target": "com.amazonaws.finspace#KxHostType", + "traits": { + "smithy.api#documentation": "

      \n The memory and CPU capabilities of the scaling group host on which FinSpace Managed kdb clusters will be placed.\n \n

      " + } + }, + "clusters": { + "target": "com.amazonaws.finspace#KxClusterNameList", + "traits": { + "smithy.api#documentation": "

      \n The list of clusters currently active in a given scaling group.\n \n

      " + } + }, + "availabilityZoneId": { + "target": "com.amazonaws.finspace#AvailabilityZoneId", + "traits": { + "smithy.api#documentation": "

      The identifier of the availability zones.

      " + } + }, + "status": { + "target": "com.amazonaws.finspace#KxScalingGroupStatus", + "traits": { + "smithy.api#documentation": "

      \nThe status of scaling groups.\n

      " + } + }, + "statusReason": { + "target": "com.amazonaws.finspace#KxClusterStatusReason", + "traits": { + "smithy.api#documentation": "

      \nThe error message when a failed state occurs. \n

      " + } + }, + "lastModifiedTimestamp": { + "target": "com.amazonaws.finspace#Timestamp", + "traits": { + "smithy.api#documentation": "

      \n The last time that the scaling group was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.\n

      " + } + }, + "createdTimestamp": { + "target": "com.amazonaws.finspace#Timestamp", + "traits": { + "smithy.api#documentation": "

      \n The timestamp at which the scaling group was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.\n

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

      \nA structure for storing metadata of scaling group.

      " + } + }, + "com.amazonaws.finspace#KxScalingGroupConfiguration": { + "type": "structure", + "members": { + "scalingGroupName": { + "target": "com.amazonaws.finspace#KxScalingGroupName", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb scaling group.

      ", + "smithy.api#required": {} + } + }, + "memoryLimit": { + "target": "com.amazonaws.finspace#MemoryMib", + "traits": { + "smithy.api#documentation": "

      \n An optional hard limit on the amount of memory a kdb cluster can use.\n \n

      " + } + }, + "memoryReservation": { + "target": "com.amazonaws.finspace#MemoryMib", + "traits": { + "smithy.api#documentation": "

      \n A reservation of the minimum amount of memory that should be available on the scaling group for a kdb cluster to be successfully placed in a scaling group. \n \n

      ", + "smithy.api#required": {} + } + }, + "nodeCount": { + "target": "com.amazonaws.finspace#ClusterNodeCount", + "traits": { + "smithy.api#documentation": "

      \n The number of kdb cluster nodes.\n \n

      ", + "smithy.api#required": {} + } + }, + "cpu": { + "target": "com.amazonaws.finspace#CpuCount", + "traits": { + "smithy.api#documentation": "

      \n The number of vCPUs that you want to reserve for each node of this kdb cluster on the scaling group host.\n \n

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

      The structure that stores the capacity configuration details of a scaling group.

      " + } + }, + "com.amazonaws.finspace#KxScalingGroupList": { + "type": "list", + "member": { + "target": "com.amazonaws.finspace#KxScalingGroup" + } + }, + "com.amazonaws.finspace#KxScalingGroupName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 63 + }, + "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_]*[a-zA-Z0-9]$" + } + }, + "com.amazonaws.finspace#KxScalingGroupStatus": { + "type": "enum", + "members": { + "CREATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATING" + } + }, + "CREATE_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATE_FAILED" + } + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "DELETING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETING" + } + }, + "DELETED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETED" + } + }, + "DELETE_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETE_FAILED" + } + } + } + }, "com.amazonaws.finspace#KxUser": { "type": "structure", "members": { @@ -4640,6 +6528,174 @@ "smithy.api#pattern": "^[0-9A-Za-z_-]{1,50}$" } }, + "com.amazonaws.finspace#KxVolume": { + "type": "structure", + "members": { + "volumeName": { + "target": "com.amazonaws.finspace#KxVolumeName", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the volume.

      " + } + }, + "volumeType": { + "target": "com.amazonaws.finspace#KxVolumeType", + "traits": { + "smithy.api#documentation": "

      \n The type of file system volume. Currently, FinSpace only supports NAS_1 volume type.\n

      " + } + }, + "status": { + "target": "com.amazonaws.finspace#KxVolumeStatus", + "traits": { + "smithy.api#documentation": "

      The status of volume.

      \n
        \n
      • \n

        CREATING – The volume creation is in progress.

        \n
      • \n
      • \n

        CREATE_FAILED – The volume creation has failed.

        \n
      • \n
      • \n

        ACTIVE – The volume is active.

        \n
      • \n
      • \n

        UPDATING – The volume is in the process of being updated.

        \n
      • \n
      • \n

        UPDATE_FAILED – The update action failed.

        \n
      • \n
      • \n

        UPDATED – The volume is successfully updated.

        \n
      • \n
      • \n

        DELETING – The volume is in the process of being deleted.

        \n
      • \n
      • \n

        DELETE_FAILED – The system failed to delete the volume.

        \n
      • \n
      • \n

        DELETED – The volume is successfully deleted.

        \n
      • \n
      " + } + }, + "description": { + "target": "com.amazonaws.finspace#Description", + "traits": { + "smithy.api#documentation": "

      \nA description of the volume.\n

      " + } + }, + "statusReason": { + "target": "com.amazonaws.finspace#KxVolumeStatusReason", + "traits": { + "smithy.api#documentation": "

      The error message when a failed state occurs.

      " + } + }, + "azMode": { + "target": "com.amazonaws.finspace#KxAzMode", + "traits": { + "smithy.api#documentation": "

      \nThe number of availability zones assigned to the volume. Currently, only SINGLE is supported.\n

      " + } + }, + "availabilityZoneIds": { + "target": "com.amazonaws.finspace#AvailabilityZoneIds", + "traits": { + "smithy.api#documentation": "

      The identifier of the availability zones.

      " + } + }, + "createdTimestamp": { + "target": "com.amazonaws.finspace#Timestamp", + "traits": { + "smithy.api#documentation": "

      \nThe timestamp at which the volume was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      " + } + }, + "lastModifiedTimestamp": { + "target": "com.amazonaws.finspace#Timestamp", + "traits": { + "smithy.api#documentation": "

      The last time that the volume was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

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

      \nThe structure that contains the metadata of the volume.\n

      " + } + }, + "com.amazonaws.finspace#KxVolumeArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "^arn:aws:finspace:[A-Za-z0-9_/.-]{0,63}:\\d+:kxEnvironment/[0-9A-Za-z_-]{1,128}(/kxSharedVolume/[a-zA-Z0-9_-]{1,255})?$" + } + }, + "com.amazonaws.finspace#KxVolumeName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 63 + }, + "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_]*[a-zA-Z0-9]$" + } + }, + "com.amazonaws.finspace#KxVolumeStatus": { + "type": "enum", + "members": { + "CREATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATING" + } + }, + "CREATE_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATE_FAILED" + } + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "UPDATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATING" + } + }, + "UPDATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATED" + } + }, + "UPDATE_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATE_FAILED" + } + }, + "DELETING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETING" + } + }, + "DELETED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETED" + } + }, + "DELETE_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETE_FAILED" + } + } + } + }, + "com.amazonaws.finspace#KxVolumeStatusReason": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 250 + }, + "smithy.api#pattern": "^[a-zA-Z0-9\\_\\-\\.\\s]+$" + } + }, + "com.amazonaws.finspace#KxVolumeType": { + "type": "enum", + "members": { + "NAS_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NAS_1" + } + } + } + }, + "com.amazonaws.finspace#KxVolumes": { + "type": "list", + "member": { + "target": "com.amazonaws.finspace#KxVolume" + } + }, "com.amazonaws.finspace#LimitExceededException": { "type": "structure", "members": { @@ -4662,6 +6718,9 @@ "target": "com.amazonaws.finspace#ListEnvironmentsResponse" }, "errors": [ + { + "target": "com.amazonaws.finspace#AccessDeniedException" + }, { "target": "com.amazonaws.finspace#InternalServerException" }, @@ -4977,7 +7036,7 @@ "clusterType": { "target": "com.amazonaws.finspace#KxClusterType", "traits": { - "smithy.api#documentation": "

      Specifies the type of KDB database that is being created. The following types are available:

      \n
        \n
      • \n

        HDB – A Historical Database. The data is only accessible with read-only permissions from one of the FinSpace managed kdb databases mounted to the cluster.

        \n
      • \n
      • \n

        RDB – A Realtime Database. This type of database captures all the data from a ticker plant and stores it in memory until the end of day, after which it writes all of its data to a disk and reloads the HDB. This cluster type requires local storage for temporary storage of data during the savedown process. If you specify this field in your request, you must provide the savedownStorageConfiguration parameter.

        \n
      • \n
      • \n

        GATEWAY – A gateway cluster allows you to access data across processes in kdb systems. It allows you to create your own routing logic using the initialization scripts and custom code. This type of cluster does not require a writable local storage.

        \n
      • \n
      • \n

        GP – A general purpose cluster allows you to quickly iterate on code during development by granting greater access to system commands and enabling a fast reload of custom code. This cluster type can optionally mount databases including cache and savedown storage. For this cluster type, the node count is fixed at 1. It does not support autoscaling and supports only SINGLE AZ mode.

        \n
      • \n
      ", + "smithy.api#documentation": "

      Specifies the type of KDB database that is being created. The following types are available:

      \n
        \n
      • \n

        HDB – A Historical Database. The data is only accessible with read-only permissions from one of the FinSpace managed kdb databases mounted to the cluster.

        \n
      • \n
      • \n

        RDB – A Realtime Database. This type of database captures all the data from a ticker plant and stores it in memory until the end of day, after which it writes all of its data to a disk and reloads the HDB. This cluster type requires local storage for temporary storage of data during the savedown process. If you specify this field in your request, you must provide the savedownStorageConfiguration parameter.

        \n
      • \n
      • \n

        GATEWAY – A gateway cluster allows you to access data across processes in kdb systems. It allows you to create your own routing logic using the initialization scripts and custom code. This type of cluster does not require a writable local storage.

        \n
      • \n
      • \n

        GP – A general purpose cluster allows you to quickly iterate on code during development by granting greater access to system commands and enabling a fast reload of custom code. This cluster type can optionally mount databases including cache and savedown storage. For this cluster type, the node count is fixed at 1. It does not support autoscaling and supports only SINGLE AZ mode.

        \n
      • \n
      • \n

        Tickerplant – A tickerplant cluster allows you to subscribe to feed handlers based on IAM permissions. It can publish to RDBs, other Tickerplants, and real-time subscribers (RTS). Tickerplants can persist messages to log, which is readable by any RDB environment. It supports only single-node that is only one kdb process.

        \n
      • \n
      ", "smithy.api#httpQuery": "clusterType" } }, @@ -4992,8 +7051,272 @@ "nextToken": { "target": "com.amazonaws.finspace#PaginationToken", "traits": { - "smithy.api#documentation": "

      A token that indicates where a results page should begin.

      ", - "smithy.api#httpQuery": "nextToken" + "smithy.api#documentation": "

      A token that indicates where a results page should begin.

      ", + "smithy.api#httpQuery": "nextToken" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.finspace#ListKxClustersResponse": { + "type": "structure", + "members": { + "kxClusterSummaries": { + "target": "com.amazonaws.finspace#KxClusters", + "traits": { + "smithy.api#documentation": "

      Lists the cluster details.

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

      A token that indicates where a results page should begin.

      " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.finspace#ListKxDatabases": { + "type": "operation", + "input": { + "target": "com.amazonaws.finspace#ListKxDatabasesRequest" + }, + "output": { + "target": "com.amazonaws.finspace#ListKxDatabasesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.finspace#AccessDeniedException" + }, + { + "target": "com.amazonaws.finspace#InternalServerException" + }, + { + "target": "com.amazonaws.finspace#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.finspace#ThrottlingException" + }, + { + "target": "com.amazonaws.finspace#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

      Returns a list of all the databases in the kdb environment.

      ", + "smithy.api#http": { + "method": "GET", + "uri": "/kx/environments/{environmentId}/databases", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults" + } + } + }, + "com.amazonaws.finspace#ListKxDatabasesRequest": { + "type": "structure", + "members": { + "environmentId": { + "target": "com.amazonaws.finspace#EnvironmentId", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb environment.

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

      A token that indicates where a results page should begin.

      ", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "com.amazonaws.finspace#MaxResults", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

      The maximum number of results to return in this request.

      ", + "smithy.api#httpQuery": "maxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.finspace#ListKxDatabasesResponse": { + "type": "structure", + "members": { + "kxDatabases": { + "target": "com.amazonaws.finspace#KxDatabases", + "traits": { + "smithy.api#documentation": "

      A list of databases in the kdb environment.

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

      A token that indicates where a results page should begin.

      " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.finspace#ListKxDataviews": { + "type": "operation", + "input": { + "target": "com.amazonaws.finspace#ListKxDataviewsRequest" + }, + "output": { + "target": "com.amazonaws.finspace#ListKxDataviewsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.finspace#AccessDeniedException" + }, + { + "target": "com.amazonaws.finspace#InternalServerException" + }, + { + "target": "com.amazonaws.finspace#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.finspace#ThrottlingException" + }, + { + "target": "com.amazonaws.finspace#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

      \nReturns a list of all the dataviews in the database.

      ", + "smithy.api#http": { + "method": "GET", + "uri": "/kx/environments/{environmentId}/databases/{databaseName}/dataviews", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults" + } + } + }, + "com.amazonaws.finspace#ListKxDataviewsRequest": { + "type": "structure", + "members": { + "environmentId": { + "target": "com.amazonaws.finspace#EnvironmentId", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb environment, for which you want to retrieve a list of dataviews.

      ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "databaseName": { + "target": "com.amazonaws.finspace#DatabaseName", + "traits": { + "smithy.api#documentation": "

      \nThe name of the database where the dataviews were created.

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

      \nA token that indicates where a results page should begin.\n

      ", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "com.amazonaws.finspace#MaxResults", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

      The maximum number of results to return in this request.

      ", + "smithy.api#httpQuery": "maxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.finspace#ListKxDataviewsResponse": { + "type": "structure", + "members": { + "kxDataviews": { + "target": "com.amazonaws.finspace#KxDataviews", + "traits": { + "smithy.api#documentation": "

      \n The list of kdb dataviews that are currently active for the given database.\n

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

      \nA token that indicates where a results page should begin.

      " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.finspace#ListKxEnvironments": { + "type": "operation", + "input": { + "target": "com.amazonaws.finspace#ListKxEnvironmentsRequest" + }, + "output": { + "target": "com.amazonaws.finspace#ListKxEnvironmentsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.finspace#AccessDeniedException" + }, + { + "target": "com.amazonaws.finspace#InternalServerException" + }, + { + "target": "com.amazonaws.finspace#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

      Returns a list of kdb environments created in an account.

      ", + "smithy.api#http": { + "method": "GET", + "uri": "/kx/environments", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "items": "environments", + "pageSize": "maxResults" + } + } + }, + "com.amazonaws.finspace#ListKxEnvironmentsRequest": { + "type": "structure", + "members": { + "nextToken": { + "target": "com.amazonaws.finspace#PaginationToken", + "traits": { + "smithy.api#documentation": "

      A token that indicates where a results page should begin.

      ", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "com.amazonaws.finspace#BoxedInteger", + "traits": { + "smithy.api#documentation": "

      The maximum number of results to return in this request.

      ", + "smithy.api#httpQuery": "maxResults" } } }, @@ -5001,13 +7324,13 @@ "smithy.api#input": {} } }, - "com.amazonaws.finspace#ListKxClustersResponse": { + "com.amazonaws.finspace#ListKxEnvironmentsResponse": { "type": "structure", "members": { - "kxClusterSummaries": { - "target": "com.amazonaws.finspace#KxClusters", + "environments": { + "target": "com.amazonaws.finspace#KxEnvironmentList", "traits": { - "smithy.api#documentation": "

      Lists the cluster details.

      " + "smithy.api#documentation": "

      A list of environments in an account.

      " } }, "nextToken": { @@ -5021,21 +7344,27 @@ "smithy.api#output": {} } }, - "com.amazonaws.finspace#ListKxDatabases": { + "com.amazonaws.finspace#ListKxScalingGroups": { "type": "operation", "input": { - "target": "com.amazonaws.finspace#ListKxDatabasesRequest" + "target": "com.amazonaws.finspace#ListKxScalingGroupsRequest" }, "output": { - "target": "com.amazonaws.finspace#ListKxDatabasesResponse" + "target": "com.amazonaws.finspace#ListKxScalingGroupsResponse" }, "errors": [ { "target": "com.amazonaws.finspace#AccessDeniedException" }, + { + "target": "com.amazonaws.finspace#ConflictException" + }, { "target": "com.amazonaws.finspace#InternalServerException" }, + { + "target": "com.amazonaws.finspace#LimitExceededException" + }, { "target": "com.amazonaws.finspace#ResourceNotFoundException" }, @@ -5047,10 +7376,10 @@ } ], "traits": { - "smithy.api#documentation": "

      Returns a list of all the databases in the kdb environment.

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

      \nReturns a list of scaling groups in a kdb environment.

      ", "smithy.api#http": { "method": "GET", - "uri": "/kx/environments/{environmentId}/databases", + "uri": "/kx/environments/{environmentId}/scalingGroups", "code": 200 }, "smithy.api#paginated": { @@ -5060,24 +7389,17 @@ } } }, - "com.amazonaws.finspace#ListKxDatabasesRequest": { + "com.amazonaws.finspace#ListKxScalingGroupsRequest": { "type": "structure", "members": { "environmentId": { - "target": "com.amazonaws.finspace#EnvironmentId", + "target": "com.amazonaws.finspace#KxEnvironmentId", "traits": { - "smithy.api#documentation": "

      A unique identifier for the kdb environment.

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

      A unique identifier for the kdb environment, for which you want to retrieve a list of scaling groups.

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "nextToken": { - "target": "com.amazonaws.finspace#PaginationToken", - "traits": { - "smithy.api#documentation": "

      A token that indicates where a results page should begin.

      ", - "smithy.api#httpQuery": "nextToken" - } - }, "maxResults": { "target": "com.amazonaws.finspace#MaxResults", "traits": { @@ -5085,25 +7407,32 @@ "smithy.api#documentation": "

      The maximum number of results to return in this request.

      ", "smithy.api#httpQuery": "maxResults" } + }, + "nextToken": { + "target": "com.amazonaws.finspace#PaginationToken", + "traits": { + "smithy.api#documentation": "

      \nA token that indicates where a results page should begin.

      ", + "smithy.api#httpQuery": "nextToken" + } } }, "traits": { "smithy.api#input": {} } }, - "com.amazonaws.finspace#ListKxDatabasesResponse": { + "com.amazonaws.finspace#ListKxScalingGroupsResponse": { "type": "structure", "members": { - "kxDatabases": { - "target": "com.amazonaws.finspace#KxDatabases", + "scalingGroups": { + "target": "com.amazonaws.finspace#KxScalingGroupList", "traits": { - "smithy.api#documentation": "

      A list of databases in the kdb environment.

      " + "smithy.api#documentation": "

      \nA list of scaling groups available in a kdb environment.

      " } }, "nextToken": { "target": "com.amazonaws.finspace#PaginationToken", "traits": { - "smithy.api#documentation": "

      A token that indicates where a results page should begin.

      " + "smithy.api#documentation": "

      \nA token that indicates where a results page should begin.

      " } } }, @@ -5111,40 +7440,51 @@ "smithy.api#output": {} } }, - "com.amazonaws.finspace#ListKxEnvironments": { + "com.amazonaws.finspace#ListKxUsers": { "type": "operation", "input": { - "target": "com.amazonaws.finspace#ListKxEnvironmentsRequest" + "target": "com.amazonaws.finspace#ListKxUsersRequest" }, "output": { - "target": "com.amazonaws.finspace#ListKxEnvironmentsResponse" + "target": "com.amazonaws.finspace#ListKxUsersResponse" }, "errors": [ + { + "target": "com.amazonaws.finspace#AccessDeniedException" + }, { "target": "com.amazonaws.finspace#InternalServerException" }, + { + "target": "com.amazonaws.finspace#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.finspace#ThrottlingException" + }, { "target": "com.amazonaws.finspace#ValidationException" } ], "traits": { - "smithy.api#documentation": "

      Returns a list of kdb environments created in an account.

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

      Lists all the users in a kdb environment.

      ", "smithy.api#http": { "method": "GET", - "uri": "/kx/environments", + "uri": "/kx/environments/{environmentId}/users", "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "items": "environments", - "pageSize": "maxResults" } } }, - "com.amazonaws.finspace#ListKxEnvironmentsRequest": { + "com.amazonaws.finspace#ListKxUsersRequest": { "type": "structure", "members": { + "environmentId": { + "target": "com.amazonaws.finspace#IdType", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb environment.

      ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, "nextToken": { "target": "com.amazonaws.finspace#PaginationToken", "traits": { @@ -5153,8 +7493,9 @@ } }, "maxResults": { - "target": "com.amazonaws.finspace#BoxedInteger", + "target": "com.amazonaws.finspace#ResultLimit", "traits": { + "smithy.api#default": 0, "smithy.api#documentation": "

      The maximum number of results to return in this request.

      ", "smithy.api#httpQuery": "maxResults" } @@ -5164,13 +7505,13 @@ "smithy.api#input": {} } }, - "com.amazonaws.finspace#ListKxEnvironmentsResponse": { + "com.amazonaws.finspace#ListKxUsersResponse": { "type": "structure", "members": { - "environments": { - "target": "com.amazonaws.finspace#KxEnvironmentList", + "users": { + "target": "com.amazonaws.finspace#KxUserList", "traits": { - "smithy.api#documentation": "

      A list of environments in an account.

      " + "smithy.api#documentation": "

      A list of users in a kdb environment.

      " } }, "nextToken": { @@ -5184,21 +7525,27 @@ "smithy.api#output": {} } }, - "com.amazonaws.finspace#ListKxUsers": { + "com.amazonaws.finspace#ListKxVolumes": { "type": "operation", "input": { - "target": "com.amazonaws.finspace#ListKxUsersRequest" + "target": "com.amazonaws.finspace#ListKxVolumesRequest" }, "output": { - "target": "com.amazonaws.finspace#ListKxUsersResponse" + "target": "com.amazonaws.finspace#ListKxVolumesResponse" }, "errors": [ { "target": "com.amazonaws.finspace#AccessDeniedException" }, + { + "target": "com.amazonaws.finspace#ConflictException" + }, { "target": "com.amazonaws.finspace#InternalServerException" }, + { + "target": "com.amazonaws.finspace#LimitExceededException" + }, { "target": "com.amazonaws.finspace#ResourceNotFoundException" }, @@ -5210,25 +7557,33 @@ } ], "traits": { - "smithy.api#documentation": "

      Lists all the users in a kdb environment.

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

      \nLists all the volumes in a kdb environment.\n

      ", "smithy.api#http": { "method": "GET", - "uri": "/kx/environments/{environmentId}/users", + "uri": "/kx/environments/{environmentId}/kxvolumes", "code": 200 } } }, - "com.amazonaws.finspace#ListKxUsersRequest": { + "com.amazonaws.finspace#ListKxVolumesRequest": { "type": "structure", "members": { "environmentId": { - "target": "com.amazonaws.finspace#IdType", + "target": "com.amazonaws.finspace#KxEnvironmentId", "traits": { - "smithy.api#documentation": "

      A unique identifier for the kdb environment.

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

      A unique identifier for the kdb environment, whose clusters can attach to the volume.

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, + "maxResults": { + "target": "com.amazonaws.finspace#MaxResults", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

      The maximum number of results to return in this request.

      ", + "smithy.api#httpQuery": "maxResults" + } + }, "nextToken": { "target": "com.amazonaws.finspace#PaginationToken", "traits": { @@ -5236,12 +7591,11 @@ "smithy.api#httpQuery": "nextToken" } }, - "maxResults": { - "target": "com.amazonaws.finspace#ResultLimit", + "volumeType": { + "target": "com.amazonaws.finspace#KxVolumeType", "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

      The maximum number of results to return in this request.

      ", - "smithy.api#httpQuery": "maxResults" + "smithy.api#documentation": "

      \n The type of file system volume. Currently, FinSpace only supports NAS_1 volume type.\n

      ", + "smithy.api#httpQuery": "volumeType" } } }, @@ -5249,13 +7603,13 @@ "smithy.api#input": {} } }, - "com.amazonaws.finspace#ListKxUsersResponse": { + "com.amazonaws.finspace#ListKxVolumesResponse": { "type": "structure", "members": { - "users": { - "target": "com.amazonaws.finspace#KxUserList", + "kxVolumeSummaries": { + "target": "com.amazonaws.finspace#KxVolumes", "traits": { - "smithy.api#documentation": "

      A list of users in a kdb environment.

      " + "smithy.api#documentation": "

      \nA summary of volumes.\n

      " } }, "nextToken": { @@ -5337,6 +7691,14 @@ } } }, + "com.amazonaws.finspace#MemoryMib": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 6 + } + } + }, "com.amazonaws.finspace#NameString": { "type": "string", "traits": { @@ -5626,6 +7988,18 @@ "smithy.api#pattern": "^sg-([a-z0-9]{8}$|[a-z0-9]{17}$)$" } }, + "com.amazonaws.finspace#SegmentConfigurationDbPathList": { + "type": "list", + "member": { + "target": "com.amazonaws.finspace#DbPath" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 30 + } + } + }, "com.amazonaws.finspace#ServiceQuotaExceededException": { "type": "structure", "members": { @@ -5823,6 +8197,26 @@ "smithy.api#httpError": 429 } }, + "com.amazonaws.finspace#TickerplantLogConfiguration": { + "type": "structure", + "members": { + "tickerplantLogVolumes": { + "target": "com.amazonaws.finspace#TickerplantLogVolumes", + "traits": { + "smithy.api#documentation": "

      \nThe name of the volumes for tickerplant logs.\n

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

      \nA configuration to store the Tickerplant logs. It consists of\na list of volumes that will be mounted to your cluster. For the cluster type Tickerplant, the location of the TP volume on the cluster will be available by using the global variable .aws.tp_log_path. \n

      " + } + }, + "com.amazonaws.finspace#TickerplantLogVolumes": { + "type": "list", + "member": { + "target": "com.amazonaws.finspace#VolumeName" + } + }, "com.amazonaws.finspace#Timestamp": { "type": "timestamp" }, @@ -6254,7 +8648,125 @@ "databaseName": { "target": "com.amazonaws.finspace#DatabaseName", "traits": { - "smithy.api#documentation": "

      The name of the kdb database.

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

      The name of the kdb database.

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

      A description of the database.

      " + } + }, + "clientToken": { + "target": "com.amazonaws.finspace#ClientTokenString", + "traits": { + "smithy.api#documentation": "

      A token that ensures idempotency. This token expires in 10 minutes.

      ", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.finspace#UpdateKxDatabaseResponse": { + "type": "structure", + "members": { + "databaseName": { + "target": "com.amazonaws.finspace#DatabaseName", + "traits": { + "smithy.api#documentation": "

      The name of the kdb database.

      " + } + }, + "environmentId": { + "target": "com.amazonaws.finspace#EnvironmentId", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb environment.

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

      A description of the database.

      " + } + }, + "lastModifiedTimestamp": { + "target": "com.amazonaws.finspace#Timestamp", + "traits": { + "smithy.api#documentation": "

      The last time that the database was modified. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.finspace#UpdateKxDataview": { + "type": "operation", + "input": { + "target": "com.amazonaws.finspace#UpdateKxDataviewRequest" + }, + "output": { + "target": "com.amazonaws.finspace#UpdateKxDataviewResponse" + }, + "errors": [ + { + "target": "com.amazonaws.finspace#AccessDeniedException" + }, + { + "target": "com.amazonaws.finspace#ConflictException" + }, + { + "target": "com.amazonaws.finspace#InternalServerException" + }, + { + "target": "com.amazonaws.finspace#ResourceAlreadyExistsException" + }, + { + "target": "com.amazonaws.finspace#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.finspace#ThrottlingException" + }, + { + "target": "com.amazonaws.finspace#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

      \nUpdates the specified dataview. The dataviews get automatically updated when any new changesets are ingested. Each update of the dataview creates a new version, including changeset details and cache configurations

      ", + "smithy.api#http": { + "method": "PUT", + "uri": "/kx/environments/{environmentId}/databases/{databaseName}/dataviews/{dataviewName}", + "code": 200 + } + } + }, + "com.amazonaws.finspace#UpdateKxDataviewRequest": { + "type": "structure", + "members": { + "environmentId": { + "target": "com.amazonaws.finspace#EnvironmentId", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb environment, where you want to update the dataview.

      ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "databaseName": { + "target": "com.amazonaws.finspace#DatabaseName", + "traits": { + "smithy.api#documentation": "

      \nThe name of the database.

      ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "dataviewName": { + "target": "com.amazonaws.finspace#KxDataviewName", + "traits": { + "smithy.api#documentation": "

      The name of the dataview that you want to update.

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6262,7 +8774,19 @@ "description": { "target": "com.amazonaws.finspace#Description", "traits": { - "smithy.api#documentation": "

      A description of the database.

      " + "smithy.api#documentation": "

      \n The description for a dataview.\n

      " + } + }, + "changesetId": { + "target": "com.amazonaws.finspace#ChangesetId", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the changeset.

      " + } + }, + "segmentConfigurations": { + "target": "com.amazonaws.finspace#KxDataviewSegmentConfigurationList", + "traits": { + "smithy.api#documentation": "

      \n The configuration that contains the database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume. If you do not explicitly specify any database path for a volume, they are accessible from the cluster through the default S3/object store segment.

      " } }, "clientToken": { @@ -6278,31 +8802,86 @@ "smithy.api#input": {} } }, - "com.amazonaws.finspace#UpdateKxDatabaseResponse": { + "com.amazonaws.finspace#UpdateKxDataviewResponse": { "type": "structure", "members": { + "environmentId": { + "target": "com.amazonaws.finspace#EnvironmentId", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb environment, where you want to update the dataview.

      " + } + }, "databaseName": { "target": "com.amazonaws.finspace#DatabaseName", "traits": { - "smithy.api#documentation": "

      The name of the kdb database.

      " + "smithy.api#documentation": "

      \nThe name of the database.\n

      " } }, - "environmentId": { - "target": "com.amazonaws.finspace#EnvironmentId", + "dataviewName": { + "target": "com.amazonaws.finspace#KxDataviewName", "traits": { - "smithy.api#documentation": "

      A unique identifier for the kdb environment.

      " + "smithy.api#documentation": "

      \n The name of the database under which the dataview was created.\n \n

      " + } + }, + "azMode": { + "target": "com.amazonaws.finspace#KxAzMode", + "traits": { + "smithy.api#documentation": "

      The number of availability zones you want to assign per cluster. This can be one of the following

      \n
        \n
      • \n

        \n SINGLE – Assigns one availability zone per cluster.

        \n
      • \n
      • \n

        \n MULTI – Assigns all the availability zones per cluster.

        \n
      • \n
      " + } + }, + "availabilityZoneId": { + "target": "com.amazonaws.finspace#AvailabilityZoneId", + "traits": { + "smithy.api#documentation": "

      \n The identifier of the availability zones.\n

      " + } + }, + "changesetId": { + "target": "com.amazonaws.finspace#ChangesetId", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the changeset.

      " + } + }, + "segmentConfigurations": { + "target": "com.amazonaws.finspace#KxDataviewSegmentConfigurationList", + "traits": { + "smithy.api#documentation": "

      \n The configuration that contains the database path of the data that you want to place on each selected volume. Each segment must have a unique database path for each volume. If you do not explicitly specify any database path for a volume, they are accessible from the cluster through the default S3/object store segment.

      " + } + }, + "activeVersions": { + "target": "com.amazonaws.finspace#KxDataviewActiveVersionList", + "traits": { + "smithy.api#documentation": "

      \n The current active changeset versions of the database on the given dataview. \n \n

      " + } + }, + "status": { + "target": "com.amazonaws.finspace#KxDataviewStatus", + "traits": { + "smithy.api#documentation": "

      \n The status of dataview creation.

      \n
        \n
      • \n

        \n CREATING – The dataview creation is in progress.

        \n
      • \n
      • \n

        \n UPDATING – The dataview is in the process of being updated.

        \n
      • \n
      • \n

        \n ACTIVE – The dataview is active.

        \n
      • \n
      " + } + }, + "autoUpdate": { + "target": "com.amazonaws.finspace#booleanValue", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

      The option to specify whether you want to apply all the future additions and corrections automatically to the dataview when new changesets are ingested. The default value is false.

      " } }, "description": { "target": "com.amazonaws.finspace#Description", "traits": { - "smithy.api#documentation": "

      A description of the database.

      " + "smithy.api#documentation": "

      A description of the dataview.

      " + } + }, + "createdTimestamp": { + "target": "com.amazonaws.finspace#Timestamp", + "traits": { + "smithy.api#documentation": "

      \n The timestamp at which the dataview was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.\n

      " } }, "lastModifiedTimestamp": { "target": "com.amazonaws.finspace#Timestamp", "traits": { - "smithy.api#documentation": "

      The last time that the database was modified. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      " + "smithy.api#documentation": "

      \n The last time that the dataview was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.\n

      " } } }, @@ -6410,7 +8989,8 @@ "clientToken": { "target": "com.amazonaws.finspace#ClientToken", "traits": { - "smithy.api#documentation": "

      A token that ensures idempotency. This token expires in 10 minutes.

      " + "smithy.api#documentation": "

      A token that ensures idempotency. This token expires in 10 minutes.

      ", + "smithy.api#idempotencyToken": {} } } }, @@ -6545,7 +9125,8 @@ "clientToken": { "target": "com.amazonaws.finspace#ClientToken", "traits": { - "smithy.api#documentation": "

      A token that ensures idempotency. This token expires in 10 minutes.

      " + "smithy.api#documentation": "

      A token that ensures idempotency. This token expires in 10 minutes.

      ", + "smithy.api#idempotencyToken": {} } } }, @@ -6723,7 +9304,8 @@ "clientToken": { "target": "com.amazonaws.finspace#ClientToken", "traits": { - "smithy.api#documentation": "

      A token that ensures idempotency. This token expires in 10 minutes.

      " + "smithy.api#documentation": "

      A token that ensures idempotency. This token expires in 10 minutes.

      ", + "smithy.api#idempotencyToken": {} } } }, @@ -6763,6 +9345,175 @@ "smithy.api#output": {} } }, + "com.amazonaws.finspace#UpdateKxVolume": { + "type": "operation", + "input": { + "target": "com.amazonaws.finspace#UpdateKxVolumeRequest" + }, + "output": { + "target": "com.amazonaws.finspace#UpdateKxVolumeResponse" + }, + "errors": [ + { + "target": "com.amazonaws.finspace#AccessDeniedException" + }, + { + "target": "com.amazonaws.finspace#ConflictException" + }, + { + "target": "com.amazonaws.finspace#InternalServerException" + }, + { + "target": "com.amazonaws.finspace#LimitExceededException" + }, + { + "target": "com.amazonaws.finspace#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.finspace#ThrottlingException" + }, + { + "target": "com.amazonaws.finspace#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

      \nUpdates the throughput or capacity of a volume. During the update process, the filesystem \nmight be unavailable for a few minutes. You can retry any operations after the update is complete.\n

      ", + "smithy.api#http": { + "method": "PATCH", + "uri": "/kx/environments/{environmentId}/kxvolumes/{volumeName}", + "code": 200 + } + } + }, + "com.amazonaws.finspace#UpdateKxVolumeRequest": { + "type": "structure", + "members": { + "environmentId": { + "target": "com.amazonaws.finspace#KxEnvironmentId", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb environment where you created the storage volume.

      ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "volumeName": { + "target": "com.amazonaws.finspace#KxVolumeName", + "traits": { + "smithy.api#documentation": "

      \nA unique identifier for the volume.

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

      \nA description of the volume.\n

      " + } + }, + "clientToken": { + "target": "com.amazonaws.finspace#ClientTokenString", + "traits": { + "smithy.api#documentation": "

      A token that ensures idempotency. This token expires in 10 minutes.

      ", + "smithy.api#idempotencyToken": {} + } + }, + "nas1Configuration": { + "target": "com.amazonaws.finspace#KxNAS1Configuration", + "traits": { + "smithy.api#documentation": "

      Specifies the configuration for the Network attached storage (NAS_1) file system volume.

      " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.finspace#UpdateKxVolumeResponse": { + "type": "structure", + "members": { + "environmentId": { + "target": "com.amazonaws.finspace#KxEnvironmentId", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the kdb environment where you want to update the volume.

      " + } + }, + "volumeName": { + "target": "com.amazonaws.finspace#KxVolumeName", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the volume that you want to update.

      " + } + }, + "volumeType": { + "target": "com.amazonaws.finspace#KxVolumeType", + "traits": { + "smithy.api#documentation": "

      \n The type of file system volume. Currently, FinSpace only supports NAS_1 volume type.\n

      " + } + }, + "volumeArn": { + "target": "com.amazonaws.finspace#KxVolumeArn", + "traits": { + "smithy.api#documentation": "

      \nThe ARN identifier of the volume.\n

      " + } + }, + "nas1Configuration": { + "target": "com.amazonaws.finspace#KxNAS1Configuration", + "traits": { + "smithy.api#documentation": "

      Specifies the configuration for the Network attached storage (NAS_1) file system volume.

      " + } + }, + "status": { + "target": "com.amazonaws.finspace#KxVolumeStatus", + "traits": { + "smithy.api#documentation": "

      The status of the volume.

      \n
        \n
      • \n

        CREATING – The volume creation is in progress.

        \n
      • \n
      • \n

        CREATE_FAILED – The volume creation has failed.

        \n
      • \n
      • \n

        ACTIVE – The volume is active.

        \n
      • \n
      • \n

        UPDATING – The volume is in the process of being updated.

        \n
      • \n
      • \n

        UPDATE_FAILED – The update action failed.

        \n
      • \n
      • \n

        UPDATED – The volume is successfully updated.

        \n
      • \n
      • \n

        DELETING – The volume is in the process of being deleted.

        \n
      • \n
      • \n

        DELETE_FAILED – The system failed to delete the volume.

        \n
      • \n
      • \n

        DELETED – The volume is successfully deleted.

        \n
      • \n
      " + } + }, + "description": { + "target": "com.amazonaws.finspace#Description", + "traits": { + "smithy.api#documentation": "

      \nThe description for the volume.\n

      " + } + }, + "statusReason": { + "target": "com.amazonaws.finspace#KxVolumeStatusReason", + "traits": { + "smithy.api#documentation": "

      The error message when a failed state occurs.

      " + } + }, + "createdTimestamp": { + "target": "com.amazonaws.finspace#Timestamp", + "traits": { + "smithy.api#documentation": "

      \nThe timestamp at which the volume was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      " + } + }, + "azMode": { + "target": "com.amazonaws.finspace#KxAzMode", + "traits": { + "smithy.api#documentation": "

      The number of availability zones you want to assign per cluster. Currently, FinSpace only support SINGLE for volumes.

      " + } + }, + "availabilityZoneIds": { + "target": "com.amazonaws.finspace#AvailabilityZoneIds", + "traits": { + "smithy.api#documentation": "

      The identifier of the availability zones.

      " + } + }, + "lastModifiedTimestamp": { + "target": "com.amazonaws.finspace#Timestamp", + "traits": { + "smithy.api#documentation": "

      The last time that the volume was updated in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.

      " + } + }, + "attachedClusters": { + "target": "com.amazonaws.finspace#KxAttachedClusters", + "traits": { + "smithy.api#documentation": "

      \nSpecifies the clusters that a volume is attached to.\n

      " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.finspace#ValidCIDRBlock": { "type": "string", "traits": { @@ -6805,6 +9556,68 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.finspace#VersionId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 26 + } + } + }, + "com.amazonaws.finspace#Volume": { + "type": "structure", + "members": { + "volumeName": { + "target": "com.amazonaws.finspace#VolumeName", + "traits": { + "smithy.api#documentation": "

      A unique identifier for the volume.

      " + } + }, + "volumeType": { + "target": "com.amazonaws.finspace#VolumeType", + "traits": { + "smithy.api#documentation": "

      \n The type of file system volume. Currently, FinSpace only supports NAS_1 volume type.\n

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

      \nThe structure that consists of name and type of volume.

      " + } + }, + "com.amazonaws.finspace#VolumeName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 63 + }, + "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_]*[a-zA-Z0-9]$" + } + }, + "com.amazonaws.finspace#VolumeType": { + "type": "enum", + "members": { + "NAS_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NAS_1" + } + } + } + }, + "com.amazonaws.finspace#Volumes": { + "type": "list", + "member": { + "target": "com.amazonaws.finspace#Volume" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 5 + } + } + }, "com.amazonaws.finspace#VpcConfiguration": { "type": "structure", "members": { @@ -6847,6 +9660,22 @@ "smithy.api#pattern": "^vpc-([a-z0-9]{8}$|[a-z0-9]{17}$)$" } }, + "com.amazonaws.finspace#arn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "^arn:*:*:*:*:*$" + } + }, + "com.amazonaws.finspace#booleanValue": { + "type": "boolean", + "traits": { + "smithy.api#default": false + } + }, "com.amazonaws.finspace#dnsStatus": { "type": "enum", "members": {