From 8c61b346a3f1f6194f1cef161b629b9f8b65c10e Mon Sep 17 00:00:00 2001 From: awstools Date: Thu, 29 Jun 2023 19:15:00 +0000 Subject: [PATCH] feat(client-appstream): This release introduces app block builder, allowing customers to provision a resource to package applications into an app block --- clients/client-appstream/README.md | 94 +- clients/client-appstream/src/AppStream.ts | 230 ++ .../client-appstream/src/AppStreamClient.ts | 60 + ...AssociateAppBlockBuilderAppBlockCommand.ts | 172 ++ .../commands/CreateAppBlockBuilderCommand.ts | 231 ++ ...reateAppBlockBuilderStreamingURLCommand.ts | 161 + .../src/commands/CreateAppBlockCommand.ts | 35 +- .../src/commands/CreateApplicationCommand.ts | 4 +- .../src/commands/CreateFleetCommand.ts | 4 +- .../src/commands/CreateUpdatedImageCommand.ts | 2 +- .../commands/DeleteAppBlockBuilderCommand.ts | 154 + .../src/commands/DeleteImageCommand.ts | 2 +- ...BlockBuilderAppBlockAssociationsCommand.ts | 178 ++ .../DescribeAppBlockBuildersCommand.ts | 191 ++ .../src/commands/DescribeAppBlocksCommand.ts | 21 +- .../commands/DescribeApplicationsCommand.ts | 2 +- .../src/commands/DescribeFleetsCommand.ts | 2 +- .../src/commands/DescribeImagesCommand.ts | 2 +- ...associateAppBlockBuilderAppBlockCommand.ts | 167 ++ .../commands/StartAppBlockBuilderCommand.ts | 203 ++ .../commands/StopAppBlockBuilderCommand.ts | 189 ++ .../commands/UpdateAppBlockBuilderCommand.ts | 235 ++ .../src/commands/UpdateApplicationCommand.ts | 4 +- .../src/commands/UpdateFleetCommand.ts | 4 +- .../client-appstream/src/commands/index.ts | 10 + .../src/endpoint/EndpointParameters.ts | 2 +- .../client-appstream/src/endpoint/ruleset.ts | 42 +- .../client-appstream/src/models/models_0.ts | 1004 +++++-- ...ockBuilderAppBlockAssociationsPaginator.ts | 50 + .../DescribeAppBlockBuildersPaginator.ts | 50 + .../client-appstream/src/pagination/index.ts | 4 + .../src/protocols/Aws_json1_1.ts | 902 ++++++ codegen/sdk-codegen/aws-models/appstream.json | 2605 +++++++++++------ 33 files changed, 5975 insertions(+), 1041 deletions(-) create mode 100644 clients/client-appstream/src/commands/AssociateAppBlockBuilderAppBlockCommand.ts create mode 100644 clients/client-appstream/src/commands/CreateAppBlockBuilderCommand.ts create mode 100644 clients/client-appstream/src/commands/CreateAppBlockBuilderStreamingURLCommand.ts create mode 100644 clients/client-appstream/src/commands/DeleteAppBlockBuilderCommand.ts create mode 100644 clients/client-appstream/src/commands/DescribeAppBlockBuilderAppBlockAssociationsCommand.ts create mode 100644 clients/client-appstream/src/commands/DescribeAppBlockBuildersCommand.ts create mode 100644 clients/client-appstream/src/commands/DisassociateAppBlockBuilderAppBlockCommand.ts create mode 100644 clients/client-appstream/src/commands/StartAppBlockBuilderCommand.ts create mode 100644 clients/client-appstream/src/commands/StopAppBlockBuilderCommand.ts create mode 100644 clients/client-appstream/src/commands/UpdateAppBlockBuilderCommand.ts create mode 100644 clients/client-appstream/src/pagination/DescribeAppBlockBuilderAppBlockAssociationsPaginator.ts create mode 100644 clients/client-appstream/src/pagination/DescribeAppBlockBuildersPaginator.ts diff --git a/clients/client-appstream/README.md b/clients/client-appstream/README.md index 89a95b693a9f..bf746039b33e 100644 --- a/clients/client-appstream/README.md +++ b/clients/client-appstream/README.md @@ -41,16 +41,16 @@ using your favorite package manager: The AWS SDK is modulized by clients and commands. To send a request, you only need to import the `AppStreamClient` and -the commands you need, for example `AssociateApplicationFleetCommand`: +the commands you need, for example `AssociateAppBlockBuilderAppBlockCommand`: ```js // ES5 example -const { AppStreamClient, AssociateApplicationFleetCommand } = require("@aws-sdk/client-appstream"); +const { AppStreamClient, AssociateAppBlockBuilderAppBlockCommand } = require("@aws-sdk/client-appstream"); ``` ```ts // ES6+ example -import { AppStreamClient, AssociateApplicationFleetCommand } from "@aws-sdk/client-appstream"; +import { AppStreamClient, AssociateAppBlockBuilderAppBlockCommand } from "@aws-sdk/client-appstream"; ``` ### Usage @@ -69,7 +69,7 @@ const client = new AppStreamClient({ region: "REGION" }); const params = { /** input parameters */ }; -const command = new AssociateApplicationFleetCommand(params); +const command = new AssociateAppBlockBuilderAppBlockCommand(params); ``` #### Async/await @@ -148,7 +148,7 @@ const client = new AWS.AppStream({ region: "REGION" }); // async/await. try { - const data = await client.associateApplicationFleet(params); + const data = await client.associateAppBlockBuilderAppBlock(params); // process data. } catch (error) { // error handling. @@ -156,7 +156,7 @@ try { // Promises. client - .associateApplicationFleet(params) + .associateAppBlockBuilderAppBlock(params) .then((data) => { // process data. }) @@ -165,7 +165,7 @@ client }); // callbacks. -client.associateApplicationFleet(params, (err, data) => { +client.associateAppBlockBuilderAppBlock(params, (err, data) => { // process err and data. }); ``` @@ -221,6 +221,14 @@ see LICENSE for more information. ## Client Commands (Operations List) +
+ +AssociateAppBlockBuilderAppBlock + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/classes/associateappblockbuilderappblockcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/associateappblockbuilderappblockcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/associateappblockbuilderappblockcommandoutput.html) + +
AssociateApplicationFleet @@ -276,6 +284,22 @@ CreateAppBlock [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/classes/createappblockcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/createappblockcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/createappblockcommandoutput.html) +
+
+ +CreateAppBlockBuilder + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/classes/createappblockbuildercommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/createappblockbuildercommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/createappblockbuildercommandoutput.html) + +
+
+ +CreateAppBlockBuilderStreamingURL + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/classes/createappblockbuilderstreamingurlcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/createappblockbuilderstreamingurlcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/createappblockbuilderstreamingurlcommandoutput.html) +
@@ -372,6 +396,14 @@ DeleteAppBlock [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/classes/deleteappblockcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/deleteappblockcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/deleteappblockcommandoutput.html) +
+
+ +DeleteAppBlockBuilder + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/classes/deleteappblockbuildercommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/deleteappblockbuildercommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/deleteappblockbuildercommandoutput.html) +
@@ -452,6 +484,22 @@ DeleteUser [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/classes/deleteusercommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/deleteusercommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/deleteusercommandoutput.html) +
+
+ +DescribeAppBlockBuilderAppBlockAssociations + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/classes/describeappblockbuilderappblockassociationscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/describeappblockbuilderappblockassociationscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/describeappblockbuilderappblockassociationscommandoutput.html) + +
+
+ +DescribeAppBlockBuilders + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/classes/describeappblockbuilderscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/describeappblockbuilderscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/describeappblockbuilderscommandoutput.html) +
@@ -572,6 +620,14 @@ DisableUser [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/classes/disableusercommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/disableusercommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/disableusercommandoutput.html) +
+
+ +DisassociateAppBlockBuilderAppBlock + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/classes/disassociateappblockbuilderappblockcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/disassociateappblockbuilderappblockcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/disassociateappblockbuilderappblockcommandoutput.html) +
@@ -644,6 +700,14 @@ ListTagsForResource [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/classes/listtagsforresourcecommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/listtagsforresourcecommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/listtagsforresourcecommandoutput.html) +
+
+ +StartAppBlockBuilder + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/classes/startappblockbuildercommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/startappblockbuildercommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/startappblockbuildercommandoutput.html) +
@@ -660,6 +724,14 @@ StartImageBuilder [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/classes/startimagebuildercommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/startimagebuildercommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/startimagebuildercommandoutput.html) +
+
+ +StopAppBlockBuilder + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/classes/stopappblockbuildercommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/stopappblockbuildercommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/stopappblockbuildercommandoutput.html) +
@@ -692,6 +764,14 @@ UntagResource [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/classes/untagresourcecommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/untagresourcecommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/untagresourcecommandoutput.html) +
+
+ +UpdateAppBlockBuilder + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/classes/updateappblockbuildercommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/updateappblockbuildercommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appstream/interfaces/updateappblockbuildercommandoutput.html) +
diff --git a/clients/client-appstream/src/AppStream.ts b/clients/client-appstream/src/AppStream.ts index c24007d5ded8..254ace0615b9 100644 --- a/clients/client-appstream/src/AppStream.ts +++ b/clients/client-appstream/src/AppStream.ts @@ -3,6 +3,11 @@ import { createAggregatedClient } from "@smithy/smithy-client"; import { HttpHandlerOptions as __HttpHandlerOptions } from "@smithy/types"; import { AppStreamClient, AppStreamClientConfig } from "./AppStreamClient"; +import { + AssociateAppBlockBuilderAppBlockCommand, + AssociateAppBlockBuilderAppBlockCommandInput, + AssociateAppBlockBuilderAppBlockCommandOutput, +} from "./commands/AssociateAppBlockBuilderAppBlockCommand"; import { AssociateApplicationFleetCommand, AssociateApplicationFleetCommandInput, @@ -29,6 +34,16 @@ import { BatchDisassociateUserStackCommandOutput, } from "./commands/BatchDisassociateUserStackCommand"; import { CopyImageCommand, CopyImageCommandInput, CopyImageCommandOutput } from "./commands/CopyImageCommand"; +import { + CreateAppBlockBuilderCommand, + CreateAppBlockBuilderCommandInput, + CreateAppBlockBuilderCommandOutput, +} from "./commands/CreateAppBlockBuilderCommand"; +import { + CreateAppBlockBuilderStreamingURLCommand, + CreateAppBlockBuilderStreamingURLCommandInput, + CreateAppBlockBuilderStreamingURLCommandOutput, +} from "./commands/CreateAppBlockBuilderStreamingURLCommand"; import { CreateAppBlockCommand, CreateAppBlockCommandInput, @@ -77,6 +92,11 @@ import { CreateUsageReportSubscriptionCommandOutput, } from "./commands/CreateUsageReportSubscriptionCommand"; import { CreateUserCommand, CreateUserCommandInput, CreateUserCommandOutput } from "./commands/CreateUserCommand"; +import { + DeleteAppBlockBuilderCommand, + DeleteAppBlockBuilderCommandInput, + DeleteAppBlockBuilderCommandOutput, +} from "./commands/DeleteAppBlockBuilderCommand"; import { DeleteAppBlockCommand, DeleteAppBlockCommandInput, @@ -116,6 +136,16 @@ import { DeleteUsageReportSubscriptionCommandOutput, } from "./commands/DeleteUsageReportSubscriptionCommand"; import { DeleteUserCommand, DeleteUserCommandInput, DeleteUserCommandOutput } from "./commands/DeleteUserCommand"; +import { + DescribeAppBlockBuilderAppBlockAssociationsCommand, + DescribeAppBlockBuilderAppBlockAssociationsCommandInput, + DescribeAppBlockBuilderAppBlockAssociationsCommandOutput, +} from "./commands/DescribeAppBlockBuilderAppBlockAssociationsCommand"; +import { + DescribeAppBlockBuildersCommand, + DescribeAppBlockBuildersCommandInput, + DescribeAppBlockBuildersCommandOutput, +} from "./commands/DescribeAppBlockBuildersCommand"; import { DescribeAppBlocksCommand, DescribeAppBlocksCommandInput, @@ -187,6 +217,11 @@ import { DescribeUserStackAssociationsCommandOutput, } from "./commands/DescribeUserStackAssociationsCommand"; import { DisableUserCommand, DisableUserCommandInput, DisableUserCommandOutput } from "./commands/DisableUserCommand"; +import { + DisassociateAppBlockBuilderAppBlockCommand, + DisassociateAppBlockBuilderAppBlockCommandInput, + DisassociateAppBlockBuilderAppBlockCommandOutput, +} from "./commands/DisassociateAppBlockBuilderAppBlockCommand"; import { DisassociateApplicationFleetCommand, DisassociateApplicationFleetCommandInput, @@ -228,12 +263,22 @@ import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "./commands/ListTagsForResourceCommand"; +import { + StartAppBlockBuilderCommand, + StartAppBlockBuilderCommandInput, + StartAppBlockBuilderCommandOutput, +} from "./commands/StartAppBlockBuilderCommand"; import { StartFleetCommand, StartFleetCommandInput, StartFleetCommandOutput } from "./commands/StartFleetCommand"; import { StartImageBuilderCommand, StartImageBuilderCommandInput, StartImageBuilderCommandOutput, } from "./commands/StartImageBuilderCommand"; +import { + StopAppBlockBuilderCommand, + StopAppBlockBuilderCommandInput, + StopAppBlockBuilderCommandOutput, +} from "./commands/StopAppBlockBuilderCommand"; import { StopFleetCommand, StopFleetCommandInput, StopFleetCommandOutput } from "./commands/StopFleetCommand"; import { StopImageBuilderCommand, @@ -246,6 +291,11 @@ import { UntagResourceCommandInput, UntagResourceCommandOutput, } from "./commands/UntagResourceCommand"; +import { + UpdateAppBlockBuilderCommand, + UpdateAppBlockBuilderCommandInput, + UpdateAppBlockBuilderCommandOutput, +} from "./commands/UpdateAppBlockBuilderCommand"; import { UpdateApplicationCommand, UpdateApplicationCommandInput, @@ -270,6 +320,7 @@ import { import { UpdateStackCommand, UpdateStackCommandInput, UpdateStackCommandOutput } from "./commands/UpdateStackCommand"; const commands = { + AssociateAppBlockBuilderAppBlockCommand, AssociateApplicationFleetCommand, AssociateApplicationToEntitlementCommand, AssociateFleetCommand, @@ -277,6 +328,8 @@ const commands = { BatchDisassociateUserStackCommand, CopyImageCommand, CreateAppBlockCommand, + CreateAppBlockBuilderCommand, + CreateAppBlockBuilderStreamingURLCommand, CreateApplicationCommand, CreateDirectoryConfigCommand, CreateEntitlementCommand, @@ -289,6 +342,7 @@ const commands = { CreateUsageReportSubscriptionCommand, CreateUserCommand, DeleteAppBlockCommand, + DeleteAppBlockBuilderCommand, DeleteApplicationCommand, DeleteDirectoryConfigCommand, DeleteEntitlementCommand, @@ -299,6 +353,8 @@ const commands = { DeleteStackCommand, DeleteUsageReportSubscriptionCommand, DeleteUserCommand, + DescribeAppBlockBuilderAppBlockAssociationsCommand, + DescribeAppBlockBuildersCommand, DescribeAppBlocksCommand, DescribeApplicationFleetAssociationsCommand, DescribeApplicationsCommand, @@ -314,6 +370,7 @@ const commands = { DescribeUsersCommand, DescribeUserStackAssociationsCommand, DisableUserCommand, + DisassociateAppBlockBuilderAppBlockCommand, DisassociateApplicationFleetCommand, DisassociateApplicationFromEntitlementCommand, DisassociateFleetCommand, @@ -323,12 +380,15 @@ const commands = { ListAssociatedStacksCommand, ListEntitledApplicationsCommand, ListTagsForResourceCommand, + StartAppBlockBuilderCommand, StartFleetCommand, StartImageBuilderCommand, + StopAppBlockBuilderCommand, StopFleetCommand, StopImageBuilderCommand, TagResourceCommand, UntagResourceCommand, + UpdateAppBlockBuilderCommand, UpdateApplicationCommand, UpdateDirectoryConfigCommand, UpdateEntitlementCommand, @@ -338,6 +398,23 @@ const commands = { }; export interface AppStream { + /** + * @see {@link AssociateAppBlockBuilderAppBlockCommand} + */ + associateAppBlockBuilderAppBlock( + args: AssociateAppBlockBuilderAppBlockCommandInput, + options?: __HttpHandlerOptions + ): Promise; + associateAppBlockBuilderAppBlock( + args: AssociateAppBlockBuilderAppBlockCommandInput, + cb: (err: any, data?: AssociateAppBlockBuilderAppBlockCommandOutput) => void + ): void; + associateAppBlockBuilderAppBlock( + args: AssociateAppBlockBuilderAppBlockCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: AssociateAppBlockBuilderAppBlockCommandOutput) => void + ): void; + /** * @see {@link AssociateApplicationFleetCommand} */ @@ -445,6 +522,40 @@ export interface AppStream { cb: (err: any, data?: CreateAppBlockCommandOutput) => void ): void; + /** + * @see {@link CreateAppBlockBuilderCommand} + */ + createAppBlockBuilder( + args: CreateAppBlockBuilderCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createAppBlockBuilder( + args: CreateAppBlockBuilderCommandInput, + cb: (err: any, data?: CreateAppBlockBuilderCommandOutput) => void + ): void; + createAppBlockBuilder( + args: CreateAppBlockBuilderCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateAppBlockBuilderCommandOutput) => void + ): void; + + /** + * @see {@link CreateAppBlockBuilderStreamingURLCommand} + */ + createAppBlockBuilderStreamingURL( + args: CreateAppBlockBuilderStreamingURLCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createAppBlockBuilderStreamingURL( + args: CreateAppBlockBuilderStreamingURLCommandInput, + cb: (err: any, data?: CreateAppBlockBuilderStreamingURLCommandOutput) => void + ): void; + createAppBlockBuilderStreamingURL( + args: CreateAppBlockBuilderStreamingURLCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateAppBlockBuilderStreamingURLCommandOutput) => void + ): void; + /** * @see {@link CreateApplicationCommand} */ @@ -628,6 +739,23 @@ export interface AppStream { cb: (err: any, data?: DeleteAppBlockCommandOutput) => void ): void; + /** + * @see {@link DeleteAppBlockBuilderCommand} + */ + deleteAppBlockBuilder( + args: DeleteAppBlockBuilderCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deleteAppBlockBuilder( + args: DeleteAppBlockBuilderCommandInput, + cb: (err: any, data?: DeleteAppBlockBuilderCommandOutput) => void + ): void; + deleteAppBlockBuilder( + args: DeleteAppBlockBuilderCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteAppBlockBuilderCommandOutput) => void + ): void; + /** * @see {@link DeleteApplicationCommand} */ @@ -774,6 +902,40 @@ export interface AppStream { cb: (err: any, data?: DeleteUserCommandOutput) => void ): void; + /** + * @see {@link DescribeAppBlockBuilderAppBlockAssociationsCommand} + */ + describeAppBlockBuilderAppBlockAssociations( + args: DescribeAppBlockBuilderAppBlockAssociationsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + describeAppBlockBuilderAppBlockAssociations( + args: DescribeAppBlockBuilderAppBlockAssociationsCommandInput, + cb: (err: any, data?: DescribeAppBlockBuilderAppBlockAssociationsCommandOutput) => void + ): void; + describeAppBlockBuilderAppBlockAssociations( + args: DescribeAppBlockBuilderAppBlockAssociationsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeAppBlockBuilderAppBlockAssociationsCommandOutput) => void + ): void; + + /** + * @see {@link DescribeAppBlockBuildersCommand} + */ + describeAppBlockBuilders( + args: DescribeAppBlockBuildersCommandInput, + options?: __HttpHandlerOptions + ): Promise; + describeAppBlockBuilders( + args: DescribeAppBlockBuildersCommandInput, + cb: (err: any, data?: DescribeAppBlockBuildersCommandOutput) => void + ): void; + describeAppBlockBuilders( + args: DescribeAppBlockBuildersCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeAppBlockBuildersCommandOutput) => void + ): void; + /** * @see {@link DescribeAppBlocksCommand} */ @@ -1008,6 +1170,23 @@ export interface AppStream { cb: (err: any, data?: DisableUserCommandOutput) => void ): void; + /** + * @see {@link DisassociateAppBlockBuilderAppBlockCommand} + */ + disassociateAppBlockBuilderAppBlock( + args: DisassociateAppBlockBuilderAppBlockCommandInput, + options?: __HttpHandlerOptions + ): Promise; + disassociateAppBlockBuilderAppBlock( + args: DisassociateAppBlockBuilderAppBlockCommandInput, + cb: (err: any, data?: DisassociateAppBlockBuilderAppBlockCommandOutput) => void + ): void; + disassociateAppBlockBuilderAppBlock( + args: DisassociateAppBlockBuilderAppBlockCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DisassociateAppBlockBuilderAppBlockCommandOutput) => void + ): void; + /** * @see {@link DisassociateApplicationFleetCommand} */ @@ -1149,6 +1328,23 @@ export interface AppStream { cb: (err: any, data?: ListTagsForResourceCommandOutput) => void ): void; + /** + * @see {@link StartAppBlockBuilderCommand} + */ + startAppBlockBuilder( + args: StartAppBlockBuilderCommandInput, + options?: __HttpHandlerOptions + ): Promise; + startAppBlockBuilder( + args: StartAppBlockBuilderCommandInput, + cb: (err: any, data?: StartAppBlockBuilderCommandOutput) => void + ): void; + startAppBlockBuilder( + args: StartAppBlockBuilderCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StartAppBlockBuilderCommandOutput) => void + ): void; + /** * @see {@link StartFleetCommand} */ @@ -1177,6 +1373,23 @@ export interface AppStream { cb: (err: any, data?: StartImageBuilderCommandOutput) => void ): void; + /** + * @see {@link StopAppBlockBuilderCommand} + */ + stopAppBlockBuilder( + args: StopAppBlockBuilderCommandInput, + options?: __HttpHandlerOptions + ): Promise; + stopAppBlockBuilder( + args: StopAppBlockBuilderCommandInput, + cb: (err: any, data?: StopAppBlockBuilderCommandOutput) => void + ): void; + stopAppBlockBuilder( + args: StopAppBlockBuilderCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StopAppBlockBuilderCommandOutput) => void + ): void; + /** * @see {@link StopFleetCommand} */ @@ -1227,6 +1440,23 @@ export interface AppStream { cb: (err: any, data?: UntagResourceCommandOutput) => void ): void; + /** + * @see {@link UpdateAppBlockBuilderCommand} + */ + updateAppBlockBuilder( + args: UpdateAppBlockBuilderCommandInput, + options?: __HttpHandlerOptions + ): Promise; + updateAppBlockBuilder( + args: UpdateAppBlockBuilderCommandInput, + cb: (err: any, data?: UpdateAppBlockBuilderCommandOutput) => void + ): void; + updateAppBlockBuilder( + args: UpdateAppBlockBuilderCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateAppBlockBuilderCommandOutput) => void + ): void; + /** * @see {@link UpdateApplicationCommand} */ diff --git a/clients/client-appstream/src/AppStreamClient.ts b/clients/client-appstream/src/AppStreamClient.ts index 474ce64320f0..f4106dfdfd66 100644 --- a/clients/client-appstream/src/AppStreamClient.ts +++ b/clients/client-appstream/src/AppStreamClient.ts @@ -49,6 +49,10 @@ import { UserAgent as __UserAgent, } from "@smithy/types"; +import { + AssociateAppBlockBuilderAppBlockCommandInput, + AssociateAppBlockBuilderAppBlockCommandOutput, +} from "./commands/AssociateAppBlockBuilderAppBlockCommand"; import { AssociateApplicationFleetCommandInput, AssociateApplicationFleetCommandOutput, @@ -67,6 +71,14 @@ import { BatchDisassociateUserStackCommandOutput, } from "./commands/BatchDisassociateUserStackCommand"; import { CopyImageCommandInput, CopyImageCommandOutput } from "./commands/CopyImageCommand"; +import { + CreateAppBlockBuilderCommandInput, + CreateAppBlockBuilderCommandOutput, +} from "./commands/CreateAppBlockBuilderCommand"; +import { + CreateAppBlockBuilderStreamingURLCommandInput, + CreateAppBlockBuilderStreamingURLCommandOutput, +} from "./commands/CreateAppBlockBuilderStreamingURLCommand"; import { CreateAppBlockCommandInput, CreateAppBlockCommandOutput } from "./commands/CreateAppBlockCommand"; import { CreateApplicationCommandInput, CreateApplicationCommandOutput } from "./commands/CreateApplicationCommand"; import { @@ -88,6 +100,10 @@ import { CreateUsageReportSubscriptionCommandOutput, } from "./commands/CreateUsageReportSubscriptionCommand"; import { CreateUserCommandInput, CreateUserCommandOutput } from "./commands/CreateUserCommand"; +import { + DeleteAppBlockBuilderCommandInput, + DeleteAppBlockBuilderCommandOutput, +} from "./commands/DeleteAppBlockBuilderCommand"; import { DeleteAppBlockCommandInput, DeleteAppBlockCommandOutput } from "./commands/DeleteAppBlockCommand"; import { DeleteApplicationCommandInput, DeleteApplicationCommandOutput } from "./commands/DeleteApplicationCommand"; import { @@ -108,6 +124,14 @@ import { DeleteUsageReportSubscriptionCommandOutput, } from "./commands/DeleteUsageReportSubscriptionCommand"; import { DeleteUserCommandInput, DeleteUserCommandOutput } from "./commands/DeleteUserCommand"; +import { + DescribeAppBlockBuilderAppBlockAssociationsCommandInput, + DescribeAppBlockBuilderAppBlockAssociationsCommandOutput, +} from "./commands/DescribeAppBlockBuilderAppBlockAssociationsCommand"; +import { + DescribeAppBlockBuildersCommandInput, + DescribeAppBlockBuildersCommandOutput, +} from "./commands/DescribeAppBlockBuildersCommand"; import { DescribeAppBlocksCommandInput, DescribeAppBlocksCommandOutput } from "./commands/DescribeAppBlocksCommand"; import { DescribeApplicationFleetAssociationsCommandInput, @@ -147,6 +171,10 @@ import { DescribeUserStackAssociationsCommandOutput, } from "./commands/DescribeUserStackAssociationsCommand"; import { DisableUserCommandInput, DisableUserCommandOutput } from "./commands/DisableUserCommand"; +import { + DisassociateAppBlockBuilderAppBlockCommandInput, + DisassociateAppBlockBuilderAppBlockCommandOutput, +} from "./commands/DisassociateAppBlockBuilderAppBlockCommand"; import { DisassociateApplicationFleetCommandInput, DisassociateApplicationFleetCommandOutput, @@ -174,12 +202,24 @@ import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "./commands/ListTagsForResourceCommand"; +import { + StartAppBlockBuilderCommandInput, + StartAppBlockBuilderCommandOutput, +} from "./commands/StartAppBlockBuilderCommand"; import { StartFleetCommandInput, StartFleetCommandOutput } from "./commands/StartFleetCommand"; import { StartImageBuilderCommandInput, StartImageBuilderCommandOutput } from "./commands/StartImageBuilderCommand"; +import { + StopAppBlockBuilderCommandInput, + StopAppBlockBuilderCommandOutput, +} from "./commands/StopAppBlockBuilderCommand"; import { StopFleetCommandInput, StopFleetCommandOutput } from "./commands/StopFleetCommand"; import { StopImageBuilderCommandInput, StopImageBuilderCommandOutput } from "./commands/StopImageBuilderCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; +import { + UpdateAppBlockBuilderCommandInput, + UpdateAppBlockBuilderCommandOutput, +} from "./commands/UpdateAppBlockBuilderCommand"; import { UpdateApplicationCommandInput, UpdateApplicationCommandOutput } from "./commands/UpdateApplicationCommand"; import { UpdateDirectoryConfigCommandInput, @@ -206,12 +246,15 @@ export { __Client }; * @public */ export type ServiceInputTypes = + | AssociateAppBlockBuilderAppBlockCommandInput | AssociateApplicationFleetCommandInput | AssociateApplicationToEntitlementCommandInput | AssociateFleetCommandInput | BatchAssociateUserStackCommandInput | BatchDisassociateUserStackCommandInput | CopyImageCommandInput + | CreateAppBlockBuilderCommandInput + | CreateAppBlockBuilderStreamingURLCommandInput | CreateAppBlockCommandInput | CreateApplicationCommandInput | CreateDirectoryConfigCommandInput @@ -224,6 +267,7 @@ export type ServiceInputTypes = | CreateUpdatedImageCommandInput | CreateUsageReportSubscriptionCommandInput | CreateUserCommandInput + | DeleteAppBlockBuilderCommandInput | DeleteAppBlockCommandInput | DeleteApplicationCommandInput | DeleteDirectoryConfigCommandInput @@ -235,6 +279,8 @@ export type ServiceInputTypes = | DeleteStackCommandInput | DeleteUsageReportSubscriptionCommandInput | DeleteUserCommandInput + | DescribeAppBlockBuilderAppBlockAssociationsCommandInput + | DescribeAppBlockBuildersCommandInput | DescribeAppBlocksCommandInput | DescribeApplicationFleetAssociationsCommandInput | DescribeApplicationsCommandInput @@ -250,6 +296,7 @@ export type ServiceInputTypes = | DescribeUserStackAssociationsCommandInput | DescribeUsersCommandInput | DisableUserCommandInput + | DisassociateAppBlockBuilderAppBlockCommandInput | DisassociateApplicationFleetCommandInput | DisassociateApplicationFromEntitlementCommandInput | DisassociateFleetCommandInput @@ -259,12 +306,15 @@ export type ServiceInputTypes = | ListAssociatedStacksCommandInput | ListEntitledApplicationsCommandInput | ListTagsForResourceCommandInput + | StartAppBlockBuilderCommandInput | StartFleetCommandInput | StartImageBuilderCommandInput + | StopAppBlockBuilderCommandInput | StopFleetCommandInput | StopImageBuilderCommandInput | TagResourceCommandInput | UntagResourceCommandInput + | UpdateAppBlockBuilderCommandInput | UpdateApplicationCommandInput | UpdateDirectoryConfigCommandInput | UpdateEntitlementCommandInput @@ -276,12 +326,15 @@ export type ServiceInputTypes = * @public */ export type ServiceOutputTypes = + | AssociateAppBlockBuilderAppBlockCommandOutput | AssociateApplicationFleetCommandOutput | AssociateApplicationToEntitlementCommandOutput | AssociateFleetCommandOutput | BatchAssociateUserStackCommandOutput | BatchDisassociateUserStackCommandOutput | CopyImageCommandOutput + | CreateAppBlockBuilderCommandOutput + | CreateAppBlockBuilderStreamingURLCommandOutput | CreateAppBlockCommandOutput | CreateApplicationCommandOutput | CreateDirectoryConfigCommandOutput @@ -294,6 +347,7 @@ export type ServiceOutputTypes = | CreateUpdatedImageCommandOutput | CreateUsageReportSubscriptionCommandOutput | CreateUserCommandOutput + | DeleteAppBlockBuilderCommandOutput | DeleteAppBlockCommandOutput | DeleteApplicationCommandOutput | DeleteDirectoryConfigCommandOutput @@ -305,6 +359,8 @@ export type ServiceOutputTypes = | DeleteStackCommandOutput | DeleteUsageReportSubscriptionCommandOutput | DeleteUserCommandOutput + | DescribeAppBlockBuilderAppBlockAssociationsCommandOutput + | DescribeAppBlockBuildersCommandOutput | DescribeAppBlocksCommandOutput | DescribeApplicationFleetAssociationsCommandOutput | DescribeApplicationsCommandOutput @@ -320,6 +376,7 @@ export type ServiceOutputTypes = | DescribeUserStackAssociationsCommandOutput | DescribeUsersCommandOutput | DisableUserCommandOutput + | DisassociateAppBlockBuilderAppBlockCommandOutput | DisassociateApplicationFleetCommandOutput | DisassociateApplicationFromEntitlementCommandOutput | DisassociateFleetCommandOutput @@ -329,12 +386,15 @@ export type ServiceOutputTypes = | ListAssociatedStacksCommandOutput | ListEntitledApplicationsCommandOutput | ListTagsForResourceCommandOutput + | StartAppBlockBuilderCommandOutput | StartFleetCommandOutput | StartImageBuilderCommandOutput + | StopAppBlockBuilderCommandOutput | StopFleetCommandOutput | StopImageBuilderCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput + | UpdateAppBlockBuilderCommandOutput | UpdateApplicationCommandOutput | UpdateDirectoryConfigCommandOutput | UpdateEntitlementCommandOutput diff --git a/clients/client-appstream/src/commands/AssociateAppBlockBuilderAppBlockCommand.ts b/clients/client-appstream/src/commands/AssociateAppBlockBuilderAppBlockCommand.ts new file mode 100644 index 000000000000..be04c6840e22 --- /dev/null +++ b/clients/client-appstream/src/commands/AssociateAppBlockBuilderAppBlockCommand.ts @@ -0,0 +1,172 @@ +// 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, +} from "@smithy/types"; + +import { AppStreamClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppStreamClient"; +import { AssociateAppBlockBuilderAppBlockRequest, AssociateAppBlockBuilderAppBlockResult } from "../models/models_0"; +import { + de_AssociateAppBlockBuilderAppBlockCommand, + se_AssociateAppBlockBuilderAppBlockCommand, +} from "../protocols/Aws_json1_1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link AssociateAppBlockBuilderAppBlockCommand}. + */ +export interface AssociateAppBlockBuilderAppBlockCommandInput extends AssociateAppBlockBuilderAppBlockRequest {} +/** + * @public + * + * The output of {@link AssociateAppBlockBuilderAppBlockCommand}. + */ +export interface AssociateAppBlockBuilderAppBlockCommandOutput + extends AssociateAppBlockBuilderAppBlockResult, + __MetadataBearer {} + +/** + * @public + *

Associates the specified app block builder with the specified app block.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AppStreamClient, AssociateAppBlockBuilderAppBlockCommand } from "@aws-sdk/client-appstream"; // ES Modules import + * // const { AppStreamClient, AssociateAppBlockBuilderAppBlockCommand } = require("@aws-sdk/client-appstream"); // CommonJS import + * const client = new AppStreamClient(config); + * const input = { // AssociateAppBlockBuilderAppBlockRequest + * AppBlockArn: "STRING_VALUE", // required + * AppBlockBuilderName: "STRING_VALUE", // required + * }; + * const command = new AssociateAppBlockBuilderAppBlockCommand(input); + * const response = await client.send(command); + * // { // AssociateAppBlockBuilderAppBlockResult + * // AppBlockBuilderAppBlockAssociation: { // AppBlockBuilderAppBlockAssociation + * // AppBlockArn: "STRING_VALUE", // required + * // AppBlockBuilderName: "STRING_VALUE", // required + * // }, + * // }; + * + * ``` + * + * @param AssociateAppBlockBuilderAppBlockCommandInput - {@link AssociateAppBlockBuilderAppBlockCommandInput} + * @returns {@link AssociateAppBlockBuilderAppBlockCommandOutput} + * @see {@link AssociateAppBlockBuilderAppBlockCommandInput} for command's `input` shape. + * @see {@link AssociateAppBlockBuilderAppBlockCommandOutput} for command's `response` shape. + * @see {@link AppStreamClientResolvedConfig | config} for AppStreamClient's `config` shape. + * + * @throws {@link ConcurrentModificationException} (client fault) + *

An API error occurred. Wait a few minutes and try again.

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

Indicates an incorrect combination of parameters, or a missing parameter.

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

The requested limit exceeds the permitted limit for an account.

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

The attempted operation is not permitted.

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

The specified resource was not found.

+ * + * @throws {@link AppStreamServiceException} + *

Base exception class for all service exceptions from AppStream service.

+ * + */ +export class AssociateAppBlockBuilderAppBlockCommand extends $Command< + AssociateAppBlockBuilderAppBlockCommandInput, + AssociateAppBlockBuilderAppBlockCommandOutput, + AppStreamClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + 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: AssociateAppBlockBuilderAppBlockCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AppStreamClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, AssociateAppBlockBuilderAppBlockCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "AppStreamClient"; + const commandName = "AssociateAppBlockBuilderAppBlockCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize( + input: AssociateAppBlockBuilderAppBlockCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return se_AssociateAppBlockBuilderAppBlockCommand(input, context); + } + + /** + * @internal + */ + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return de_AssociateAppBlockBuilderAppBlockCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-appstream/src/commands/CreateAppBlockBuilderCommand.ts b/clients/client-appstream/src/commands/CreateAppBlockBuilderCommand.ts new file mode 100644 index 000000000000..7968ba3844dc --- /dev/null +++ b/clients/client-appstream/src/commands/CreateAppBlockBuilderCommand.ts @@ -0,0 +1,231 @@ +// 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, +} from "@smithy/types"; + +import { AppStreamClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppStreamClient"; +import { CreateAppBlockBuilderRequest, CreateAppBlockBuilderResult } from "../models/models_0"; +import { de_CreateAppBlockBuilderCommand, se_CreateAppBlockBuilderCommand } from "../protocols/Aws_json1_1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link CreateAppBlockBuilderCommand}. + */ +export interface CreateAppBlockBuilderCommandInput extends CreateAppBlockBuilderRequest {} +/** + * @public + * + * The output of {@link CreateAppBlockBuilderCommand}. + */ +export interface CreateAppBlockBuilderCommandOutput extends CreateAppBlockBuilderResult, __MetadataBearer {} + +/** + * @public + *

Creates an app block builder.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AppStreamClient, CreateAppBlockBuilderCommand } from "@aws-sdk/client-appstream"; // ES Modules import + * // const { AppStreamClient, CreateAppBlockBuilderCommand } = require("@aws-sdk/client-appstream"); // CommonJS import + * const client = new AppStreamClient(config); + * const input = { // CreateAppBlockBuilderRequest + * Name: "STRING_VALUE", // required + * Description: "STRING_VALUE", + * DisplayName: "STRING_VALUE", + * Tags: { // Tags + * "": "STRING_VALUE", + * }, + * Platform: "WINDOWS_SERVER_2019", // required + * InstanceType: "STRING_VALUE", // required + * VpcConfig: { // VpcConfig + * SubnetIds: [ // SubnetIdList + * "STRING_VALUE", + * ], + * SecurityGroupIds: [ // SecurityGroupIdList + * "STRING_VALUE", + * ], + * }, + * EnableDefaultInternetAccess: true || false, + * IamRoleArn: "STRING_VALUE", + * AccessEndpoints: [ // AccessEndpointList + * { // AccessEndpoint + * EndpointType: "STREAMING", // required + * VpceId: "STRING_VALUE", + * }, + * ], + * }; + * const command = new CreateAppBlockBuilderCommand(input); + * const response = await client.send(command); + * // { // CreateAppBlockBuilderResult + * // AppBlockBuilder: { // AppBlockBuilder + * // Arn: "STRING_VALUE", // required + * // Name: "STRING_VALUE", // required + * // DisplayName: "STRING_VALUE", + * // Description: "STRING_VALUE", + * // Platform: "WINDOWS_SERVER_2019", // required + * // InstanceType: "STRING_VALUE", // required + * // EnableDefaultInternetAccess: true || false, + * // IamRoleArn: "STRING_VALUE", + * // VpcConfig: { // VpcConfig + * // SubnetIds: [ // SubnetIdList + * // "STRING_VALUE", + * // ], + * // SecurityGroupIds: [ // SecurityGroupIdList + * // "STRING_VALUE", + * // ], + * // }, + * // State: "STARTING" || "RUNNING" || "STOPPING" || "STOPPED", // required + * // CreatedTime: new Date("TIMESTAMP"), + * // AppBlockBuilderErrors: [ // ResourceErrors + * // { // ResourceError + * // ErrorCode: "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION" || "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION" || "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION" || "NETWORK_INTERFACE_LIMIT_EXCEEDED" || "INTERNAL_SERVICE_ERROR" || "IAM_SERVICE_ROLE_IS_MISSING" || "MACHINE_ROLE_IS_MISSING" || "STS_DISABLED_IN_REGION" || "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES" || "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION" || "SUBNET_NOT_FOUND" || "IMAGE_NOT_FOUND" || "INVALID_SUBNET_CONFIGURATION" || "SECURITY_GROUPS_NOT_FOUND" || "IGW_NOT_ATTACHED" || "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION" || "FLEET_STOPPED" || "FLEET_INSTANCE_PROVISIONING_FAILURE" || "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND" || "DOMAIN_JOIN_ERROR_ACCESS_DENIED" || "DOMAIN_JOIN_ERROR_LOGON_FAILURE" || "DOMAIN_JOIN_ERROR_INVALID_PARAMETER" || "DOMAIN_JOIN_ERROR_MORE_DATA" || "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN" || "DOMAIN_JOIN_ERROR_NOT_SUPPORTED" || "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME" || "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED" || "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED" || "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED" || "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR", + * // ErrorMessage: "STRING_VALUE", + * // ErrorTimestamp: new Date("TIMESTAMP"), + * // }, + * // ], + * // StateChangeReason: { // AppBlockBuilderStateChangeReason + * // Code: "INTERNAL_ERROR", + * // Message: "STRING_VALUE", + * // }, + * // AccessEndpoints: [ // AccessEndpointList + * // { // AccessEndpoint + * // EndpointType: "STREAMING", // required + * // VpceId: "STRING_VALUE", + * // }, + * // ], + * // }, + * // }; + * + * ``` + * + * @param CreateAppBlockBuilderCommandInput - {@link CreateAppBlockBuilderCommandInput} + * @returns {@link CreateAppBlockBuilderCommandOutput} + * @see {@link CreateAppBlockBuilderCommandInput} for command's `input` shape. + * @see {@link CreateAppBlockBuilderCommandOutput} for command's `response` shape. + * @see {@link AppStreamClientResolvedConfig | config} for AppStreamClient's `config` shape. + * + * @throws {@link ConcurrentModificationException} (client fault) + *

An API error occurred. Wait a few minutes and try again.

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

The resource cannot be created because your AWS account is suspended. For assistance, contact AWS Support.

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

Indicates an incorrect combination of parameters, or a missing parameter.

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

The specified role is invalid.

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

The requested limit exceeds the permitted limit for an account.

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

The attempted operation is not permitted.

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

AppStream 2.0 can’t process the request right now because the Describe calls from your AWS account are being throttled by Amazon EC2. Try again later.

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

The specified resource already exists.

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

The specified resource exists and is not in use, but isn't available.

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

The specified resource was not found.

+ * + * @throws {@link AppStreamServiceException} + *

Base exception class for all service exceptions from AppStream service.

+ * + */ +export class CreateAppBlockBuilderCommand extends $Command< + CreateAppBlockBuilderCommandInput, + CreateAppBlockBuilderCommandOutput, + AppStreamClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + 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: CreateAppBlockBuilderCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AppStreamClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, CreateAppBlockBuilderCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "AppStreamClient"; + const commandName = "CreateAppBlockBuilderCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: CreateAppBlockBuilderCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_CreateAppBlockBuilderCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_CreateAppBlockBuilderCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-appstream/src/commands/CreateAppBlockBuilderStreamingURLCommand.ts b/clients/client-appstream/src/commands/CreateAppBlockBuilderStreamingURLCommand.ts new file mode 100644 index 000000000000..49cc55e7340f --- /dev/null +++ b/clients/client-appstream/src/commands/CreateAppBlockBuilderStreamingURLCommand.ts @@ -0,0 +1,161 @@ +// 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, +} from "@smithy/types"; + +import { AppStreamClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppStreamClient"; +import { CreateAppBlockBuilderStreamingURLRequest, CreateAppBlockBuilderStreamingURLResult } from "../models/models_0"; +import { + de_CreateAppBlockBuilderStreamingURLCommand, + se_CreateAppBlockBuilderStreamingURLCommand, +} from "../protocols/Aws_json1_1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link CreateAppBlockBuilderStreamingURLCommand}. + */ +export interface CreateAppBlockBuilderStreamingURLCommandInput extends CreateAppBlockBuilderStreamingURLRequest {} +/** + * @public + * + * The output of {@link CreateAppBlockBuilderStreamingURLCommand}. + */ +export interface CreateAppBlockBuilderStreamingURLCommandOutput + extends CreateAppBlockBuilderStreamingURLResult, + __MetadataBearer {} + +/** + * @public + *

Creates a URL to start a create app block builder streaming session.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AppStreamClient, CreateAppBlockBuilderStreamingURLCommand } from "@aws-sdk/client-appstream"; // ES Modules import + * // const { AppStreamClient, CreateAppBlockBuilderStreamingURLCommand } = require("@aws-sdk/client-appstream"); // CommonJS import + * const client = new AppStreamClient(config); + * const input = { // CreateAppBlockBuilderStreamingURLRequest + * AppBlockBuilderName: "STRING_VALUE", // required + * Validity: Number("long"), + * }; + * const command = new CreateAppBlockBuilderStreamingURLCommand(input); + * const response = await client.send(command); + * // { // CreateAppBlockBuilderStreamingURLResult + * // StreamingURL: "STRING_VALUE", + * // Expires: new Date("TIMESTAMP"), + * // }; + * + * ``` + * + * @param CreateAppBlockBuilderStreamingURLCommandInput - {@link CreateAppBlockBuilderStreamingURLCommandInput} + * @returns {@link CreateAppBlockBuilderStreamingURLCommandOutput} + * @see {@link CreateAppBlockBuilderStreamingURLCommandInput} for command's `input` shape. + * @see {@link CreateAppBlockBuilderStreamingURLCommandOutput} for command's `response` shape. + * @see {@link AppStreamClientResolvedConfig | config} for AppStreamClient's `config` shape. + * + * @throws {@link OperationNotPermittedException} (client fault) + *

The attempted operation is not permitted.

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

The specified resource was not found.

+ * + * @throws {@link AppStreamServiceException} + *

Base exception class for all service exceptions from AppStream service.

+ * + */ +export class CreateAppBlockBuilderStreamingURLCommand extends $Command< + CreateAppBlockBuilderStreamingURLCommandInput, + CreateAppBlockBuilderStreamingURLCommandOutput, + AppStreamClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + 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: CreateAppBlockBuilderStreamingURLCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AppStreamClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, CreateAppBlockBuilderStreamingURLCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "AppStreamClient"; + const commandName = "CreateAppBlockBuilderStreamingURLCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize( + input: CreateAppBlockBuilderStreamingURLCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return se_CreateAppBlockBuilderStreamingURLCommand(input, context); + } + + /** + * @internal + */ + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return de_CreateAppBlockBuilderStreamingURLCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-appstream/src/commands/CreateAppBlockCommand.ts b/clients/client-appstream/src/commands/CreateAppBlockCommand.ts index a13c313e482a..2e5e6309673a 100644 --- a/clients/client-appstream/src/commands/CreateAppBlockCommand.ts +++ b/clients/client-appstream/src/commands/CreateAppBlockCommand.ts @@ -55,12 +55,12 @@ export interface CreateAppBlockCommandOutput extends CreateAppBlockResult, __Met * DisplayName: "STRING_VALUE", * SourceS3Location: { // S3Location * S3Bucket: "STRING_VALUE", // required - * S3Key: "STRING_VALUE", // required + * S3Key: "STRING_VALUE", * }, * SetupScriptDetails: { // ScriptDetails * ScriptS3Location: { * S3Bucket: "STRING_VALUE", // required - * S3Key: "STRING_VALUE", // required + * S3Key: "STRING_VALUE", * }, * ExecutablePath: "STRING_VALUE", // required * ExecutableParameters: "STRING_VALUE", @@ -69,6 +69,16 @@ export interface CreateAppBlockCommandOutput extends CreateAppBlockResult, __Met * Tags: { // Tags * "": "STRING_VALUE", * }, + * PostSetupScriptDetails: { + * ScriptS3Location: { + * S3Bucket: "STRING_VALUE", // required + * S3Key: "STRING_VALUE", + * }, + * ExecutablePath: "STRING_VALUE", // required + * ExecutableParameters: "STRING_VALUE", + * TimeoutInSeconds: Number("int"), // required + * }, + * PackagingType: "CUSTOM" || "APPSTREAM2", * }; * const command = new CreateAppBlockCommand(input); * const response = await client.send(command); @@ -80,18 +90,35 @@ export interface CreateAppBlockCommandOutput extends CreateAppBlockResult, __Met * // DisplayName: "STRING_VALUE", * // SourceS3Location: { // S3Location * // S3Bucket: "STRING_VALUE", // required - * // S3Key: "STRING_VALUE", // required + * // S3Key: "STRING_VALUE", * // }, * // SetupScriptDetails: { // ScriptDetails * // ScriptS3Location: { * // S3Bucket: "STRING_VALUE", // required - * // S3Key: "STRING_VALUE", // required + * // S3Key: "STRING_VALUE", * // }, * // ExecutablePath: "STRING_VALUE", // required * // ExecutableParameters: "STRING_VALUE", * // TimeoutInSeconds: Number("int"), // required * // }, * // CreatedTime: new Date("TIMESTAMP"), + * // PostSetupScriptDetails: { + * // ScriptS3Location: { + * // S3Bucket: "STRING_VALUE", // required + * // S3Key: "STRING_VALUE", + * // }, + * // ExecutablePath: "STRING_VALUE", // required + * // ExecutableParameters: "STRING_VALUE", + * // TimeoutInSeconds: Number("int"), // required + * // }, + * // PackagingType: "CUSTOM" || "APPSTREAM2", + * // State: "INACTIVE" || "ACTIVE", + * // AppBlockErrors: [ // ErrorDetailsList + * // { // ErrorDetails + * // ErrorCode: "STRING_VALUE", + * // ErrorMessage: "STRING_VALUE", + * // }, + * // ], * // }, * // }; * diff --git a/clients/client-appstream/src/commands/CreateApplicationCommand.ts b/clients/client-appstream/src/commands/CreateApplicationCommand.ts index 212f27a59cb9..b84c2cbf7bb0 100644 --- a/clients/client-appstream/src/commands/CreateApplicationCommand.ts +++ b/clients/client-appstream/src/commands/CreateApplicationCommand.ts @@ -55,7 +55,7 @@ export interface CreateApplicationCommandOutput extends CreateApplicationResult, * Description: "STRING_VALUE", * IconS3Location: { // S3Location * S3Bucket: "STRING_VALUE", // required - * S3Key: "STRING_VALUE", // required + * S3Key: "STRING_VALUE", * }, * LaunchPath: "STRING_VALUE", // required * WorkingDirectory: "STRING_VALUE", @@ -90,7 +90,7 @@ export interface CreateApplicationCommandOutput extends CreateApplicationResult, * // AppBlockArn: "STRING_VALUE", * // IconS3Location: { // S3Location * // S3Bucket: "STRING_VALUE", // required - * // S3Key: "STRING_VALUE", // required + * // S3Key: "STRING_VALUE", * // }, * // Platforms: [ // Platforms * // "WINDOWS" || "WINDOWS_SERVER_2016" || "WINDOWS_SERVER_2019" || "AMAZON_LINUX2", diff --git a/clients/client-appstream/src/commands/CreateFleetCommand.ts b/clients/client-appstream/src/commands/CreateFleetCommand.ts index cd4ad765a732..3535e4cacdf8 100644 --- a/clients/client-appstream/src/commands/CreateFleetCommand.ts +++ b/clients/client-appstream/src/commands/CreateFleetCommand.ts @@ -82,7 +82,7 @@ export interface CreateFleetCommandOutput extends CreateFleetResult, __MetadataB * ], * SessionScriptS3Location: { // S3Location * S3Bucket: "STRING_VALUE", // required - * S3Key: "STRING_VALUE", // required + * S3Key: "STRING_VALUE", * }, * }; * const command = new CreateFleetCommand(input); @@ -136,7 +136,7 @@ export interface CreateFleetCommandOutput extends CreateFleetResult, __MetadataB * // ], * // SessionScriptS3Location: { // S3Location * // S3Bucket: "STRING_VALUE", // required - * // S3Key: "STRING_VALUE", // required + * // S3Key: "STRING_VALUE", * // }, * // }, * // }; diff --git a/clients/client-appstream/src/commands/CreateUpdatedImageCommand.ts b/clients/client-appstream/src/commands/CreateUpdatedImageCommand.ts index 30132d1c486f..5c081653ed31 100644 --- a/clients/client-appstream/src/commands/CreateUpdatedImageCommand.ts +++ b/clients/client-appstream/src/commands/CreateUpdatedImageCommand.ts @@ -90,7 +90,7 @@ export interface CreateUpdatedImageCommandOutput extends CreateUpdatedImageResul * // AppBlockArn: "STRING_VALUE", * // IconS3Location: { // S3Location * // S3Bucket: "STRING_VALUE", // required - * // S3Key: "STRING_VALUE", // required + * // S3Key: "STRING_VALUE", * // }, * // Platforms: [ // Platforms * // "WINDOWS" || "WINDOWS_SERVER_2016" || "WINDOWS_SERVER_2019" || "AMAZON_LINUX2", diff --git a/clients/client-appstream/src/commands/DeleteAppBlockBuilderCommand.ts b/clients/client-appstream/src/commands/DeleteAppBlockBuilderCommand.ts new file mode 100644 index 000000000000..ce12dcc7a3df --- /dev/null +++ b/clients/client-appstream/src/commands/DeleteAppBlockBuilderCommand.ts @@ -0,0 +1,154 @@ +// 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, +} from "@smithy/types"; + +import { AppStreamClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppStreamClient"; +import { DeleteAppBlockBuilderRequest, DeleteAppBlockBuilderResult } from "../models/models_0"; +import { de_DeleteAppBlockBuilderCommand, se_DeleteAppBlockBuilderCommand } from "../protocols/Aws_json1_1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link DeleteAppBlockBuilderCommand}. + */ +export interface DeleteAppBlockBuilderCommandInput extends DeleteAppBlockBuilderRequest {} +/** + * @public + * + * The output of {@link DeleteAppBlockBuilderCommand}. + */ +export interface DeleteAppBlockBuilderCommandOutput extends DeleteAppBlockBuilderResult, __MetadataBearer {} + +/** + * @public + *

Deletes an app block builder.

+ *

An app block builder can only be deleted when it has no association with an app + * block.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AppStreamClient, DeleteAppBlockBuilderCommand } from "@aws-sdk/client-appstream"; // ES Modules import + * // const { AppStreamClient, DeleteAppBlockBuilderCommand } = require("@aws-sdk/client-appstream"); // CommonJS import + * const client = new AppStreamClient(config); + * const input = { // DeleteAppBlockBuilderRequest + * Name: "STRING_VALUE", // required + * }; + * const command = new DeleteAppBlockBuilderCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DeleteAppBlockBuilderCommandInput - {@link DeleteAppBlockBuilderCommandInput} + * @returns {@link DeleteAppBlockBuilderCommandOutput} + * @see {@link DeleteAppBlockBuilderCommandInput} for command's `input` shape. + * @see {@link DeleteAppBlockBuilderCommandOutput} for command's `response` shape. + * @see {@link AppStreamClientResolvedConfig | config} for AppStreamClient's `config` shape. + * + * @throws {@link ConcurrentModificationException} (client fault) + *

An API error occurred. Wait a few minutes and try again.

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

The attempted operation is not permitted.

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

The specified resource is in use.

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

The specified resource was not found.

+ * + * @throws {@link AppStreamServiceException} + *

Base exception class for all service exceptions from AppStream service.

+ * + */ +export class DeleteAppBlockBuilderCommand extends $Command< + DeleteAppBlockBuilderCommandInput, + DeleteAppBlockBuilderCommandOutput, + AppStreamClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + 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: DeleteAppBlockBuilderCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AppStreamClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, DeleteAppBlockBuilderCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "AppStreamClient"; + const commandName = "DeleteAppBlockBuilderCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: DeleteAppBlockBuilderCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_DeleteAppBlockBuilderCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_DeleteAppBlockBuilderCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-appstream/src/commands/DeleteImageCommand.ts b/clients/client-appstream/src/commands/DeleteImageCommand.ts index 68b085f737a6..99337b6ecb34 100644 --- a/clients/client-appstream/src/commands/DeleteImageCommand.ts +++ b/clients/client-appstream/src/commands/DeleteImageCommand.ts @@ -82,7 +82,7 @@ export interface DeleteImageCommandOutput extends DeleteImageResult, __MetadataB * // AppBlockArn: "STRING_VALUE", * // IconS3Location: { // S3Location * // S3Bucket: "STRING_VALUE", // required - * // S3Key: "STRING_VALUE", // required + * // S3Key: "STRING_VALUE", * // }, * // Platforms: [ // Platforms * // "WINDOWS" || "WINDOWS_SERVER_2016" || "WINDOWS_SERVER_2019" || "AMAZON_LINUX2", diff --git a/clients/client-appstream/src/commands/DescribeAppBlockBuilderAppBlockAssociationsCommand.ts b/clients/client-appstream/src/commands/DescribeAppBlockBuilderAppBlockAssociationsCommand.ts new file mode 100644 index 000000000000..08484df56b67 --- /dev/null +++ b/clients/client-appstream/src/commands/DescribeAppBlockBuilderAppBlockAssociationsCommand.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, +} from "@smithy/types"; + +import { AppStreamClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppStreamClient"; +import { + DescribeAppBlockBuilderAppBlockAssociationsRequest, + DescribeAppBlockBuilderAppBlockAssociationsResult, +} from "../models/models_0"; +import { + de_DescribeAppBlockBuilderAppBlockAssociationsCommand, + se_DescribeAppBlockBuilderAppBlockAssociationsCommand, +} from "../protocols/Aws_json1_1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link DescribeAppBlockBuilderAppBlockAssociationsCommand}. + */ +export interface DescribeAppBlockBuilderAppBlockAssociationsCommandInput + extends DescribeAppBlockBuilderAppBlockAssociationsRequest {} +/** + * @public + * + * The output of {@link DescribeAppBlockBuilderAppBlockAssociationsCommand}. + */ +export interface DescribeAppBlockBuilderAppBlockAssociationsCommandOutput + extends DescribeAppBlockBuilderAppBlockAssociationsResult, + __MetadataBearer {} + +/** + * @public + *

Retrieves a list that describes one or more app block builder associations.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AppStreamClient, DescribeAppBlockBuilderAppBlockAssociationsCommand } from "@aws-sdk/client-appstream"; // ES Modules import + * // const { AppStreamClient, DescribeAppBlockBuilderAppBlockAssociationsCommand } = require("@aws-sdk/client-appstream"); // CommonJS import + * const client = new AppStreamClient(config); + * const input = { // DescribeAppBlockBuilderAppBlockAssociationsRequest + * AppBlockArn: "STRING_VALUE", + * AppBlockBuilderName: "STRING_VALUE", + * MaxResults: Number("int"), + * NextToken: "STRING_VALUE", + * }; + * const command = new DescribeAppBlockBuilderAppBlockAssociationsCommand(input); + * const response = await client.send(command); + * // { // DescribeAppBlockBuilderAppBlockAssociationsResult + * // AppBlockBuilderAppBlockAssociations: [ // AppBlockBuilderAppBlockAssociationsList + * // { // AppBlockBuilderAppBlockAssociation + * // AppBlockArn: "STRING_VALUE", // required + * // AppBlockBuilderName: "STRING_VALUE", // required + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param DescribeAppBlockBuilderAppBlockAssociationsCommandInput - {@link DescribeAppBlockBuilderAppBlockAssociationsCommandInput} + * @returns {@link DescribeAppBlockBuilderAppBlockAssociationsCommandOutput} + * @see {@link DescribeAppBlockBuilderAppBlockAssociationsCommandInput} for command's `input` shape. + * @see {@link DescribeAppBlockBuilderAppBlockAssociationsCommandOutput} for command's `response` shape. + * @see {@link AppStreamClientResolvedConfig | config} for AppStreamClient's `config` shape. + * + * @throws {@link InvalidParameterCombinationException} (client fault) + *

Indicates an incorrect combination of parameters, or a missing parameter.

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

The attempted operation is not permitted.

+ * + * @throws {@link AppStreamServiceException} + *

Base exception class for all service exceptions from AppStream service.

+ * + */ +export class DescribeAppBlockBuilderAppBlockAssociationsCommand extends $Command< + DescribeAppBlockBuilderAppBlockAssociationsCommandInput, + DescribeAppBlockBuilderAppBlockAssociationsCommandOutput, + AppStreamClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + 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: DescribeAppBlockBuilderAppBlockAssociationsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AppStreamClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler< + DescribeAppBlockBuilderAppBlockAssociationsCommandInput, + DescribeAppBlockBuilderAppBlockAssociationsCommandOutput + > { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin( + configuration, + DescribeAppBlockBuilderAppBlockAssociationsCommand.getEndpointParameterInstructions() + ) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "AppStreamClient"; + const commandName = "DescribeAppBlockBuilderAppBlockAssociationsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize( + input: DescribeAppBlockBuilderAppBlockAssociationsCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return se_DescribeAppBlockBuilderAppBlockAssociationsCommand(input, context); + } + + /** + * @internal + */ + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return de_DescribeAppBlockBuilderAppBlockAssociationsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-appstream/src/commands/DescribeAppBlockBuildersCommand.ts b/clients/client-appstream/src/commands/DescribeAppBlockBuildersCommand.ts new file mode 100644 index 000000000000..3dced9ba3592 --- /dev/null +++ b/clients/client-appstream/src/commands/DescribeAppBlockBuildersCommand.ts @@ -0,0 +1,191 @@ +// 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, +} from "@smithy/types"; + +import { AppStreamClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppStreamClient"; +import { DescribeAppBlockBuildersRequest, DescribeAppBlockBuildersResult } from "../models/models_0"; +import { de_DescribeAppBlockBuildersCommand, se_DescribeAppBlockBuildersCommand } from "../protocols/Aws_json1_1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link DescribeAppBlockBuildersCommand}. + */ +export interface DescribeAppBlockBuildersCommandInput extends DescribeAppBlockBuildersRequest {} +/** + * @public + * + * The output of {@link DescribeAppBlockBuildersCommand}. + */ +export interface DescribeAppBlockBuildersCommandOutput extends DescribeAppBlockBuildersResult, __MetadataBearer {} + +/** + * @public + *

Retrieves a list that describes one or more app block builders.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AppStreamClient, DescribeAppBlockBuildersCommand } from "@aws-sdk/client-appstream"; // ES Modules import + * // const { AppStreamClient, DescribeAppBlockBuildersCommand } = require("@aws-sdk/client-appstream"); // CommonJS import + * const client = new AppStreamClient(config); + * const input = { // DescribeAppBlockBuildersRequest + * Names: [ // StringList + * "STRING_VALUE", + * ], + * NextToken: "STRING_VALUE", + * MaxResults: Number("int"), + * }; + * const command = new DescribeAppBlockBuildersCommand(input); + * const response = await client.send(command); + * // { // DescribeAppBlockBuildersResult + * // AppBlockBuilders: [ // AppBlockBuilderList + * // { // AppBlockBuilder + * // Arn: "STRING_VALUE", // required + * // Name: "STRING_VALUE", // required + * // DisplayName: "STRING_VALUE", + * // Description: "STRING_VALUE", + * // Platform: "WINDOWS_SERVER_2019", // required + * // InstanceType: "STRING_VALUE", // required + * // EnableDefaultInternetAccess: true || false, + * // IamRoleArn: "STRING_VALUE", + * // VpcConfig: { // VpcConfig + * // SubnetIds: [ // SubnetIdList + * // "STRING_VALUE", + * // ], + * // SecurityGroupIds: [ // SecurityGroupIdList + * // "STRING_VALUE", + * // ], + * // }, + * // State: "STARTING" || "RUNNING" || "STOPPING" || "STOPPED", // required + * // CreatedTime: new Date("TIMESTAMP"), + * // AppBlockBuilderErrors: [ // ResourceErrors + * // { // ResourceError + * // ErrorCode: "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION" || "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION" || "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION" || "NETWORK_INTERFACE_LIMIT_EXCEEDED" || "INTERNAL_SERVICE_ERROR" || "IAM_SERVICE_ROLE_IS_MISSING" || "MACHINE_ROLE_IS_MISSING" || "STS_DISABLED_IN_REGION" || "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES" || "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION" || "SUBNET_NOT_FOUND" || "IMAGE_NOT_FOUND" || "INVALID_SUBNET_CONFIGURATION" || "SECURITY_GROUPS_NOT_FOUND" || "IGW_NOT_ATTACHED" || "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION" || "FLEET_STOPPED" || "FLEET_INSTANCE_PROVISIONING_FAILURE" || "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND" || "DOMAIN_JOIN_ERROR_ACCESS_DENIED" || "DOMAIN_JOIN_ERROR_LOGON_FAILURE" || "DOMAIN_JOIN_ERROR_INVALID_PARAMETER" || "DOMAIN_JOIN_ERROR_MORE_DATA" || "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN" || "DOMAIN_JOIN_ERROR_NOT_SUPPORTED" || "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME" || "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED" || "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED" || "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED" || "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR", + * // ErrorMessage: "STRING_VALUE", + * // ErrorTimestamp: new Date("TIMESTAMP"), + * // }, + * // ], + * // StateChangeReason: { // AppBlockBuilderStateChangeReason + * // Code: "INTERNAL_ERROR", + * // Message: "STRING_VALUE", + * // }, + * // AccessEndpoints: [ // AccessEndpointList + * // { // AccessEndpoint + * // EndpointType: "STREAMING", // required + * // VpceId: "STRING_VALUE", + * // }, + * // ], + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param DescribeAppBlockBuildersCommandInput - {@link DescribeAppBlockBuildersCommandInput} + * @returns {@link DescribeAppBlockBuildersCommandOutput} + * @see {@link DescribeAppBlockBuildersCommandInput} for command's `input` shape. + * @see {@link DescribeAppBlockBuildersCommandOutput} for command's `response` shape. + * @see {@link AppStreamClientResolvedConfig | config} for AppStreamClient's `config` shape. + * + * @throws {@link OperationNotPermittedException} (client fault) + *

The attempted operation is not permitted.

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

The specified resource was not found.

+ * + * @throws {@link AppStreamServiceException} + *

Base exception class for all service exceptions from AppStream service.

+ * + */ +export class DescribeAppBlockBuildersCommand extends $Command< + DescribeAppBlockBuildersCommandInput, + DescribeAppBlockBuildersCommandOutput, + AppStreamClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + 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: DescribeAppBlockBuildersCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AppStreamClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, DescribeAppBlockBuildersCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "AppStreamClient"; + const commandName = "DescribeAppBlockBuildersCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: DescribeAppBlockBuildersCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_DescribeAppBlockBuildersCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_DescribeAppBlockBuildersCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-appstream/src/commands/DescribeAppBlocksCommand.ts b/clients/client-appstream/src/commands/DescribeAppBlocksCommand.ts index e4afc8821bf1..1878210ffd63 100644 --- a/clients/client-appstream/src/commands/DescribeAppBlocksCommand.ts +++ b/clients/client-appstream/src/commands/DescribeAppBlocksCommand.ts @@ -61,18 +61,35 @@ export interface DescribeAppBlocksCommandOutput extends DescribeAppBlocksResult, * // DisplayName: "STRING_VALUE", * // SourceS3Location: { // S3Location * // S3Bucket: "STRING_VALUE", // required - * // S3Key: "STRING_VALUE", // required + * // S3Key: "STRING_VALUE", * // }, * // SetupScriptDetails: { // ScriptDetails * // ScriptS3Location: { * // S3Bucket: "STRING_VALUE", // required - * // S3Key: "STRING_VALUE", // required + * // S3Key: "STRING_VALUE", * // }, * // ExecutablePath: "STRING_VALUE", // required * // ExecutableParameters: "STRING_VALUE", * // TimeoutInSeconds: Number("int"), // required * // }, * // CreatedTime: new Date("TIMESTAMP"), + * // PostSetupScriptDetails: { + * // ScriptS3Location: { + * // S3Bucket: "STRING_VALUE", // required + * // S3Key: "STRING_VALUE", + * // }, + * // ExecutablePath: "STRING_VALUE", // required + * // ExecutableParameters: "STRING_VALUE", + * // TimeoutInSeconds: Number("int"), // required + * // }, + * // PackagingType: "CUSTOM" || "APPSTREAM2", + * // State: "INACTIVE" || "ACTIVE", + * // AppBlockErrors: [ // ErrorDetailsList + * // { // ErrorDetails + * // ErrorCode: "STRING_VALUE", + * // ErrorMessage: "STRING_VALUE", + * // }, + * // ], * // }, * // ], * // NextToken: "STRING_VALUE", diff --git a/clients/client-appstream/src/commands/DescribeApplicationsCommand.ts b/clients/client-appstream/src/commands/DescribeApplicationsCommand.ts index cb0824295f08..a5097019a8ed 100644 --- a/clients/client-appstream/src/commands/DescribeApplicationsCommand.ts +++ b/clients/client-appstream/src/commands/DescribeApplicationsCommand.ts @@ -70,7 +70,7 @@ export interface DescribeApplicationsCommandOutput extends DescribeApplicationsR * // AppBlockArn: "STRING_VALUE", * // IconS3Location: { // S3Location * // S3Bucket: "STRING_VALUE", // required - * // S3Key: "STRING_VALUE", // required + * // S3Key: "STRING_VALUE", * // }, * // Platforms: [ // Platforms * // "WINDOWS" || "WINDOWS_SERVER_2016" || "WINDOWS_SERVER_2019" || "AMAZON_LINUX2", diff --git a/clients/client-appstream/src/commands/DescribeFleetsCommand.ts b/clients/client-appstream/src/commands/DescribeFleetsCommand.ts index d710130d3a7c..1eb94c4b78f0 100644 --- a/clients/client-appstream/src/commands/DescribeFleetsCommand.ts +++ b/clients/client-appstream/src/commands/DescribeFleetsCommand.ts @@ -101,7 +101,7 @@ export interface DescribeFleetsCommandOutput extends DescribeFleetsResult, __Met * // ], * // SessionScriptS3Location: { // S3Location * // S3Bucket: "STRING_VALUE", // required - * // S3Key: "STRING_VALUE", // required + * // S3Key: "STRING_VALUE", * // }, * // }, * // ], diff --git a/clients/client-appstream/src/commands/DescribeImagesCommand.ts b/clients/client-appstream/src/commands/DescribeImagesCommand.ts index 1f90cfd74c4f..1d879a7d21c6 100644 --- a/clients/client-appstream/src/commands/DescribeImagesCommand.ts +++ b/clients/client-appstream/src/commands/DescribeImagesCommand.ts @@ -90,7 +90,7 @@ export interface DescribeImagesCommandOutput extends DescribeImagesResult, __Met * // AppBlockArn: "STRING_VALUE", * // IconS3Location: { // S3Location * // S3Bucket: "STRING_VALUE", // required - * // S3Key: "STRING_VALUE", // required + * // S3Key: "STRING_VALUE", * // }, * // Platforms: [ // Platforms * // "WINDOWS" || "WINDOWS_SERVER_2016" || "WINDOWS_SERVER_2019" || "AMAZON_LINUX2", diff --git a/clients/client-appstream/src/commands/DisassociateAppBlockBuilderAppBlockCommand.ts b/clients/client-appstream/src/commands/DisassociateAppBlockBuilderAppBlockCommand.ts new file mode 100644 index 000000000000..21a1c00b79f5 --- /dev/null +++ b/clients/client-appstream/src/commands/DisassociateAppBlockBuilderAppBlockCommand.ts @@ -0,0 +1,167 @@ +// 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, +} from "@smithy/types"; + +import { AppStreamClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppStreamClient"; +import { + DisassociateAppBlockBuilderAppBlockRequest, + DisassociateAppBlockBuilderAppBlockResult, +} from "../models/models_0"; +import { + de_DisassociateAppBlockBuilderAppBlockCommand, + se_DisassociateAppBlockBuilderAppBlockCommand, +} from "../protocols/Aws_json1_1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link DisassociateAppBlockBuilderAppBlockCommand}. + */ +export interface DisassociateAppBlockBuilderAppBlockCommandInput extends DisassociateAppBlockBuilderAppBlockRequest {} +/** + * @public + * + * The output of {@link DisassociateAppBlockBuilderAppBlockCommand}. + */ +export interface DisassociateAppBlockBuilderAppBlockCommandOutput + extends DisassociateAppBlockBuilderAppBlockResult, + __MetadataBearer {} + +/** + * @public + *

Disassociates a specified app block builder from a specified app block.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AppStreamClient, DisassociateAppBlockBuilderAppBlockCommand } from "@aws-sdk/client-appstream"; // ES Modules import + * // const { AppStreamClient, DisassociateAppBlockBuilderAppBlockCommand } = require("@aws-sdk/client-appstream"); // CommonJS import + * const client = new AppStreamClient(config); + * const input = { // DisassociateAppBlockBuilderAppBlockRequest + * AppBlockArn: "STRING_VALUE", // required + * AppBlockBuilderName: "STRING_VALUE", // required + * }; + * const command = new DisassociateAppBlockBuilderAppBlockCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DisassociateAppBlockBuilderAppBlockCommandInput - {@link DisassociateAppBlockBuilderAppBlockCommandInput} + * @returns {@link DisassociateAppBlockBuilderAppBlockCommandOutput} + * @see {@link DisassociateAppBlockBuilderAppBlockCommandInput} for command's `input` shape. + * @see {@link DisassociateAppBlockBuilderAppBlockCommandOutput} for command's `response` shape. + * @see {@link AppStreamClientResolvedConfig | config} for AppStreamClient's `config` shape. + * + * @throws {@link ConcurrentModificationException} (client fault) + *

An API error occurred. Wait a few minutes and try again.

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

Indicates an incorrect combination of parameters, or a missing parameter.

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

The attempted operation is not permitted.

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

The specified resource was not found.

+ * + * @throws {@link AppStreamServiceException} + *

Base exception class for all service exceptions from AppStream service.

+ * + */ +export class DisassociateAppBlockBuilderAppBlockCommand extends $Command< + DisassociateAppBlockBuilderAppBlockCommandInput, + DisassociateAppBlockBuilderAppBlockCommandOutput, + AppStreamClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + 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: DisassociateAppBlockBuilderAppBlockCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AppStreamClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, DisassociateAppBlockBuilderAppBlockCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "AppStreamClient"; + const commandName = "DisassociateAppBlockBuilderAppBlockCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize( + input: DisassociateAppBlockBuilderAppBlockCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return se_DisassociateAppBlockBuilderAppBlockCommand(input, context); + } + + /** + * @internal + */ + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return de_DisassociateAppBlockBuilderAppBlockCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-appstream/src/commands/StartAppBlockBuilderCommand.ts b/clients/client-appstream/src/commands/StartAppBlockBuilderCommand.ts new file mode 100644 index 000000000000..6f95891c975f --- /dev/null +++ b/clients/client-appstream/src/commands/StartAppBlockBuilderCommand.ts @@ -0,0 +1,203 @@ +// 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, +} from "@smithy/types"; + +import { AppStreamClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppStreamClient"; +import { StartAppBlockBuilderRequest, StartAppBlockBuilderResult } from "../models/models_0"; +import { de_StartAppBlockBuilderCommand, se_StartAppBlockBuilderCommand } from "../protocols/Aws_json1_1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link StartAppBlockBuilderCommand}. + */ +export interface StartAppBlockBuilderCommandInput extends StartAppBlockBuilderRequest {} +/** + * @public + * + * The output of {@link StartAppBlockBuilderCommand}. + */ +export interface StartAppBlockBuilderCommandOutput extends StartAppBlockBuilderResult, __MetadataBearer {} + +/** + * @public + *

Starts an app block builder.

+ *

An app block builder can only be started when it's associated with an app + * block.

+ *

Starting an app block builder starts a new instance, which is equivalent to an elastic + * fleet instance with application builder assistance functionality.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AppStreamClient, StartAppBlockBuilderCommand } from "@aws-sdk/client-appstream"; // ES Modules import + * // const { AppStreamClient, StartAppBlockBuilderCommand } = require("@aws-sdk/client-appstream"); // CommonJS import + * const client = new AppStreamClient(config); + * const input = { // StartAppBlockBuilderRequest + * Name: "STRING_VALUE", // required + * }; + * const command = new StartAppBlockBuilderCommand(input); + * const response = await client.send(command); + * // { // StartAppBlockBuilderResult + * // AppBlockBuilder: { // AppBlockBuilder + * // Arn: "STRING_VALUE", // required + * // Name: "STRING_VALUE", // required + * // DisplayName: "STRING_VALUE", + * // Description: "STRING_VALUE", + * // Platform: "WINDOWS_SERVER_2019", // required + * // InstanceType: "STRING_VALUE", // required + * // EnableDefaultInternetAccess: true || false, + * // IamRoleArn: "STRING_VALUE", + * // VpcConfig: { // VpcConfig + * // SubnetIds: [ // SubnetIdList + * // "STRING_VALUE", + * // ], + * // SecurityGroupIds: [ // SecurityGroupIdList + * // "STRING_VALUE", + * // ], + * // }, + * // State: "STARTING" || "RUNNING" || "STOPPING" || "STOPPED", // required + * // CreatedTime: new Date("TIMESTAMP"), + * // AppBlockBuilderErrors: [ // ResourceErrors + * // { // ResourceError + * // ErrorCode: "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION" || "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION" || "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION" || "NETWORK_INTERFACE_LIMIT_EXCEEDED" || "INTERNAL_SERVICE_ERROR" || "IAM_SERVICE_ROLE_IS_MISSING" || "MACHINE_ROLE_IS_MISSING" || "STS_DISABLED_IN_REGION" || "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES" || "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION" || "SUBNET_NOT_FOUND" || "IMAGE_NOT_FOUND" || "INVALID_SUBNET_CONFIGURATION" || "SECURITY_GROUPS_NOT_FOUND" || "IGW_NOT_ATTACHED" || "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION" || "FLEET_STOPPED" || "FLEET_INSTANCE_PROVISIONING_FAILURE" || "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND" || "DOMAIN_JOIN_ERROR_ACCESS_DENIED" || "DOMAIN_JOIN_ERROR_LOGON_FAILURE" || "DOMAIN_JOIN_ERROR_INVALID_PARAMETER" || "DOMAIN_JOIN_ERROR_MORE_DATA" || "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN" || "DOMAIN_JOIN_ERROR_NOT_SUPPORTED" || "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME" || "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED" || "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED" || "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED" || "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR", + * // ErrorMessage: "STRING_VALUE", + * // ErrorTimestamp: new Date("TIMESTAMP"), + * // }, + * // ], + * // StateChangeReason: { // AppBlockBuilderStateChangeReason + * // Code: "INTERNAL_ERROR", + * // Message: "STRING_VALUE", + * // }, + * // AccessEndpoints: [ // AccessEndpointList + * // { // AccessEndpoint + * // EndpointType: "STREAMING", // required + * // VpceId: "STRING_VALUE", + * // }, + * // ], + * // }, + * // }; + * + * ``` + * + * @param StartAppBlockBuilderCommandInput - {@link StartAppBlockBuilderCommandInput} + * @returns {@link StartAppBlockBuilderCommandOutput} + * @see {@link StartAppBlockBuilderCommandInput} for command's `input` shape. + * @see {@link StartAppBlockBuilderCommandOutput} for command's `response` shape. + * @see {@link AppStreamClientResolvedConfig | config} for AppStreamClient's `config` shape. + * + * @throws {@link ConcurrentModificationException} (client fault) + *

An API error occurred. Wait a few minutes and try again.

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

The resource cannot be created because your AWS account is suspended. For assistance, contact AWS Support.

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

The requested limit exceeds the permitted limit for an account.

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

The attempted operation is not permitted.

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

AppStream 2.0 can’t process the request right now because the Describe calls from your AWS account are being throttled by Amazon EC2. Try again later.

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

The specified resource exists and is not in use, but isn't available.

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

The specified resource was not found.

+ * + * @throws {@link AppStreamServiceException} + *

Base exception class for all service exceptions from AppStream service.

+ * + */ +export class StartAppBlockBuilderCommand extends $Command< + StartAppBlockBuilderCommandInput, + StartAppBlockBuilderCommandOutput, + AppStreamClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + 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: StartAppBlockBuilderCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AppStreamClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, StartAppBlockBuilderCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "AppStreamClient"; + const commandName = "StartAppBlockBuilderCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: StartAppBlockBuilderCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_StartAppBlockBuilderCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_StartAppBlockBuilderCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-appstream/src/commands/StopAppBlockBuilderCommand.ts b/clients/client-appstream/src/commands/StopAppBlockBuilderCommand.ts new file mode 100644 index 000000000000..c542ac5b34e2 --- /dev/null +++ b/clients/client-appstream/src/commands/StopAppBlockBuilderCommand.ts @@ -0,0 +1,189 @@ +// 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, +} from "@smithy/types"; + +import { AppStreamClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppStreamClient"; +import { StopAppBlockBuilderRequest, StopAppBlockBuilderResult } from "../models/models_0"; +import { de_StopAppBlockBuilderCommand, se_StopAppBlockBuilderCommand } from "../protocols/Aws_json1_1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link StopAppBlockBuilderCommand}. + */ +export interface StopAppBlockBuilderCommandInput extends StopAppBlockBuilderRequest {} +/** + * @public + * + * The output of {@link StopAppBlockBuilderCommand}. + */ +export interface StopAppBlockBuilderCommandOutput extends StopAppBlockBuilderResult, __MetadataBearer {} + +/** + * @public + *

Stops an app block builder.

+ *

Stopping an app block builder terminates the instance, and the instance state is not + * persisted.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AppStreamClient, StopAppBlockBuilderCommand } from "@aws-sdk/client-appstream"; // ES Modules import + * // const { AppStreamClient, StopAppBlockBuilderCommand } = require("@aws-sdk/client-appstream"); // CommonJS import + * const client = new AppStreamClient(config); + * const input = { // StopAppBlockBuilderRequest + * Name: "STRING_VALUE", // required + * }; + * const command = new StopAppBlockBuilderCommand(input); + * const response = await client.send(command); + * // { // StopAppBlockBuilderResult + * // AppBlockBuilder: { // AppBlockBuilder + * // Arn: "STRING_VALUE", // required + * // Name: "STRING_VALUE", // required + * // DisplayName: "STRING_VALUE", + * // Description: "STRING_VALUE", + * // Platform: "WINDOWS_SERVER_2019", // required + * // InstanceType: "STRING_VALUE", // required + * // EnableDefaultInternetAccess: true || false, + * // IamRoleArn: "STRING_VALUE", + * // VpcConfig: { // VpcConfig + * // SubnetIds: [ // SubnetIdList + * // "STRING_VALUE", + * // ], + * // SecurityGroupIds: [ // SecurityGroupIdList + * // "STRING_VALUE", + * // ], + * // }, + * // State: "STARTING" || "RUNNING" || "STOPPING" || "STOPPED", // required + * // CreatedTime: new Date("TIMESTAMP"), + * // AppBlockBuilderErrors: [ // ResourceErrors + * // { // ResourceError + * // ErrorCode: "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION" || "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION" || "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION" || "NETWORK_INTERFACE_LIMIT_EXCEEDED" || "INTERNAL_SERVICE_ERROR" || "IAM_SERVICE_ROLE_IS_MISSING" || "MACHINE_ROLE_IS_MISSING" || "STS_DISABLED_IN_REGION" || "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES" || "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION" || "SUBNET_NOT_FOUND" || "IMAGE_NOT_FOUND" || "INVALID_SUBNET_CONFIGURATION" || "SECURITY_GROUPS_NOT_FOUND" || "IGW_NOT_ATTACHED" || "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION" || "FLEET_STOPPED" || "FLEET_INSTANCE_PROVISIONING_FAILURE" || "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND" || "DOMAIN_JOIN_ERROR_ACCESS_DENIED" || "DOMAIN_JOIN_ERROR_LOGON_FAILURE" || "DOMAIN_JOIN_ERROR_INVALID_PARAMETER" || "DOMAIN_JOIN_ERROR_MORE_DATA" || "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN" || "DOMAIN_JOIN_ERROR_NOT_SUPPORTED" || "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME" || "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED" || "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED" || "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED" || "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR", + * // ErrorMessage: "STRING_VALUE", + * // ErrorTimestamp: new Date("TIMESTAMP"), + * // }, + * // ], + * // StateChangeReason: { // AppBlockBuilderStateChangeReason + * // Code: "INTERNAL_ERROR", + * // Message: "STRING_VALUE", + * // }, + * // AccessEndpoints: [ // AccessEndpointList + * // { // AccessEndpoint + * // EndpointType: "STREAMING", // required + * // VpceId: "STRING_VALUE", + * // }, + * // ], + * // }, + * // }; + * + * ``` + * + * @param StopAppBlockBuilderCommandInput - {@link StopAppBlockBuilderCommandInput} + * @returns {@link StopAppBlockBuilderCommandOutput} + * @see {@link StopAppBlockBuilderCommandInput} for command's `input` shape. + * @see {@link StopAppBlockBuilderCommandOutput} for command's `response` shape. + * @see {@link AppStreamClientResolvedConfig | config} for AppStreamClient's `config` shape. + * + * @throws {@link ConcurrentModificationException} (client fault) + *

An API error occurred. Wait a few minutes and try again.

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

The attempted operation is not permitted.

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

The specified resource was not found.

+ * + * @throws {@link AppStreamServiceException} + *

Base exception class for all service exceptions from AppStream service.

+ * + */ +export class StopAppBlockBuilderCommand extends $Command< + StopAppBlockBuilderCommandInput, + StopAppBlockBuilderCommandOutput, + AppStreamClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + 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: StopAppBlockBuilderCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AppStreamClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, StopAppBlockBuilderCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "AppStreamClient"; + const commandName = "StopAppBlockBuilderCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: StopAppBlockBuilderCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_StopAppBlockBuilderCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_StopAppBlockBuilderCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-appstream/src/commands/UpdateAppBlockBuilderCommand.ts b/clients/client-appstream/src/commands/UpdateAppBlockBuilderCommand.ts new file mode 100644 index 000000000000..adb7a94fc7c7 --- /dev/null +++ b/clients/client-appstream/src/commands/UpdateAppBlockBuilderCommand.ts @@ -0,0 +1,235 @@ +// 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, +} from "@smithy/types"; + +import { AppStreamClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppStreamClient"; +import { UpdateAppBlockBuilderRequest, UpdateAppBlockBuilderResult } from "../models/models_0"; +import { de_UpdateAppBlockBuilderCommand, se_UpdateAppBlockBuilderCommand } from "../protocols/Aws_json1_1"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link UpdateAppBlockBuilderCommand}. + */ +export interface UpdateAppBlockBuilderCommandInput extends UpdateAppBlockBuilderRequest {} +/** + * @public + * + * The output of {@link UpdateAppBlockBuilderCommand}. + */ +export interface UpdateAppBlockBuilderCommandOutput extends UpdateAppBlockBuilderResult, __MetadataBearer {} + +/** + * @public + *

Updates an app block builder.

+ *

If the app block builder is in the STARTING or STOPPING + * state, you can't update it. If the app block builder is in the RUNNING + * state, you can only update the DisplayName and Description. If the app block builder is + * in the STOPPED state, you can update any attribute except the Name.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AppStreamClient, UpdateAppBlockBuilderCommand } from "@aws-sdk/client-appstream"; // ES Modules import + * // const { AppStreamClient, UpdateAppBlockBuilderCommand } = require("@aws-sdk/client-appstream"); // CommonJS import + * const client = new AppStreamClient(config); + * const input = { // UpdateAppBlockBuilderRequest + * Name: "STRING_VALUE", // required + * Description: "STRING_VALUE", + * DisplayName: "STRING_VALUE", + * Platform: "WINDOWS" || "WINDOWS_SERVER_2016" || "WINDOWS_SERVER_2019" || "AMAZON_LINUX2", + * InstanceType: "STRING_VALUE", + * VpcConfig: { // VpcConfig + * SubnetIds: [ // SubnetIdList + * "STRING_VALUE", + * ], + * SecurityGroupIds: [ // SecurityGroupIdList + * "STRING_VALUE", + * ], + * }, + * EnableDefaultInternetAccess: true || false, + * IamRoleArn: "STRING_VALUE", + * AccessEndpoints: [ // AccessEndpointList + * { // AccessEndpoint + * EndpointType: "STREAMING", // required + * VpceId: "STRING_VALUE", + * }, + * ], + * AttributesToDelete: [ // AppBlockBuilderAttributes + * "IAM_ROLE_ARN" || "ACCESS_ENDPOINTS" || "VPC_CONFIGURATION_SECURITY_GROUP_IDS", + * ], + * }; + * const command = new UpdateAppBlockBuilderCommand(input); + * const response = await client.send(command); + * // { // UpdateAppBlockBuilderResult + * // AppBlockBuilder: { // AppBlockBuilder + * // Arn: "STRING_VALUE", // required + * // Name: "STRING_VALUE", // required + * // DisplayName: "STRING_VALUE", + * // Description: "STRING_VALUE", + * // Platform: "WINDOWS_SERVER_2019", // required + * // InstanceType: "STRING_VALUE", // required + * // EnableDefaultInternetAccess: true || false, + * // IamRoleArn: "STRING_VALUE", + * // VpcConfig: { // VpcConfig + * // SubnetIds: [ // SubnetIdList + * // "STRING_VALUE", + * // ], + * // SecurityGroupIds: [ // SecurityGroupIdList + * // "STRING_VALUE", + * // ], + * // }, + * // State: "STARTING" || "RUNNING" || "STOPPING" || "STOPPED", // required + * // CreatedTime: new Date("TIMESTAMP"), + * // AppBlockBuilderErrors: [ // ResourceErrors + * // { // ResourceError + * // ErrorCode: "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION" || "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION" || "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION" || "NETWORK_INTERFACE_LIMIT_EXCEEDED" || "INTERNAL_SERVICE_ERROR" || "IAM_SERVICE_ROLE_IS_MISSING" || "MACHINE_ROLE_IS_MISSING" || "STS_DISABLED_IN_REGION" || "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES" || "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION" || "SUBNET_NOT_FOUND" || "IMAGE_NOT_FOUND" || "INVALID_SUBNET_CONFIGURATION" || "SECURITY_GROUPS_NOT_FOUND" || "IGW_NOT_ATTACHED" || "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION" || "FLEET_STOPPED" || "FLEET_INSTANCE_PROVISIONING_FAILURE" || "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND" || "DOMAIN_JOIN_ERROR_ACCESS_DENIED" || "DOMAIN_JOIN_ERROR_LOGON_FAILURE" || "DOMAIN_JOIN_ERROR_INVALID_PARAMETER" || "DOMAIN_JOIN_ERROR_MORE_DATA" || "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN" || "DOMAIN_JOIN_ERROR_NOT_SUPPORTED" || "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME" || "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED" || "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED" || "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED" || "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR", + * // ErrorMessage: "STRING_VALUE", + * // ErrorTimestamp: new Date("TIMESTAMP"), + * // }, + * // ], + * // StateChangeReason: { // AppBlockBuilderStateChangeReason + * // Code: "INTERNAL_ERROR", + * // Message: "STRING_VALUE", + * // }, + * // AccessEndpoints: [ // AccessEndpointList + * // { // AccessEndpoint + * // EndpointType: "STREAMING", // required + * // VpceId: "STRING_VALUE", + * // }, + * // ], + * // }, + * // }; + * + * ``` + * + * @param UpdateAppBlockBuilderCommandInput - {@link UpdateAppBlockBuilderCommandInput} + * @returns {@link UpdateAppBlockBuilderCommandOutput} + * @see {@link UpdateAppBlockBuilderCommandInput} for command's `input` shape. + * @see {@link UpdateAppBlockBuilderCommandOutput} for command's `response` shape. + * @see {@link AppStreamClientResolvedConfig | config} for AppStreamClient's `config` shape. + * + * @throws {@link ConcurrentModificationException} (client fault) + *

An API error occurred. Wait a few minutes and try again.

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

The resource cannot be created because your AWS account is suspended. For assistance, contact AWS Support.

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

Indicates an incorrect combination of parameters, or a missing parameter.

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

The specified role is invalid.

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

The requested limit exceeds the permitted limit for an account.

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

The attempted operation is not permitted.

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

AppStream 2.0 can’t process the request right now because the Describe calls from your AWS account are being throttled by Amazon EC2. Try again later.

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

The specified resource is in use.

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

The specified resource exists and is not in use, but isn't available.

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

The specified resource was not found.

+ * + * @throws {@link AppStreamServiceException} + *

Base exception class for all service exceptions from AppStream service.

+ * + */ +export class UpdateAppBlockBuilderCommand extends $Command< + UpdateAppBlockBuilderCommandInput, + UpdateAppBlockBuilderCommandOutput, + AppStreamClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + 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: UpdateAppBlockBuilderCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AppStreamClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, UpdateAppBlockBuilderCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "AppStreamClient"; + const commandName = "UpdateAppBlockBuilderCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: UpdateAppBlockBuilderCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_UpdateAppBlockBuilderCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_UpdateAppBlockBuilderCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-appstream/src/commands/UpdateApplicationCommand.ts b/clients/client-appstream/src/commands/UpdateApplicationCommand.ts index c15925bf6297..babd57b4e05d 100644 --- a/clients/client-appstream/src/commands/UpdateApplicationCommand.ts +++ b/clients/client-appstream/src/commands/UpdateApplicationCommand.ts @@ -49,7 +49,7 @@ export interface UpdateApplicationCommandOutput extends UpdateApplicationResult, * Description: "STRING_VALUE", * IconS3Location: { // S3Location * S3Bucket: "STRING_VALUE", // required - * S3Key: "STRING_VALUE", // required + * S3Key: "STRING_VALUE", * }, * LaunchPath: "STRING_VALUE", * WorkingDirectory: "STRING_VALUE", @@ -78,7 +78,7 @@ export interface UpdateApplicationCommandOutput extends UpdateApplicationResult, * // AppBlockArn: "STRING_VALUE", * // IconS3Location: { // S3Location * // S3Bucket: "STRING_VALUE", // required - * // S3Key: "STRING_VALUE", // required + * // S3Key: "STRING_VALUE", * // }, * // Platforms: [ // Platforms * // "WINDOWS" || "WINDOWS_SERVER_2016" || "WINDOWS_SERVER_2019" || "AMAZON_LINUX2", diff --git a/clients/client-appstream/src/commands/UpdateFleetCommand.ts b/clients/client-appstream/src/commands/UpdateFleetCommand.ts index 684ed9338028..05dae8287d5a 100644 --- a/clients/client-appstream/src/commands/UpdateFleetCommand.ts +++ b/clients/client-appstream/src/commands/UpdateFleetCommand.ts @@ -103,7 +103,7 @@ export interface UpdateFleetCommandOutput extends UpdateFleetResult, __MetadataB * ], * SessionScriptS3Location: { // S3Location * S3Bucket: "STRING_VALUE", // required - * S3Key: "STRING_VALUE", // required + * S3Key: "STRING_VALUE", * }, * }; * const command = new UpdateFleetCommand(input); @@ -157,7 +157,7 @@ export interface UpdateFleetCommandOutput extends UpdateFleetResult, __MetadataB * // ], * // SessionScriptS3Location: { // S3Location * // S3Bucket: "STRING_VALUE", // required - * // S3Key: "STRING_VALUE", // required + * // S3Key: "STRING_VALUE", * // }, * // }, * // }; diff --git a/clients/client-appstream/src/commands/index.ts b/clients/client-appstream/src/commands/index.ts index 7713a08e2efd..5a4ec386bec6 100644 --- a/clients/client-appstream/src/commands/index.ts +++ b/clients/client-appstream/src/commands/index.ts @@ -1,10 +1,13 @@ // smithy-typescript generated code +export * from "./AssociateAppBlockBuilderAppBlockCommand"; export * from "./AssociateApplicationFleetCommand"; export * from "./AssociateApplicationToEntitlementCommand"; export * from "./AssociateFleetCommand"; export * from "./BatchAssociateUserStackCommand"; export * from "./BatchDisassociateUserStackCommand"; export * from "./CopyImageCommand"; +export * from "./CreateAppBlockBuilderCommand"; +export * from "./CreateAppBlockBuilderStreamingURLCommand"; export * from "./CreateAppBlockCommand"; export * from "./CreateApplicationCommand"; export * from "./CreateDirectoryConfigCommand"; @@ -17,6 +20,7 @@ export * from "./CreateStreamingURLCommand"; export * from "./CreateUpdatedImageCommand"; export * from "./CreateUsageReportSubscriptionCommand"; export * from "./CreateUserCommand"; +export * from "./DeleteAppBlockBuilderCommand"; export * from "./DeleteAppBlockCommand"; export * from "./DeleteApplicationCommand"; export * from "./DeleteDirectoryConfigCommand"; @@ -28,6 +32,8 @@ export * from "./DeleteImagePermissionsCommand"; export * from "./DeleteStackCommand"; export * from "./DeleteUsageReportSubscriptionCommand"; export * from "./DeleteUserCommand"; +export * from "./DescribeAppBlockBuilderAppBlockAssociationsCommand"; +export * from "./DescribeAppBlockBuildersCommand"; export * from "./DescribeAppBlocksCommand"; export * from "./DescribeApplicationFleetAssociationsCommand"; export * from "./DescribeApplicationsCommand"; @@ -43,6 +49,7 @@ export * from "./DescribeUsageReportSubscriptionsCommand"; export * from "./DescribeUserStackAssociationsCommand"; export * from "./DescribeUsersCommand"; export * from "./DisableUserCommand"; +export * from "./DisassociateAppBlockBuilderAppBlockCommand"; export * from "./DisassociateApplicationFleetCommand"; export * from "./DisassociateApplicationFromEntitlementCommand"; export * from "./DisassociateFleetCommand"; @@ -52,12 +59,15 @@ export * from "./ListAssociatedFleetsCommand"; export * from "./ListAssociatedStacksCommand"; export * from "./ListEntitledApplicationsCommand"; export * from "./ListTagsForResourceCommand"; +export * from "./StartAppBlockBuilderCommand"; export * from "./StartFleetCommand"; export * from "./StartImageBuilderCommand"; +export * from "./StopAppBlockBuilderCommand"; export * from "./StopFleetCommand"; export * from "./StopImageBuilderCommand"; export * from "./TagResourceCommand"; export * from "./UntagResourceCommand"; +export * from "./UpdateAppBlockBuilderCommand"; export * from "./UpdateApplicationCommand"; export * from "./UpdateDirectoryConfigCommand"; export * from "./UpdateEntitlementCommand"; diff --git a/clients/client-appstream/src/endpoint/EndpointParameters.ts b/clients/client-appstream/src/endpoint/EndpointParameters.ts index 21f03396488b..a20d59ba7b26 100644 --- a/clients/client-appstream/src/endpoint/EndpointParameters.ts +++ b/clients/client-appstream/src/endpoint/EndpointParameters.ts @@ -24,7 +24,7 @@ export const resolveClientEndpointParameters = ( }; export interface EndpointParameters extends __EndpointParameters { - Region: string; + Region?: string; UseDualStack?: boolean; UseFIPS?: boolean; Endpoint?: string; diff --git a/clients/client-appstream/src/endpoint/ruleset.ts b/clients/client-appstream/src/endpoint/ruleset.ts index 7a1996596cc6..57f55ab2513b 100644 --- a/clients/client-appstream/src/endpoint/ruleset.ts +++ b/clients/client-appstream/src/endpoint/ruleset.ts @@ -6,24 +6,28 @@ import { RuleSetObject } from "@smithy/types"; or see "smithy.rules#endpointRuleSet" in codegen/sdk-codegen/aws-models/appstream.json */ -const q="fn", -r="argv", -s="ref"; -const a=true, -b=false, -c="String", -d="PartitionResult", -e="tree", -f="error", -g="endpoint", -h={"required":true,"default":false,"type":"Boolean"}, -i={[s]:"Endpoint"}, -j={[q]:"booleanEquals",[r]:[{[s]:"UseFIPS"},true]}, -k={[q]:"booleanEquals",[r]:[{[s]:"UseDualStack"},true]}, +const t="required", +u="fn", +v="argv", +w="ref"; +const a="isSet", +b="tree", +c="error", +d="endpoint", +e="PartitionResult", +f="stringEquals", +g={[t]:false,"type":"String"}, +h={[t]:true,"default":false,"type":"Boolean"}, +i={[w]:"Endpoint"}, +j={[u]:"booleanEquals",[v]:[{[w]:"UseFIPS"},true]}, +k={[u]:"booleanEquals",[v]:[{[w]:"UseDualStack"},true]}, l={}, -m={[q]:"booleanEquals",[r]:[true,{[q]:"getAttr",[r]:[{[s]:d},"supportsFIPS"]}]}, -n={[q]:"booleanEquals",[r]:[true,{[q]:"getAttr",[r]:[{[s]:d},"supportsDualStack"]}]}, -o=[j], -p=[k]; -const _data={version:"1.0",parameters:{Region:{required:a,type:c},UseDualStack:h,UseFIPS:h,Endpoint:{required:b,type:c}},rules:[{conditions:[{[q]:"aws.partition",[r]:[{[s]:"Region"}],assign:d}],type:e,rules:[{conditions:[{[q]:"isSet",[r]:[i]}],type:e,rules:[{conditions:o,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:f},{type:e,rules:[{conditions:p,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:f},{endpoint:{url:i,properties:l,headers:l},type:g}]}]},{conditions:[j,k],type:e,rules:[{conditions:[m,n],type:e,rules:[{endpoint:{url:"https://appstream2-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:l,headers:l},type:g}]},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:f}]},{conditions:o,type:e,rules:[{conditions:[m],type:e,rules:[{type:e,rules:[{endpoint:{url:"https://appstream2-fips.{Region}.{PartitionResult#dnsSuffix}",properties:l,headers:l},type:g}]}]},{error:"FIPS is enabled but this partition does not support FIPS",type:f}]},{conditions:p,type:e,rules:[{conditions:[n],type:e,rules:[{endpoint:{url:"https://appstream2.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:l,headers:l},type:g}]},{error:"DualStack is enabled but this partition does not support DualStack",type:f}]},{endpoint:{url:"https://appstream2.{Region}.{PartitionResult#dnsSuffix}",properties:l,headers:l},type:g}]}]}; +m={[u]:"booleanEquals",[v]:[true,{[u]:"getAttr",[v]:[{[w]:e},"supportsFIPS"]}]}, +n={[u]:"booleanEquals",[v]:[true,{[u]:"getAttr",[v]:[{[w]:e},"supportsDualStack"]}]}, +o={[u]:"getAttr",[v]:[{[w]:e},"name"]}, +p={"url":"https://appstream2.{Region}.amazonaws.com","properties":{},"headers":{}}, +q=[j], +r=[k], +s=[{[w]:"Region"}]; +const _data={version:"1.0",parameters:{Region:g,UseDualStack:h,UseFIPS:h,Endpoint:g},rules:[{conditions:[{[u]:a,[v]:[i]}],type:b,rules:[{conditions:q,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:c},{type:b,rules:[{conditions:r,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:c},{endpoint:{url:i,properties:l,headers:l},type:d}]}]},{type:b,rules:[{conditions:[{[u]:a,[v]:s}],type:b,rules:[{conditions:[{[u]:"aws.partition",[v]:s,assign:e}],type:b,rules:[{conditions:[j,k],type:b,rules:[{conditions:[m,n],type:b,rules:[{type:b,rules:[{endpoint:{url:"https://appstream2-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:l,headers:l},type:d}]}]},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:c}]},{conditions:q,type:b,rules:[{conditions:[m],type:b,rules:[{type:b,rules:[{endpoint:{url:"https://appstream2-fips.{Region}.{PartitionResult#dnsSuffix}",properties:l,headers:l},type:d}]}]},{error:"FIPS is enabled but this partition does not support FIPS",type:c}]},{conditions:r,type:b,rules:[{conditions:[n],type:b,rules:[{type:b,rules:[{endpoint:{url:"https://appstream2.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:l,headers:l},type:d}]}]},{error:"DualStack is enabled but this partition does not support DualStack",type:c}]},{type:b,rules:[{conditions:[{[u]:f,[v]:["aws",o]}],endpoint:p,type:d},{conditions:[{[u]:f,[v]:["aws-us-gov",o]}],endpoint:p,type:d},{endpoint:{url:"https://appstream2.{Region}.{PartitionResult#dnsSuffix}",properties:l,headers:l},type:d}]}]}]},{error:"Invalid Configuration: Missing Region",type:c}]}]}; export const ruleSet: RuleSetObject = _data; diff --git a/clients/client-appstream/src/models/models_0.ts b/clients/client-appstream/src/models/models_0.ts index 761c66cc4401..0add9b264273 100644 --- a/clients/client-appstream/src/models/models_0.ts +++ b/clients/client-appstream/src/models/models_0.ts @@ -51,6 +51,36 @@ export const Action = { */ export type Action = (typeof Action)[keyof typeof Action]; +/** + * @public + *

The error details.

+ */ +export interface ErrorDetails { + /** + *

The error code.

+ */ + ErrorCode?: string; + + /** + *

The error message.

+ */ + ErrorMessage?: string; +} + +/** + * @public + * @enum + */ +export const PackagingType = { + APPSTREAM2: "APPSTREAM2", + CUSTOM: "CUSTOM", +} as const; + +/** + * @public + */ +export type PackagingType = (typeof PackagingType)[keyof typeof PackagingType]; + /** * @public *

Describes the S3 location.

@@ -63,8 +93,31 @@ export interface S3Location { /** *

The S3 key of the S3 object.

+ *

This is required when used for the following:

+ *
    + *
  • + *

    IconS3Location (Actions: CreateApplication and UpdateApplication)

    + *
  • + *
  • + *

    SessionScriptS3Location (Actions: CreateFleet and UpdateFleet)

    + *
  • + *
  • + *

    ScriptDetails (Actions: CreateAppBlock)

    + *
  • + *
  • + *

    SourceS3Location when creating an app block with CUSTOM PackagingType (Actions: + * CreateAppBlock)

    + *
  • + *
  • + *

    SourceS3Location when creating an app block with APPSTREAM2 PackagingType, and + * using an existing application package (VHD file). In this case, + * S3Key refers to the VHD file. If a new application package is + * required, then S3Key is not required. (Actions: + * CreateAppBlock)

    + *
  • + *
*/ - S3Key: string | undefined; + S3Key?: string; } /** @@ -93,6 +146,20 @@ export interface ScriptDetails { TimeoutInSeconds: number | undefined; } +/** + * @public + * @enum + */ +export const AppBlockState = { + ACTIVE: "ACTIVE", + INACTIVE: "INACTIVE", +} as const; + +/** + * @public + */ +export type AppBlockState = (typeof AppBlockState)[keyof typeof AppBlockState]; + /** * @public *

Describes an app block.

@@ -131,15 +198,289 @@ export interface AppBlock { /** *

The setup script details of the app block.

+ *

This only applies to app blocks with PackagingType CUSTOM.

*/ - SetupScriptDetails: ScriptDetails | undefined; + SetupScriptDetails?: ScriptDetails; /** *

The created time of the app block.

*/ CreatedTime?: Date; + + /** + *

The post setup script details of the app block.

+ *

This only applies to app blocks with PackagingType APPSTREAM2.

+ */ + PostSetupScriptDetails?: ScriptDetails; + + /** + *

The packaging type of the app block.

+ */ + PackagingType?: PackagingType | string; + + /** + *

The state of the app block.

+ *

An app block with AppStream 2.0 packaging will be in the INACTIVE state + * if no application package (VHD) is assigned to it. After an application package (VHD) is + * created by an app block builder for an app block, it becomes ACTIVE.

+ *

Custom app blocks are always in the ACTIVE state and no action is required to use them.

+ */ + State?: AppBlockState | string; + + /** + *

The errors of the app block.

+ */ + AppBlockErrors?: ErrorDetails[]; +} + +/** + * @public + * @enum + */ +export const FleetErrorCode = { + DOMAIN_JOIN_ERROR_ACCESS_DENIED: "DOMAIN_JOIN_ERROR_ACCESS_DENIED", + DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED: "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED", + DOMAIN_JOIN_ERROR_FILE_NOT_FOUND: "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND", + DOMAIN_JOIN_ERROR_INVALID_PARAMETER: "DOMAIN_JOIN_ERROR_INVALID_PARAMETER", + DOMAIN_JOIN_ERROR_LOGON_FAILURE: "DOMAIN_JOIN_ERROR_LOGON_FAILURE", + DOMAIN_JOIN_ERROR_MORE_DATA: "DOMAIN_JOIN_ERROR_MORE_DATA", + DOMAIN_JOIN_ERROR_NOT_SUPPORTED: "DOMAIN_JOIN_ERROR_NOT_SUPPORTED", + DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN: "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN", + DOMAIN_JOIN_INTERNAL_SERVICE_ERROR: "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR", + DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME: "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME", + DOMAIN_JOIN_NERR_PASSWORD_EXPIRED: "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED", + DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED: "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED", + FLEET_INSTANCE_PROVISIONING_FAILURE: "FLEET_INSTANCE_PROVISIONING_FAILURE", + FLEET_STOPPED: "FLEET_STOPPED", + IAM_SERVICE_ROLE_IS_MISSING: "IAM_SERVICE_ROLE_IS_MISSING", + IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION: "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", + IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION: "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", + IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION: "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION", + IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION: "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION", + IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION: "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION", + IGW_NOT_ATTACHED: "IGW_NOT_ATTACHED", + IMAGE_NOT_FOUND: "IMAGE_NOT_FOUND", + INTERNAL_SERVICE_ERROR: "INTERNAL_SERVICE_ERROR", + INVALID_SUBNET_CONFIGURATION: "INVALID_SUBNET_CONFIGURATION", + MACHINE_ROLE_IS_MISSING: "MACHINE_ROLE_IS_MISSING", + NETWORK_INTERFACE_LIMIT_EXCEEDED: "NETWORK_INTERFACE_LIMIT_EXCEEDED", + SECURITY_GROUPS_NOT_FOUND: "SECURITY_GROUPS_NOT_FOUND", + STS_DISABLED_IN_REGION: "STS_DISABLED_IN_REGION", + SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES: "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", + SUBNET_NOT_FOUND: "SUBNET_NOT_FOUND", +} as const; + +/** + * @public + */ +export type FleetErrorCode = (typeof FleetErrorCode)[keyof typeof FleetErrorCode]; + +/** + * @public + *

Describes a resource error.

+ */ +export interface ResourceError { + /** + *

The error code.

+ */ + ErrorCode?: FleetErrorCode | string; + + /** + *

The error message.

+ */ + ErrorMessage?: string; + + /** + *

The time the error occurred.

+ */ + ErrorTimestamp?: Date; +} + +/** + * @public + * @enum + */ +export const AppBlockBuilderPlatformType = { + WINDOWS_SERVER_2019: "WINDOWS_SERVER_2019", +} as const; + +/** + * @public + */ +export type AppBlockBuilderPlatformType = + (typeof AppBlockBuilderPlatformType)[keyof typeof AppBlockBuilderPlatformType]; + +/** + * @public + * @enum + */ +export const AppBlockBuilderState = { + RUNNING: "RUNNING", + STARTING: "STARTING", + STOPPED: "STOPPED", + STOPPING: "STOPPING", +} as const; + +/** + * @public + */ +export type AppBlockBuilderState = (typeof AppBlockBuilderState)[keyof typeof AppBlockBuilderState]; + +/** + * @public + * @enum + */ +export const AppBlockBuilderStateChangeReasonCode = { + INTERNAL_ERROR: "INTERNAL_ERROR", +} as const; + +/** + * @public + */ +export type AppBlockBuilderStateChangeReasonCode = + (typeof AppBlockBuilderStateChangeReasonCode)[keyof typeof AppBlockBuilderStateChangeReasonCode]; + +/** + * @public + *

Describes the reason why the last app block builder state change occurred.

+ */ +export interface AppBlockBuilderStateChangeReason { + /** + *

The state change reason code.

+ */ + Code?: AppBlockBuilderStateChangeReasonCode | string; + + /** + *

The state change reason message.

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

Describes VPC configuration information for fleets and image builders.

+ */ +export interface VpcConfig { + /** + *

The identifiers of the subnets to which a network interface is attached from the fleet instance or image builder instance. Fleet instances use one or more subnets. Image builder instances use one subnet.

+ */ + SubnetIds?: string[]; + + /** + *

The identifiers of the security groups for the fleet or image builder.

+ */ + SecurityGroupIds?: string[]; +} + +/** + * @public + *

Describes an app block builder.

+ */ +export interface AppBlockBuilder { + /** + *

The ARN of the app block builder.

+ */ + Arn: string | undefined; + + /** + *

The name of the app block builder.

+ */ + Name: string | undefined; + + /** + *

The display name of the app block builder.

+ */ + DisplayName?: string; + + /** + *

The description of the app block builder.

+ */ + Description?: string; + + /** + *

The platform of the app block builder.

+ *

+ * WINDOWS_SERVER_2019 is the only valid value.

+ */ + Platform: AppBlockBuilderPlatformType | string | undefined; + + /** + *

The instance type of the app block builder.

+ */ + InstanceType: string | undefined; + + /** + *

Indicates whether default internet access is enabled for the app block builder.

+ */ + EnableDefaultInternetAccess?: boolean; + + /** + *

The ARN of the IAM role that is applied to the app block builder.

+ */ + IamRoleArn?: string; + + /** + *

The VPC configuration for the app block builder.

+ */ + VpcConfig: VpcConfig | undefined; + + /** + *

The state of the app block builder.

+ */ + State: AppBlockBuilderState | string | undefined; + + /** + *

The creation time of the app block builder.

+ */ + CreatedTime?: Date; + + /** + *

The app block builder errors.

+ */ + AppBlockBuilderErrors?: ResourceError[]; + + /** + *

The state change reason.

+ */ + StateChangeReason?: AppBlockBuilderStateChangeReason; + + /** + *

The list of interface VPC endpoint (interface endpoint) objects. Administrators can connect to the app block builder only through the specified endpoints.

+ */ + AccessEndpoints?: AccessEndpoint[]; +} + +/** + * @public + *

Describes an association between an app block builder and app block.

+ */ +export interface AppBlockBuilderAppBlockAssociation { + /** + *

The ARN of the app block.

+ */ + AppBlockArn: string | undefined; + + /** + *

The name of the app block builder.

+ */ + AppBlockBuilderName: string | undefined; } +/** + * @public + * @enum + */ +export const AppBlockBuilderAttribute = { + ACCESS_ENDPOINTS: "ACCESS_ENDPOINTS", + IAM_ROLE_ARN: "IAM_ROLE_ARN", + VPC_CONFIGURATION_SECURITY_GROUP_IDS: "VPC_CONFIGURATION_SECURITY_GROUP_IDS", +} as const; + +/** + * @public + */ +export type AppBlockBuilderAttribute = (typeof AppBlockBuilderAttribute)[keyof typeof AppBlockBuilderAttribute]; + /** * @public * @enum @@ -322,28 +663,26 @@ export type AppVisibility = (typeof AppVisibility)[keyof typeof AppVisibility]; /** * @public */ -export interface AssociateApplicationFleetRequest { +export interface AssociateAppBlockBuilderAppBlockRequest { /** - *

The name of the fleet.

+ *

The ARN of the app block.

*/ - FleetName: string | undefined; + AppBlockArn: string | undefined; /** - *

The ARN of the application.

+ *

The name of the app block builder.

*/ - ApplicationArn: string | undefined; + AppBlockBuilderName: string | undefined; } /** * @public */ -export interface AssociateApplicationFleetResult { +export interface AssociateAppBlockBuilderAppBlockResult { /** - *

If fleet name is specified, this returns the list of applications that are associated - * to it. If application ARN is specified, this returns the list of fleets to which it is - * associated.

+ *

The list of app block builders associated with app blocks.

*/ - ApplicationFleetAssociation?: ApplicationFleetAssociation; + AppBlockBuilderAppBlockAssociation?: AppBlockBuilderAppBlockAssociation; } /** @@ -460,15 +799,42 @@ export class ResourceNotFoundException extends __BaseException { /** * @internal */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ResourceNotFoundException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ResourceNotFoundException.prototype); - this.Message = opts.Message; - } + constructor(opts: __ExceptionOptionType) { + super({ + name: "ResourceNotFoundException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ResourceNotFoundException.prototype); + this.Message = opts.Message; + } +} + +/** + * @public + */ +export interface AssociateApplicationFleetRequest { + /** + *

The name of the fleet.

+ */ + FleetName: string | undefined; + + /** + *

The ARN of the application.

+ */ + ApplicationArn: string | undefined; +} + +/** + * @public + */ +export interface AssociateApplicationFleetResult { + /** + *

If fleet name is specified, this returns the list of applications that are associated + * to it. If application ARN is specified, this returns the list of fleets to which it is + * associated.

+ */ + ApplicationFleetAssociation?: ApplicationFleetAssociation; } /** @@ -899,14 +1265,26 @@ export interface CreateAppBlockRequest { SourceS3Location: S3Location | undefined; /** - *

The setup script details of the app block.

+ *

The setup script details of the app block. This must be provided for the + * CUSTOM PackagingType.

*/ - SetupScriptDetails: ScriptDetails | undefined; + SetupScriptDetails?: ScriptDetails; /** *

The tags assigned to the app block.

*/ Tags?: Record; + + /** + *

The post setup script details of the app block. This can only be provided for the + * APPSTREAM2 PackagingType.

+ */ + PostSetupScriptDetails?: ScriptDetails; + + /** + *

The packaging type of the app block.

+ */ + PackagingType?: PackagingType | string; } /** @@ -919,6 +1297,185 @@ export interface CreateAppBlockResult { AppBlock?: AppBlock; } +/** + * @public + */ +export interface CreateAppBlockBuilderRequest { + /** + *

The unique name for the app block builder.

+ */ + Name: string | undefined; + + /** + *

The description of the app block builder.

+ */ + Description?: string; + + /** + *

The display name of the app block builder.

+ */ + DisplayName?: string; + + /** + *

The tags to associate with the app block builder. A tag is a key-value pair, and the + * value is optional. For example, Environment=Test. If you do not specify a value, + * Environment=.

+ *

If you do not specify a value, the value is set to an empty string.

+ *

Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:

+ *

_ . : / = + \ - @

+ *

For more information, see Tagging Your Resources in the Amazon AppStream 2.0 Administration Guide.

+ */ + Tags?: Record; + + /** + *

The platform of the app block builder.

+ *

+ * WINDOWS_SERVER_2019 is the only valid value.

+ */ + Platform: AppBlockBuilderPlatformType | string | undefined; + + /** + *

The instance type to use when launching the app block builder. The following instance + * types are available:

+ *
    + *
  • + *

    stream.standard.small

    + *
  • + *
  • + *

    stream.standard.medium

    + *
  • + *
  • + *

    stream.standard.large

    + *
  • + *
  • + *

    stream.standard.xlarge

    + *
  • + *
  • + *

    stream.standard.2xlarge

    + *
  • + *
+ */ + InstanceType: string | undefined; + + /** + *

The VPC configuration for the app block builder.

+ *

App block builders require that you specify at least two subnets in different availability + * zones.

+ */ + VpcConfig: VpcConfig | undefined; + + /** + *

Enables or disables default internet access for the app block builder.

+ */ + EnableDefaultInternetAccess?: boolean; + + /** + *

The Amazon Resource Name (ARN) of the IAM role to apply to the app block builder. To + * assume a role, the app block builder calls the AWS Security Token Service (STS) + * AssumeRole API operation and passes the ARN of the role to use. The + * operation creates a new session with temporary credentials. AppStream 2.0 retrieves the + * temporary credentials and creates the appstream_machine_role credential profile on the instance.

+ *

For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.

+ */ + IamRoleArn?: string; + + /** + *

The list of interface VPC endpoint (interface endpoint) objects. Administrators can connect to the app block builder only through the specified endpoints.

+ */ + AccessEndpoints?: AccessEndpoint[]; +} + +/** + * @public + */ +export interface CreateAppBlockBuilderResult { + /** + *

Describes an app block builder.

+ */ + AppBlockBuilder?: AppBlockBuilder; +} + +/** + * @public + *

The specified role is invalid.

+ */ +export class InvalidRoleException extends __BaseException { + readonly name: "InvalidRoleException" = "InvalidRoleException"; + readonly $fault: "client" = "client"; + /** + *

The error message in the exception.

+ */ + Message?: string; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "InvalidRoleException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, InvalidRoleException.prototype); + this.Message = opts.Message; + } +} + +/** + * @public + *

AppStream 2.0 can’t process the request right now because the Describe calls from your AWS account are being throttled by Amazon EC2. Try again later.

+ */ +export class RequestLimitExceededException extends __BaseException { + readonly name: "RequestLimitExceededException" = "RequestLimitExceededException"; + readonly $fault: "client" = "client"; + /** + *

The error message in the exception.

+ */ + Message?: string; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "RequestLimitExceededException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, RequestLimitExceededException.prototype); + this.Message = opts.Message; + } +} + +/** + * @public + */ +export interface CreateAppBlockBuilderStreamingURLRequest { + /** + *

The name of the app block builder.

+ */ + AppBlockBuilderName: string | undefined; + + /** + *

The time that the streaming URL will be valid, in seconds. + * Specify a value between 1 and 604800 seconds. The default is 3600 seconds.

+ */ + Validity?: number; +} + +/** + * @public + */ +export interface CreateAppBlockBuilderStreamingURLResult { + /** + *

The URL to start the streaming session.

+ */ + StreamingURL?: string; + + /** + *

The elapsed time, in seconds after the Unix epoch, when this URL expires.

+ */ + Expires?: Date; +} + /** * @public */ @@ -1085,31 +1642,6 @@ export interface CreateDirectoryConfigResult { DirectoryConfig?: DirectoryConfig; } -/** - * @public - *

The specified role is invalid.

- */ -export class InvalidRoleException extends __BaseException { - readonly name: "InvalidRoleException" = "InvalidRoleException"; - readonly $fault: "client" = "client"; - /** - *

The error message in the exception.

- */ - Message?: string; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "InvalidRoleException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, InvalidRoleException.prototype); - this.Message = opts.Message; - } -} - /** * @public *

An attribute associated with an entitlement. Application entitlements work by matching @@ -1312,22 +1844,6 @@ export const StreamView = { */ export type StreamView = (typeof StreamView)[keyof typeof StreamView]; -/** - * @public - *

Describes VPC configuration information for fleets and image builders.

- */ -export interface VpcConfig { - /** - *

The identifiers of the subnets to which a network interface is attached from the fleet instance or image builder instance. Fleet instances use one or more subnets. Image builder instances use one subnet.

- */ - SubnetIds?: string[]; - - /** - *

The identifiers of the security groups for the fleet or image builder.

- */ - SecurityGroupIds?: string[]; -} - /** * @public */ @@ -1585,61 +2101,19 @@ export interface CreateFleetRequest { /** *

The maximum concurrent sessions of the Elastic fleet. This is required for Elastic * fleets, and not allowed for other fleet types.

- */ - MaxConcurrentSessions?: number; - - /** - *

The USB device filter strings that specify which USB devices a user can redirect to the fleet streaming session, when using the Windows native client. This is allowed but not required for Elastic fleets.

- */ - UsbDeviceFilterStrings?: string[]; - - /** - *

The S3 location of the session scripts configuration zip file. This only applies to Elastic fleets.

- */ - SessionScriptS3Location?: S3Location; -} - -/** - * @public - * @enum - */ -export const FleetErrorCode = { - DOMAIN_JOIN_ERROR_ACCESS_DENIED: "DOMAIN_JOIN_ERROR_ACCESS_DENIED", - DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED: "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED", - DOMAIN_JOIN_ERROR_FILE_NOT_FOUND: "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND", - DOMAIN_JOIN_ERROR_INVALID_PARAMETER: "DOMAIN_JOIN_ERROR_INVALID_PARAMETER", - DOMAIN_JOIN_ERROR_LOGON_FAILURE: "DOMAIN_JOIN_ERROR_LOGON_FAILURE", - DOMAIN_JOIN_ERROR_MORE_DATA: "DOMAIN_JOIN_ERROR_MORE_DATA", - DOMAIN_JOIN_ERROR_NOT_SUPPORTED: "DOMAIN_JOIN_ERROR_NOT_SUPPORTED", - DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN: "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN", - DOMAIN_JOIN_INTERNAL_SERVICE_ERROR: "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR", - DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME: "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME", - DOMAIN_JOIN_NERR_PASSWORD_EXPIRED: "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED", - DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED: "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED", - FLEET_INSTANCE_PROVISIONING_FAILURE: "FLEET_INSTANCE_PROVISIONING_FAILURE", - FLEET_STOPPED: "FLEET_STOPPED", - IAM_SERVICE_ROLE_IS_MISSING: "IAM_SERVICE_ROLE_IS_MISSING", - IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION: "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", - IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION: "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", - IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION: "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION", - IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION: "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION", - IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION: "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION", - IGW_NOT_ATTACHED: "IGW_NOT_ATTACHED", - IMAGE_NOT_FOUND: "IMAGE_NOT_FOUND", - INTERNAL_SERVICE_ERROR: "INTERNAL_SERVICE_ERROR", - INVALID_SUBNET_CONFIGURATION: "INVALID_SUBNET_CONFIGURATION", - MACHINE_ROLE_IS_MISSING: "MACHINE_ROLE_IS_MISSING", - NETWORK_INTERFACE_LIMIT_EXCEEDED: "NETWORK_INTERFACE_LIMIT_EXCEEDED", - SECURITY_GROUPS_NOT_FOUND: "SECURITY_GROUPS_NOT_FOUND", - STS_DISABLED_IN_REGION: "STS_DISABLED_IN_REGION", - SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES: "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", - SUBNET_NOT_FOUND: "SUBNET_NOT_FOUND", -} as const; + */ + MaxConcurrentSessions?: number; -/** - * @public - */ -export type FleetErrorCode = (typeof FleetErrorCode)[keyof typeof FleetErrorCode]; + /** + *

The USB device filter strings that specify which USB devices a user can redirect to the fleet streaming session, when using the Windows native client. This is allowed but not required for Elastic fleets.

+ */ + UsbDeviceFilterStrings?: string[]; + + /** + *

The S3 location of the session scripts configuration zip file. This only applies to Elastic fleets.

+ */ + SessionScriptS3Location?: S3Location; +} /** * @public @@ -1940,31 +2414,6 @@ export interface CreateFleetResult { Fleet?: Fleet; } -/** - * @public - *

AppStream 2.0 can’t process the request right now because the Describe calls from your AWS account are being throttled by Amazon EC2. Try again later.

- */ -export class RequestLimitExceededException extends __BaseException { - readonly name: "RequestLimitExceededException" = "RequestLimitExceededException"; - readonly $fault: "client" = "client"; - /** - *

The error message in the exception.

- */ - Message?: string; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "RequestLimitExceededException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, RequestLimitExceededException.prototype); - this.Message = opts.Message; - } -} - /** * @public */ @@ -2141,27 +2590,6 @@ export interface CreateImageBuilderRequest { AccessEndpoints?: AccessEndpoint[]; } -/** - * @public - *

Describes a resource error.

- */ -export interface ResourceError { - /** - *

The error code.

- */ - ErrorCode?: FleetErrorCode | string; - - /** - *

The error message.

- */ - ErrorMessage?: string; - - /** - *

The time the error occurred.

- */ - ErrorTimestamp?: Date; -} - /** * @public *

Describes the network details of the fleet or image builder instance.

@@ -3160,6 +3588,21 @@ export class ResourceInUseException extends __BaseException { } } +/** + * @public + */ +export interface DeleteAppBlockBuilderRequest { + /** + *

The name of the app block builder.

+ */ + Name: string | undefined; +} + +/** + * @public + */ +export interface DeleteAppBlockBuilderResult {} + /** * @public */ @@ -3333,6 +3776,85 @@ export interface DeleteUserRequest { */ export interface DeleteUserResult {} +/** + * @public + */ +export interface DescribeAppBlockBuilderAppBlockAssociationsRequest { + /** + *

The ARN of the app block.

+ */ + AppBlockArn?: string; + + /** + *

The name of the app block builder.

+ */ + AppBlockBuilderName?: string; + + /** + *

The maximum size of each page of results.

+ */ + MaxResults?: number; + + /** + *

The pagination token used to retrieve the next page of results for this + * operation.

+ */ + NextToken?: string; +} + +/** + * @public + */ +export interface DescribeAppBlockBuilderAppBlockAssociationsResult { + /** + *

This list of app block builders associated with app blocks.

+ */ + AppBlockBuilderAppBlockAssociations?: AppBlockBuilderAppBlockAssociation[]; + + /** + *

The pagination token used to retrieve the next page of results for this + * operation.

+ */ + NextToken?: string; +} + +/** + * @public + */ +export interface DescribeAppBlockBuildersRequest { + /** + *

The names of the app block builders.

+ */ + Names?: string[]; + + /** + *

The pagination token used to retrieve the next page of results for this + * operation.

+ */ + NextToken?: string; + + /** + *

The maximum size of each page of results. The maximum value is 25.

+ */ + MaxResults?: number; +} + +/** + * @public + */ +export interface DescribeAppBlockBuildersResult { + /** + *

The list that describes one or more app block builders.

+ */ + AppBlockBuilders?: AppBlockBuilder[]; + + /** + *

The pagination token used to retrieve the next page of results for this + * operation.

+ */ + NextToken?: string; +} + /** * @public */ @@ -4129,6 +4651,26 @@ export interface DisableUserRequest { */ export interface DisableUserResult {} +/** + * @public + */ +export interface DisassociateAppBlockBuilderAppBlockRequest { + /** + *

The ARN of the app block.

+ */ + AppBlockArn: string | undefined; + + /** + *

The name of the app block builder.

+ */ + AppBlockBuilderName: string | undefined; +} + +/** + * @public + */ +export interface DisassociateAppBlockBuilderAppBlockResult {} + /** * @public */ @@ -4381,6 +4923,26 @@ export interface ListTagsForResourceResponse { Tags?: Record; } +/** + * @public + */ +export interface StartAppBlockBuilderRequest { + /** + *

The name of the app block builder.

+ */ + Name: string | undefined; +} + +/** + * @public + */ +export interface StartAppBlockBuilderResult { + /** + *

Describes an app block builder.

+ */ + AppBlockBuilder?: AppBlockBuilder; +} + /** * @public */ @@ -4421,6 +4983,26 @@ export interface StartImageBuilderResult { ImageBuilder?: ImageBuilder; } +/** + * @public + */ +export interface StopAppBlockBuilderRequest { + /** + *

The name of the app block builder.

+ */ + Name: string | undefined; +} + +/** + * @public + */ +export interface StopAppBlockBuilderResult { + /** + *

Describes an app block builder.

+ */ + AppBlockBuilder?: AppBlockBuilder; +} + /** * @public */ @@ -4499,6 +5081,98 @@ export interface UntagResourceRequest { */ export interface UntagResourceResponse {} +/** + * @public + */ +export interface UpdateAppBlockBuilderRequest { + /** + *

The unique name for the app block builder.

+ */ + Name: string | undefined; + + /** + *

The description of the app block builder.

+ */ + Description?: string; + + /** + *

The display name of the app block builder.

+ */ + DisplayName?: string; + + /** + *

The platform of the app block builder.

+ *

+ * WINDOWS_SERVER_2019 is the only valid value.

+ */ + Platform?: PlatformType | string; + + /** + *

The instance type to use when launching the app block builder. The following instance + * types are available:

+ *
    + *
  • + *

    stream.standard.small

    + *
  • + *
  • + *

    stream.standard.medium

    + *
  • + *
  • + *

    stream.standard.large

    + *
  • + *
  • + *

    stream.standard.xlarge

    + *
  • + *
  • + *

    stream.standard.2xlarge

    + *
  • + *
+ */ + InstanceType?: string; + + /** + *

The VPC configuration for the app block builder.

+ *

App block builders require that you specify at least two subnets in different availability + * zones.

+ */ + VpcConfig?: VpcConfig; + + /** + *

Enables or disables default internet access for the app block builder.

+ */ + EnableDefaultInternetAccess?: boolean; + + /** + *

The Amazon Resource Name (ARN) of the IAM role to apply to the app block builder. To + * assume a role, the app block builder calls the AWS Security Token Service (STS) + * AssumeRole API operation and passes the ARN of the role to use. The + * operation creates a new session with temporary credentials. AppStream 2.0 retrieves the + * temporary credentials and creates the appstream_machine_role credential profile on the instance.

+ *

For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.

+ */ + IamRoleArn?: string; + + /** + *

The list of interface VPC endpoint (interface endpoint) objects. Administrators can connect to the app block builder only through the specified endpoints.

+ */ + AccessEndpoints?: AccessEndpoint[]; + + /** + *

The attributes to delete from the app block builder.

+ */ + AttributesToDelete?: (AppBlockBuilderAttribute | string)[]; +} + +/** + * @public + */ +export interface UpdateAppBlockBuilderResult { + /** + *

Describes an app block builder.

+ */ + AppBlockBuilder?: AppBlockBuilder; +} + /** * @public */ @@ -4801,7 +5475,7 @@ export interface UpdateFleetRequest { /** *

The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.

- *

Specify a value between 600 and 360000.

+ *

Specify a value between 600 and 432000.

*/ MaxUserDurationInSeconds?: number; diff --git a/clients/client-appstream/src/pagination/DescribeAppBlockBuilderAppBlockAssociationsPaginator.ts b/clients/client-appstream/src/pagination/DescribeAppBlockBuilderAppBlockAssociationsPaginator.ts new file mode 100644 index 000000000000..325b929430f1 --- /dev/null +++ b/clients/client-appstream/src/pagination/DescribeAppBlockBuilderAppBlockAssociationsPaginator.ts @@ -0,0 +1,50 @@ +// smithy-typescript generated code +import { Paginator } from "@smithy/types"; + +import { AppStreamClient } from "../AppStreamClient"; +import { + DescribeAppBlockBuilderAppBlockAssociationsCommand, + DescribeAppBlockBuilderAppBlockAssociationsCommandInput, + DescribeAppBlockBuilderAppBlockAssociationsCommandOutput, +} from "../commands/DescribeAppBlockBuilderAppBlockAssociationsCommand"; +import { AppStreamPaginationConfiguration } from "./Interfaces"; + +/** + * @internal + */ +const makePagedClientRequest = async ( + client: AppStreamClient, + input: DescribeAppBlockBuilderAppBlockAssociationsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeAppBlockBuilderAppBlockAssociationsCommand(input), ...args); +}; +/** + * @public + */ +export async function* paginateDescribeAppBlockBuilderAppBlockAssociations( + config: AppStreamPaginationConfiguration, + input: DescribeAppBlockBuilderAppBlockAssociationsCommandInput, + ...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: DescribeAppBlockBuilderAppBlockAssociationsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof AppStreamClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected AppStream | AppStreamClient"); + } + yield page; + const prevToken = token; + token = page.NextToken; + hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-appstream/src/pagination/DescribeAppBlockBuildersPaginator.ts b/clients/client-appstream/src/pagination/DescribeAppBlockBuildersPaginator.ts new file mode 100644 index 000000000000..4a2efcf641eb --- /dev/null +++ b/clients/client-appstream/src/pagination/DescribeAppBlockBuildersPaginator.ts @@ -0,0 +1,50 @@ +// smithy-typescript generated code +import { Paginator } from "@smithy/types"; + +import { AppStreamClient } from "../AppStreamClient"; +import { + DescribeAppBlockBuildersCommand, + DescribeAppBlockBuildersCommandInput, + DescribeAppBlockBuildersCommandOutput, +} from "../commands/DescribeAppBlockBuildersCommand"; +import { AppStreamPaginationConfiguration } from "./Interfaces"; + +/** + * @internal + */ +const makePagedClientRequest = async ( + client: AppStreamClient, + input: DescribeAppBlockBuildersCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new DescribeAppBlockBuildersCommand(input), ...args); +}; +/** + * @public + */ +export async function* paginateDescribeAppBlockBuilders( + config: AppStreamPaginationConfiguration, + input: DescribeAppBlockBuildersCommandInput, + ...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: DescribeAppBlockBuildersCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof AppStreamClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected AppStream | AppStreamClient"); + } + yield page; + const prevToken = token; + token = page.NextToken; + hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken)); + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-appstream/src/pagination/index.ts b/clients/client-appstream/src/pagination/index.ts index 7a96694c69a7..32dea8a02fb1 100644 --- a/clients/client-appstream/src/pagination/index.ts +++ b/clients/client-appstream/src/pagination/index.ts @@ -1,3 +1,7 @@ +export * from "./DescribeAppBlockBuilderAppBlockAssociationsPaginator"; + +export * from "./DescribeAppBlockBuildersPaginator"; + export * from "./DescribeImagePermissionsPaginator"; export * from "./DescribeImagesPaginator"; diff --git a/clients/client-appstream/src/protocols/Aws_json1_1.ts b/clients/client-appstream/src/protocols/Aws_json1_1.ts index 4ce8a6374cb2..7819577fad9e 100644 --- a/clients/client-appstream/src/protocols/Aws_json1_1.ts +++ b/clients/client-appstream/src/protocols/Aws_json1_1.ts @@ -20,6 +20,10 @@ import { SerdeContext as __SerdeContext, } from "@smithy/types"; +import { + AssociateAppBlockBuilderAppBlockCommandInput, + AssociateAppBlockBuilderAppBlockCommandOutput, +} from "../commands/AssociateAppBlockBuilderAppBlockCommand"; import { AssociateApplicationFleetCommandInput, AssociateApplicationFleetCommandOutput, @@ -38,6 +42,14 @@ import { BatchDisassociateUserStackCommandOutput, } from "../commands/BatchDisassociateUserStackCommand"; import { CopyImageCommandInput, CopyImageCommandOutput } from "../commands/CopyImageCommand"; +import { + CreateAppBlockBuilderCommandInput, + CreateAppBlockBuilderCommandOutput, +} from "../commands/CreateAppBlockBuilderCommand"; +import { + CreateAppBlockBuilderStreamingURLCommandInput, + CreateAppBlockBuilderStreamingURLCommandOutput, +} from "../commands/CreateAppBlockBuilderStreamingURLCommand"; import { CreateAppBlockCommandInput, CreateAppBlockCommandOutput } from "../commands/CreateAppBlockCommand"; import { CreateApplicationCommandInput, CreateApplicationCommandOutput } from "../commands/CreateApplicationCommand"; import { @@ -59,6 +71,10 @@ import { CreateUsageReportSubscriptionCommandOutput, } from "../commands/CreateUsageReportSubscriptionCommand"; import { CreateUserCommandInput, CreateUserCommandOutput } from "../commands/CreateUserCommand"; +import { + DeleteAppBlockBuilderCommandInput, + DeleteAppBlockBuilderCommandOutput, +} from "../commands/DeleteAppBlockBuilderCommand"; import { DeleteAppBlockCommandInput, DeleteAppBlockCommandOutput } from "../commands/DeleteAppBlockCommand"; import { DeleteApplicationCommandInput, DeleteApplicationCommandOutput } from "../commands/DeleteApplicationCommand"; import { @@ -79,6 +95,14 @@ import { DeleteUsageReportSubscriptionCommandOutput, } from "../commands/DeleteUsageReportSubscriptionCommand"; import { DeleteUserCommandInput, DeleteUserCommandOutput } from "../commands/DeleteUserCommand"; +import { + DescribeAppBlockBuilderAppBlockAssociationsCommandInput, + DescribeAppBlockBuilderAppBlockAssociationsCommandOutput, +} from "../commands/DescribeAppBlockBuilderAppBlockAssociationsCommand"; +import { + DescribeAppBlockBuildersCommandInput, + DescribeAppBlockBuildersCommandOutput, +} from "../commands/DescribeAppBlockBuildersCommand"; import { DescribeAppBlocksCommandInput, DescribeAppBlocksCommandOutput } from "../commands/DescribeAppBlocksCommand"; import { DescribeApplicationFleetAssociationsCommandInput, @@ -118,6 +142,10 @@ import { DescribeUserStackAssociationsCommandOutput, } from "../commands/DescribeUserStackAssociationsCommand"; import { DisableUserCommandInput, DisableUserCommandOutput } from "../commands/DisableUserCommand"; +import { + DisassociateAppBlockBuilderAppBlockCommandInput, + DisassociateAppBlockBuilderAppBlockCommandOutput, +} from "../commands/DisassociateAppBlockBuilderAppBlockCommand"; import { DisassociateApplicationFleetCommandInput, DisassociateApplicationFleetCommandOutput, @@ -145,12 +173,24 @@ import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "../commands/ListTagsForResourceCommand"; +import { + StartAppBlockBuilderCommandInput, + StartAppBlockBuilderCommandOutput, +} from "../commands/StartAppBlockBuilderCommand"; import { StartFleetCommandInput, StartFleetCommandOutput } from "../commands/StartFleetCommand"; import { StartImageBuilderCommandInput, StartImageBuilderCommandOutput } from "../commands/StartImageBuilderCommand"; +import { + StopAppBlockBuilderCommandInput, + StopAppBlockBuilderCommandOutput, +} from "../commands/StopAppBlockBuilderCommand"; import { StopFleetCommandInput, StopFleetCommandOutput } from "../commands/StopFleetCommand"; import { StopImageBuilderCommandInput, StopImageBuilderCommandOutput } from "../commands/StopImageBuilderCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; +import { + UpdateAppBlockBuilderCommandInput, + UpdateAppBlockBuilderCommandOutput, +} from "../commands/UpdateAppBlockBuilderCommand"; import { UpdateApplicationCommandInput, UpdateApplicationCommandOutput } from "../commands/UpdateApplicationCommand"; import { UpdateDirectoryConfigCommandInput, @@ -167,9 +207,12 @@ import { AppStreamServiceException as __BaseException } from "../models/AppStrea import { AccessEndpoint, AppBlock, + AppBlockBuilder, + AppBlockBuilderAttribute, Application, ApplicationAttribute, ApplicationSettings, + AssociateAppBlockBuilderAppBlockRequest, AssociateApplicationFleetRequest, AssociateApplicationToEntitlementRequest, AssociateFleetRequest, @@ -179,6 +222,10 @@ import { ComputeCapacity, ConcurrentModificationException, CopyImageRequest, + CreateAppBlockBuilderRequest, + CreateAppBlockBuilderResult, + CreateAppBlockBuilderStreamingURLRequest, + CreateAppBlockBuilderStreamingURLResult, CreateAppBlockRequest, CreateAppBlockResult, CreateApplicationRequest, @@ -201,6 +248,7 @@ import { CreateUpdatedImageResult, CreateUsageReportSubscriptionRequest, CreateUserRequest, + DeleteAppBlockBuilderRequest, DeleteAppBlockRequest, DeleteApplicationRequest, DeleteDirectoryConfigRequest, @@ -214,6 +262,9 @@ import { DeleteStackRequest, DeleteUsageReportSubscriptionRequest, DeleteUserRequest, + DescribeAppBlockBuilderAppBlockAssociationsRequest, + DescribeAppBlockBuildersRequest, + DescribeAppBlockBuildersResult, DescribeAppBlocksRequest, DescribeAppBlocksResult, DescribeApplicationFleetAssociationsRequest, @@ -241,6 +292,7 @@ import { DescribeUserStackAssociationsRequest, DirectoryConfig, DisableUserRequest, + DisassociateAppBlockBuilderAppBlockRequest, DisassociateApplicationFleetRequest, DisassociateApplicationFromEntitlementRequest, DisassociateFleetRequest, @@ -279,9 +331,13 @@ import { Session, Stack, StackAttribute, + StartAppBlockBuilderRequest, + StartAppBlockBuilderResult, StartFleetRequest, StartImageBuilderRequest, StartImageBuilderResult, + StopAppBlockBuilderRequest, + StopAppBlockBuilderResult, StopFleetRequest, StopImageBuilderRequest, StopImageBuilderResult, @@ -289,6 +345,8 @@ import { StreamingExperienceSettings, TagResourceRequest, UntagResourceRequest, + UpdateAppBlockBuilderRequest, + UpdateAppBlockBuilderResult, UpdateApplicationRequest, UpdateApplicationResult, UpdateDirectoryConfigRequest, @@ -307,6 +365,19 @@ import { VpcConfig, } from "../models/models_0"; +/** + * serializeAws_json1_1AssociateAppBlockBuilderAppBlockCommand + */ +export const se_AssociateAppBlockBuilderAppBlockCommand = async ( + input: AssociateAppBlockBuilderAppBlockCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("AssociateAppBlockBuilderAppBlock"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1AssociateApplicationFleetCommand */ @@ -398,6 +469,32 @@ export const se_CreateAppBlockCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1CreateAppBlockBuilderCommand + */ +export const se_CreateAppBlockBuilderCommand = async ( + input: CreateAppBlockBuilderCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("CreateAppBlockBuilder"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +/** + * serializeAws_json1_1CreateAppBlockBuilderStreamingURLCommand + */ +export const se_CreateAppBlockBuilderStreamingURLCommand = async ( + input: CreateAppBlockBuilderStreamingURLCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("CreateAppBlockBuilderStreamingURL"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1CreateApplicationCommand */ @@ -554,6 +651,19 @@ export const se_DeleteAppBlockCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1DeleteAppBlockBuilderCommand + */ +export const se_DeleteAppBlockBuilderCommand = async ( + input: DeleteAppBlockBuilderCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("DeleteAppBlockBuilder"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1DeleteApplicationCommand */ @@ -684,6 +794,32 @@ export const se_DeleteUserCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1DescribeAppBlockBuilderAppBlockAssociationsCommand + */ +export const se_DescribeAppBlockBuilderAppBlockAssociationsCommand = async ( + input: DescribeAppBlockBuilderAppBlockAssociationsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("DescribeAppBlockBuilderAppBlockAssociations"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +/** + * serializeAws_json1_1DescribeAppBlockBuildersCommand + */ +export const se_DescribeAppBlockBuildersCommand = async ( + input: DescribeAppBlockBuildersCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("DescribeAppBlockBuilders"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1DescribeAppBlocksCommand */ @@ -879,6 +1015,19 @@ export const se_DisableUserCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1DisassociateAppBlockBuilderAppBlockCommand + */ +export const se_DisassociateAppBlockBuilderAppBlockCommand = async ( + input: DisassociateAppBlockBuilderAppBlockCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("DisassociateAppBlockBuilderAppBlock"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1DisassociateApplicationFleetCommand */ @@ -996,6 +1145,19 @@ export const se_ListTagsForResourceCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1StartAppBlockBuilderCommand + */ +export const se_StartAppBlockBuilderCommand = async ( + input: StartAppBlockBuilderCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("StartAppBlockBuilder"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1StartFleetCommand */ @@ -1022,6 +1184,19 @@ export const se_StartImageBuilderCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1StopAppBlockBuilderCommand + */ +export const se_StopAppBlockBuilderCommand = async ( + input: StopAppBlockBuilderCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("StopAppBlockBuilder"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1StopFleetCommand */ @@ -1074,6 +1249,19 @@ export const se_UntagResourceCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1UpdateAppBlockBuilderCommand + */ +export const se_UpdateAppBlockBuilderCommand = async ( + input: UpdateAppBlockBuilderCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("UpdateAppBlockBuilder"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1UpdateApplicationCommand */ @@ -1152,6 +1340,64 @@ export const se_UpdateStackCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * deserializeAws_json1_1AssociateAppBlockBuilderAppBlockCommand + */ +export const de_AssociateAppBlockBuilderAppBlockCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_AssociateAppBlockBuilderAppBlockCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = _json(data); + const response: AssociateAppBlockBuilderAppBlockCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_1AssociateAppBlockBuilderAppBlockCommandError + */ +const de_AssociateAppBlockBuilderAppBlockCommandError = 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 "ConcurrentModificationException": + case "com.amazonaws.appstream#ConcurrentModificationException": + throw await de_ConcurrentModificationExceptionRes(parsedOutput, context); + case "InvalidParameterCombinationException": + case "com.amazonaws.appstream#InvalidParameterCombinationException": + throw await de_InvalidParameterCombinationExceptionRes(parsedOutput, context); + case "LimitExceededException": + case "com.amazonaws.appstream#LimitExceededException": + throw await de_LimitExceededExceptionRes(parsedOutput, context); + case "OperationNotPermittedException": + case "com.amazonaws.appstream#OperationNotPermittedException": + throw await de_OperationNotPermittedExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.appstream#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_json1_1AssociateApplicationFleetCommand */ @@ -1540,6 +1786,128 @@ const de_CreateAppBlockCommandError = async ( } }; +/** + * deserializeAws_json1_1CreateAppBlockBuilderCommand + */ +export const de_CreateAppBlockBuilderCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CreateAppBlockBuilderCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_CreateAppBlockBuilderResult(data, context); + const response: CreateAppBlockBuilderCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_1CreateAppBlockBuilderCommandError + */ +const de_CreateAppBlockBuilderCommandError = 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 "ConcurrentModificationException": + case "com.amazonaws.appstream#ConcurrentModificationException": + throw await de_ConcurrentModificationExceptionRes(parsedOutput, context); + case "InvalidAccountStatusException": + case "com.amazonaws.appstream#InvalidAccountStatusException": + throw await de_InvalidAccountStatusExceptionRes(parsedOutput, context); + case "InvalidParameterCombinationException": + case "com.amazonaws.appstream#InvalidParameterCombinationException": + throw await de_InvalidParameterCombinationExceptionRes(parsedOutput, context); + case "InvalidRoleException": + case "com.amazonaws.appstream#InvalidRoleException": + throw await de_InvalidRoleExceptionRes(parsedOutput, context); + case "LimitExceededException": + case "com.amazonaws.appstream#LimitExceededException": + throw await de_LimitExceededExceptionRes(parsedOutput, context); + case "OperationNotPermittedException": + case "com.amazonaws.appstream#OperationNotPermittedException": + throw await de_OperationNotPermittedExceptionRes(parsedOutput, context); + case "RequestLimitExceededException": + case "com.amazonaws.appstream#RequestLimitExceededException": + throw await de_RequestLimitExceededExceptionRes(parsedOutput, context); + case "ResourceAlreadyExistsException": + case "com.amazonaws.appstream#ResourceAlreadyExistsException": + throw await de_ResourceAlreadyExistsExceptionRes(parsedOutput, context); + case "ResourceNotAvailableException": + case "com.amazonaws.appstream#ResourceNotAvailableException": + throw await de_ResourceNotAvailableExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.appstream#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + +/** + * deserializeAws_json1_1CreateAppBlockBuilderStreamingURLCommand + */ +export const de_CreateAppBlockBuilderStreamingURLCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CreateAppBlockBuilderStreamingURLCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_CreateAppBlockBuilderStreamingURLResult(data, context); + const response: CreateAppBlockBuilderStreamingURLCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_1CreateAppBlockBuilderStreamingURLCommandError + */ +const de_CreateAppBlockBuilderStreamingURLCommandError = 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 "OperationNotPermittedException": + case "com.amazonaws.appstream#OperationNotPermittedException": + throw await de_OperationNotPermittedExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.appstream#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_json1_1CreateApplicationCommand */ @@ -2260,6 +2628,61 @@ const de_DeleteAppBlockCommandError = async ( } }; +/** + * deserializeAws_json1_1DeleteAppBlockBuilderCommand + */ +export const de_DeleteAppBlockBuilderCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_DeleteAppBlockBuilderCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = _json(data); + const response: DeleteAppBlockBuilderCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_1DeleteAppBlockBuilderCommandError + */ +const de_DeleteAppBlockBuilderCommandError = 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 "ConcurrentModificationException": + case "com.amazonaws.appstream#ConcurrentModificationException": + throw await de_ConcurrentModificationExceptionRes(parsedOutput, context); + case "OperationNotPermittedException": + case "com.amazonaws.appstream#OperationNotPermittedException": + throw await de_OperationNotPermittedExceptionRes(parsedOutput, context); + case "ResourceInUseException": + case "com.amazonaws.appstream#ResourceInUseException": + throw await de_ResourceInUseExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.appstream#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_json1_1DeleteApplicationCommand */ @@ -2777,6 +3200,104 @@ const de_DeleteUserCommandError = async ( } }; +/** + * deserializeAws_json1_1DescribeAppBlockBuilderAppBlockAssociationsCommand + */ +export const de_DescribeAppBlockBuilderAppBlockAssociationsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_DescribeAppBlockBuilderAppBlockAssociationsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = _json(data); + const response: DescribeAppBlockBuilderAppBlockAssociationsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_1DescribeAppBlockBuilderAppBlockAssociationsCommandError + */ +const de_DescribeAppBlockBuilderAppBlockAssociationsCommandError = 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 "InvalidParameterCombinationException": + case "com.amazonaws.appstream#InvalidParameterCombinationException": + throw await de_InvalidParameterCombinationExceptionRes(parsedOutput, context); + case "OperationNotPermittedException": + case "com.amazonaws.appstream#OperationNotPermittedException": + throw await de_OperationNotPermittedExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + +/** + * deserializeAws_json1_1DescribeAppBlockBuildersCommand + */ +export const de_DescribeAppBlockBuildersCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_DescribeAppBlockBuildersCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_DescribeAppBlockBuildersResult(data, context); + const response: DescribeAppBlockBuildersCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_1DescribeAppBlockBuildersCommandError + */ +const de_DescribeAppBlockBuildersCommandError = 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 "OperationNotPermittedException": + case "com.amazonaws.appstream#OperationNotPermittedException": + throw await de_OperationNotPermittedExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.appstream#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_json1_1DescribeAppBlocksCommand */ @@ -3497,6 +4018,61 @@ const de_DisableUserCommandError = async ( } }; +/** + * deserializeAws_json1_1DisassociateAppBlockBuilderAppBlockCommand + */ +export const de_DisassociateAppBlockBuilderAppBlockCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_DisassociateAppBlockBuilderAppBlockCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = _json(data); + const response: DisassociateAppBlockBuilderAppBlockCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_1DisassociateAppBlockBuilderAppBlockCommandError + */ +const de_DisassociateAppBlockBuilderAppBlockCommandError = 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 "ConcurrentModificationException": + case "com.amazonaws.appstream#ConcurrentModificationException": + throw await de_ConcurrentModificationExceptionRes(parsedOutput, context); + case "InvalidParameterCombinationException": + case "com.amazonaws.appstream#InvalidParameterCombinationException": + throw await de_InvalidParameterCombinationExceptionRes(parsedOutput, context); + case "OperationNotPermittedException": + case "com.amazonaws.appstream#OperationNotPermittedException": + throw await de_OperationNotPermittedExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.appstream#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_json1_1DisassociateApplicationFleetCommand */ @@ -3923,6 +4499,70 @@ const de_ListTagsForResourceCommandError = async ( } }; +/** + * deserializeAws_json1_1StartAppBlockBuilderCommand + */ +export const de_StartAppBlockBuilderCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_StartAppBlockBuilderCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_StartAppBlockBuilderResult(data, context); + const response: StartAppBlockBuilderCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_1StartAppBlockBuilderCommandError + */ +const de_StartAppBlockBuilderCommandError = 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 "ConcurrentModificationException": + case "com.amazonaws.appstream#ConcurrentModificationException": + throw await de_ConcurrentModificationExceptionRes(parsedOutput, context); + case "InvalidAccountStatusException": + case "com.amazonaws.appstream#InvalidAccountStatusException": + throw await de_InvalidAccountStatusExceptionRes(parsedOutput, context); + case "LimitExceededException": + case "com.amazonaws.appstream#LimitExceededException": + throw await de_LimitExceededExceptionRes(parsedOutput, context); + case "OperationNotPermittedException": + case "com.amazonaws.appstream#OperationNotPermittedException": + throw await de_OperationNotPermittedExceptionRes(parsedOutput, context); + case "RequestLimitExceededException": + case "com.amazonaws.appstream#RequestLimitExceededException": + throw await de_RequestLimitExceededExceptionRes(parsedOutput, context); + case "ResourceNotAvailableException": + case "com.amazonaws.appstream#ResourceNotAvailableException": + throw await de_ResourceNotAvailableExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.appstream#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_json1_1StartFleetCommand */ @@ -4048,6 +4688,58 @@ const de_StartImageBuilderCommandError = async ( } }; +/** + * deserializeAws_json1_1StopAppBlockBuilderCommand + */ +export const de_StopAppBlockBuilderCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_StopAppBlockBuilderCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_StopAppBlockBuilderResult(data, context); + const response: StopAppBlockBuilderCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_1StopAppBlockBuilderCommandError + */ +const de_StopAppBlockBuilderCommandError = 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 "ConcurrentModificationException": + case "com.amazonaws.appstream#ConcurrentModificationException": + throw await de_ConcurrentModificationExceptionRes(parsedOutput, context); + case "OperationNotPermittedException": + case "com.amazonaws.appstream#OperationNotPermittedException": + throw await de_OperationNotPermittedExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.appstream#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_json1_1StopFleetCommand */ @@ -4247,6 +4939,79 @@ const de_UntagResourceCommandError = async ( } }; +/** + * deserializeAws_json1_1UpdateAppBlockBuilderCommand + */ +export const de_UpdateAppBlockBuilderCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_UpdateAppBlockBuilderCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_UpdateAppBlockBuilderResult(data, context); + const response: UpdateAppBlockBuilderCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_1UpdateAppBlockBuilderCommandError + */ +const de_UpdateAppBlockBuilderCommandError = 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 "ConcurrentModificationException": + case "com.amazonaws.appstream#ConcurrentModificationException": + throw await de_ConcurrentModificationExceptionRes(parsedOutput, context); + case "InvalidAccountStatusException": + case "com.amazonaws.appstream#InvalidAccountStatusException": + throw await de_InvalidAccountStatusExceptionRes(parsedOutput, context); + case "InvalidParameterCombinationException": + case "com.amazonaws.appstream#InvalidParameterCombinationException": + throw await de_InvalidParameterCombinationExceptionRes(parsedOutput, context); + case "InvalidRoleException": + case "com.amazonaws.appstream#InvalidRoleException": + throw await de_InvalidRoleExceptionRes(parsedOutput, context); + case "LimitExceededException": + case "com.amazonaws.appstream#LimitExceededException": + throw await de_LimitExceededExceptionRes(parsedOutput, context); + case "OperationNotPermittedException": + case "com.amazonaws.appstream#OperationNotPermittedException": + throw await de_OperationNotPermittedExceptionRes(parsedOutput, context); + case "RequestLimitExceededException": + case "com.amazonaws.appstream#RequestLimitExceededException": + throw await de_RequestLimitExceededExceptionRes(parsedOutput, context); + case "ResourceInUseException": + case "com.amazonaws.appstream#ResourceInUseException": + throw await de_ResourceInUseExceptionRes(parsedOutput, context); + case "ResourceNotAvailableException": + case "com.amazonaws.appstream#ResourceNotAvailableException": + throw await de_ResourceNotAvailableExceptionRes(parsedOutput, context); + case "ResourceNotFoundException": + case "com.amazonaws.appstream#ResourceNotFoundException": + throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_json1_1UpdateApplicationCommand */ @@ -4838,12 +5603,16 @@ const de_ResourceNotFoundExceptionRes = async ( // se_AccessEndpointList omitted. +// se_AppBlockBuilderAttributes omitted. + // se_ApplicationAttributes omitted. // se_ApplicationSettings omitted. // se_ArnList omitted. +// se_AssociateAppBlockBuilderAppBlockRequest omitted. + // se_AssociateApplicationFleetRequest omitted. // se_AssociateApplicationToEntitlementRequest omitted. @@ -4862,6 +5631,10 @@ const de_ResourceNotFoundExceptionRes = async ( // se_CopyImageRequest omitted. +// se_CreateAppBlockBuilderRequest omitted. + +// se_CreateAppBlockBuilderStreamingURLRequest omitted. + // se_CreateAppBlockRequest omitted. // se_CreateApplicationRequest omitted. @@ -4886,6 +5659,8 @@ const de_ResourceNotFoundExceptionRes = async ( // se_CreateUserRequest omitted. +// se_DeleteAppBlockBuilderRequest omitted. + // se_DeleteAppBlockRequest omitted. // se_DeleteApplicationRequest omitted. @@ -4908,6 +5683,10 @@ const de_ResourceNotFoundExceptionRes = async ( // se_DeleteUserRequest omitted. +// se_DescribeAppBlockBuilderAppBlockAssociationsRequest omitted. + +// se_DescribeAppBlockBuildersRequest omitted. + // se_DescribeAppBlocksRequest omitted. // se_DescribeApplicationFleetAssociationsRequest omitted. @@ -4940,6 +5719,8 @@ const de_ResourceNotFoundExceptionRes = async ( // se_DisableUserRequest omitted. +// se_DisassociateAppBlockBuilderAppBlockRequest omitted. + // se_DisassociateApplicationFleetRequest omitted. // se_DisassociateApplicationFromEntitlementRequest omitted. @@ -4986,10 +5767,14 @@ const de_ResourceNotFoundExceptionRes = async ( // se_StackAttributes omitted. +// se_StartAppBlockBuilderRequest omitted. + // se_StartFleetRequest omitted. // se_StartImageBuilderRequest omitted. +// se_StopAppBlockBuilderRequest omitted. + // se_StopFleetRequest omitted. // se_StopImageBuilderRequest omitted. @@ -5012,6 +5797,8 @@ const de_ResourceNotFoundExceptionRes = async ( // se_UntagResourceRequest omitted. +// se_UpdateAppBlockBuilderRequest omitted. + // se_UpdateApplicationRequest omitted. // se_UpdateDirectoryConfigRequest omitted. @@ -5045,16 +5832,60 @@ const de_ResourceNotFoundExceptionRes = async ( */ const de_AppBlock = (output: any, context: __SerdeContext): AppBlock => { return take(output, { + AppBlockErrors: _json, Arn: __expectString, CreatedTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), Description: __expectString, DisplayName: __expectString, Name: __expectString, + PackagingType: __expectString, + PostSetupScriptDetails: _json, SetupScriptDetails: _json, SourceS3Location: _json, + State: __expectString, + }) as any; +}; + +/** + * deserializeAws_json1_1AppBlockBuilder + */ +const de_AppBlockBuilder = (output: any, context: __SerdeContext): AppBlockBuilder => { + return take(output, { + AccessEndpoints: _json, + AppBlockBuilderErrors: (_: any) => de_ResourceErrors(_, context), + Arn: __expectString, + CreatedTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + Description: __expectString, + DisplayName: __expectString, + EnableDefaultInternetAccess: __expectBoolean, + IamRoleArn: __expectString, + InstanceType: __expectString, + Name: __expectString, + Platform: __expectString, + State: __expectString, + StateChangeReason: _json, + VpcConfig: _json, }) as any; }; +// de_AppBlockBuilderAppBlockAssociation omitted. + +// de_AppBlockBuilderAppBlockAssociationsList omitted. + +/** + * deserializeAws_json1_1AppBlockBuilderList + */ +const de_AppBlockBuilderList = (output: any, context: __SerdeContext): AppBlockBuilder[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_AppBlockBuilder(entry, context); + }); + return retVal; +}; + +// de_AppBlockBuilderStateChangeReason omitted. + /** * deserializeAws_json1_1AppBlocks */ @@ -5108,6 +5939,8 @@ const de_Applications = (output: any, context: __SerdeContext): Application[] => // de_ApplicationSettingsResponse omitted. +// de_AssociateAppBlockBuilderAppBlockResult omitted. + // de_AssociateApplicationFleetResult omitted. // de_AssociateApplicationToEntitlementResult omitted. @@ -5126,6 +5959,28 @@ const de_Applications = (output: any, context: __SerdeContext): Application[] => // de_CopyImageResponse omitted. +/** + * deserializeAws_json1_1CreateAppBlockBuilderResult + */ +const de_CreateAppBlockBuilderResult = (output: any, context: __SerdeContext): CreateAppBlockBuilderResult => { + return take(output, { + AppBlockBuilder: (_: any) => de_AppBlockBuilder(_, context), + }) as any; +}; + +/** + * deserializeAws_json1_1CreateAppBlockBuilderStreamingURLResult + */ +const de_CreateAppBlockBuilderStreamingURLResult = ( + output: any, + context: __SerdeContext +): CreateAppBlockBuilderStreamingURLResult => { + return take(output, { + Expires: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + StreamingURL: __expectString, + }) as any; +}; + /** * deserializeAws_json1_1CreateAppBlockResult */ @@ -5226,6 +6081,8 @@ const de_CreateUpdatedImageResult = (output: any, context: __SerdeContext): Crea // de_CreateUserResult omitted. +// de_DeleteAppBlockBuilderResult omitted. + // de_DeleteAppBlockResult omitted. // de_DeleteApplicationResult omitted. @@ -5262,6 +6119,18 @@ const de_DeleteImageResult = (output: any, context: __SerdeContext): DeleteImage // de_DeleteUserResult omitted. +// de_DescribeAppBlockBuilderAppBlockAssociationsResult omitted. + +/** + * deserializeAws_json1_1DescribeAppBlockBuildersResult + */ +const de_DescribeAppBlockBuildersResult = (output: any, context: __SerdeContext): DescribeAppBlockBuildersResult => { + return take(output, { + AppBlockBuilders: (_: any) => de_AppBlockBuilderList(_, context), + NextToken: __expectString, + }) as any; +}; + /** * deserializeAws_json1_1DescribeAppBlocksResult */ @@ -5408,6 +6277,8 @@ const de_DirectoryConfigList = (output: any, context: __SerdeContext): Directory // de_DisableUserResult omitted. +// de_DisassociateAppBlockBuilderAppBlockResult omitted. + // de_DisassociateApplicationFleetResult omitted. // de_DisassociateApplicationFromEntitlementResult omitted. @@ -5461,6 +6332,10 @@ const de_EntitlementList = (output: any, context: __SerdeContext): Entitlement[] // de_EntitlementNotFoundException omitted. +// de_ErrorDetails omitted. + +// de_ErrorDetailsList omitted. + // de_ExpireSessionResult omitted. /** @@ -5737,6 +6612,15 @@ const de_StackList = (output: any, context: __SerdeContext): Stack[] => { return retVal; }; +/** + * deserializeAws_json1_1StartAppBlockBuilderResult + */ +const de_StartAppBlockBuilderResult = (output: any, context: __SerdeContext): StartAppBlockBuilderResult => { + return take(output, { + AppBlockBuilder: (_: any) => de_AppBlockBuilder(_, context), + }) as any; +}; + // de_StartFleetResult omitted. /** @@ -5748,6 +6632,15 @@ const de_StartImageBuilderResult = (output: any, context: __SerdeContext): Start }) as any; }; +/** + * deserializeAws_json1_1StopAppBlockBuilderResult + */ +const de_StopAppBlockBuilderResult = (output: any, context: __SerdeContext): StopAppBlockBuilderResult => { + return take(output, { + AppBlockBuilder: (_: any) => de_AppBlockBuilder(_, context), + }) as any; +}; + // de_StopFleetResult omitted. /** @@ -5775,6 +6668,15 @@ const de_StopImageBuilderResult = (output: any, context: __SerdeContext): StopIm // de_UntagResourceResponse omitted. +/** + * deserializeAws_json1_1UpdateAppBlockBuilderResult + */ +const de_UpdateAppBlockBuilderResult = (output: any, context: __SerdeContext): UpdateAppBlockBuilderResult => { + return take(output, { + AppBlockBuilder: (_: any) => de_AppBlockBuilder(_, context), + }) as any; +}; + /** * deserializeAws_json1_1UpdateApplicationResult */ diff --git a/codegen/sdk-codegen/aws-models/appstream.json b/codegen/sdk-codegen/aws-models/appstream.json index 9604ba06161b..304dd250c123 100644 --- a/codegen/sdk-codegen/aws-models/appstream.json +++ b/codegen/sdk-codegen/aws-models/appstream.json @@ -177,8 +177,7 @@ "SetupScriptDetails": { "target": "com.amazonaws.appstream#ScriptDetails", "traits": { - "smithy.api#documentation": "

The setup script details of the app block.

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

The setup script details of the app block.

\n

This only applies to app blocks with PackagingType CUSTOM.

" } }, "CreatedTime": { @@ -186,12 +185,291 @@ "traits": { "smithy.api#documentation": "

The created time of the app block.

" } + }, + "PostSetupScriptDetails": { + "target": "com.amazonaws.appstream#ScriptDetails", + "traits": { + "smithy.api#documentation": "

The post setup script details of the app block.

\n

This only applies to app blocks with PackagingType APPSTREAM2.

" + } + }, + "PackagingType": { + "target": "com.amazonaws.appstream#PackagingType", + "traits": { + "smithy.api#documentation": "

The packaging type of the app block.

" + } + }, + "State": { + "target": "com.amazonaws.appstream#AppBlockState", + "traits": { + "smithy.api#documentation": "

The state of the app block.

\n

An app block with AppStream 2.0 packaging will be in the INACTIVE state\n if no application package (VHD) is assigned to it. After an application package (VHD) is\n created by an app block builder for an app block, it becomes ACTIVE.

\n

Custom app blocks are always in the ACTIVE state and no action is required to use them.

" + } + }, + "AppBlockErrors": { + "target": "com.amazonaws.appstream#ErrorDetailsList", + "traits": { + "smithy.api#documentation": "

The errors of the app block.

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

Describes an app block.

\n

App blocks are an Amazon AppStream 2.0 resource that stores the details about the\n virtual hard disk in an S3 bucket. It also stores the setup script with details about\n how to mount the virtual hard disk. The virtual hard disk includes the application\n binaries and other files necessary to launch your applications. Multiple applications\n can be assigned to a single app block.

\n

This is only supported for Elastic fleets.

" } }, + "com.amazonaws.appstream#AppBlockBuilder": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.appstream#Arn", + "traits": { + "smithy.api#documentation": "

The ARN of the app block builder.

", + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.appstream#String", + "traits": { + "smithy.api#documentation": "

The name of the app block builder.

", + "smithy.api#required": {} + } + }, + "DisplayName": { + "target": "com.amazonaws.appstream#String", + "traits": { + "smithy.api#documentation": "

The display name of the app block builder.

" + } + }, + "Description": { + "target": "com.amazonaws.appstream#String", + "traits": { + "smithy.api#documentation": "

The description of the app block builder.

" + } + }, + "Platform": { + "target": "com.amazonaws.appstream#AppBlockBuilderPlatformType", + "traits": { + "smithy.api#documentation": "

The platform of the app block builder.

\n

\n WINDOWS_SERVER_2019 is the only valid value.

", + "smithy.api#required": {} + } + }, + "InstanceType": { + "target": "com.amazonaws.appstream#String", + "traits": { + "smithy.api#documentation": "

The instance type of the app block builder.

", + "smithy.api#required": {} + } + }, + "EnableDefaultInternetAccess": { + "target": "com.amazonaws.appstream#BooleanObject", + "traits": { + "smithy.api#documentation": "

Indicates whether default internet access is enabled for the app block builder.

" + } + }, + "IamRoleArn": { + "target": "com.amazonaws.appstream#Arn", + "traits": { + "smithy.api#documentation": "

The ARN of the IAM role that is applied to the app block builder.

" + } + }, + "VpcConfig": { + "target": "com.amazonaws.appstream#VpcConfig", + "traits": { + "smithy.api#documentation": "

The VPC configuration for the app block builder.

", + "smithy.api#required": {} + } + }, + "State": { + "target": "com.amazonaws.appstream#AppBlockBuilderState", + "traits": { + "smithy.api#documentation": "

The state of the app block builder.

", + "smithy.api#required": {} + } + }, + "CreatedTime": { + "target": "com.amazonaws.appstream#Timestamp", + "traits": { + "smithy.api#documentation": "

The creation time of the app block builder.

" + } + }, + "AppBlockBuilderErrors": { + "target": "com.amazonaws.appstream#ResourceErrors", + "traits": { + "smithy.api#documentation": "

The app block builder errors.

" + } + }, + "StateChangeReason": { + "target": "com.amazonaws.appstream#AppBlockBuilderStateChangeReason", + "traits": { + "smithy.api#documentation": "

The state change reason.

" + } + }, + "AccessEndpoints": { + "target": "com.amazonaws.appstream#AccessEndpointList", + "traits": { + "smithy.api#documentation": "

The list of interface VPC endpoint (interface endpoint) objects. Administrators can connect to the app block builder only through the specified endpoints.

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

Describes an app block builder.

" + } + }, + "com.amazonaws.appstream#AppBlockBuilderAppBlockAssociation": { + "type": "structure", + "members": { + "AppBlockArn": { + "target": "com.amazonaws.appstream#Arn", + "traits": { + "smithy.api#documentation": "

The ARN of the app block.

", + "smithy.api#required": {} + } + }, + "AppBlockBuilderName": { + "target": "com.amazonaws.appstream#Name", + "traits": { + "smithy.api#documentation": "

The name of the app block builder.

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

Describes an association between an app block builder and app block.

" + } + }, + "com.amazonaws.appstream#AppBlockBuilderAppBlockAssociationsList": { + "type": "list", + "member": { + "target": "com.amazonaws.appstream#AppBlockBuilderAppBlockAssociation" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 25 + } + } + }, + "com.amazonaws.appstream#AppBlockBuilderAttribute": { + "type": "enum", + "members": { + "IAM_ROLE_ARN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IAM_ROLE_ARN" + } + }, + "ACCESS_ENDPOINTS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACCESS_ENDPOINTS" + } + }, + "VPC_CONFIGURATION_SECURITY_GROUP_IDS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "VPC_CONFIGURATION_SECURITY_GROUP_IDS" + } + } + } + }, + "com.amazonaws.appstream#AppBlockBuilderAttributes": { + "type": "list", + "member": { + "target": "com.amazonaws.appstream#AppBlockBuilderAttribute" + } + }, + "com.amazonaws.appstream#AppBlockBuilderList": { + "type": "list", + "member": { + "target": "com.amazonaws.appstream#AppBlockBuilder" + } + }, + "com.amazonaws.appstream#AppBlockBuilderPlatformType": { + "type": "enum", + "members": { + "WINDOWS_SERVER_2019": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "WINDOWS_SERVER_2019" + } + } + } + }, + "com.amazonaws.appstream#AppBlockBuilderState": { + "type": "enum", + "members": { + "STARTING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STARTING" + } + }, + "RUNNING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RUNNING" + } + }, + "STOPPING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STOPPING" + } + }, + "STOPPED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STOPPED" + } + } + } + }, + "com.amazonaws.appstream#AppBlockBuilderStateChangeReason": { + "type": "structure", + "members": { + "Code": { + "target": "com.amazonaws.appstream#AppBlockBuilderStateChangeReasonCode", + "traits": { + "smithy.api#documentation": "

The state change reason code.

" + } + }, + "Message": { + "target": "com.amazonaws.appstream#String", + "traits": { + "smithy.api#documentation": "

The state change reason message.

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

Describes the reason why the last app block builder state change occurred.

" + } + }, + "com.amazonaws.appstream#AppBlockBuilderStateChangeReasonCode": { + "type": "enum", + "members": { + "INTERNAL_ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INTERNAL_ERROR" + } + } + } + }, + "com.amazonaws.appstream#AppBlockState": { + "type": "enum", + "members": { + "INACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INACTIVE" + } + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + } + } + }, "com.amazonaws.appstream#AppBlocks": { "type": "list", "member": { @@ -453,13 +731,13 @@ "target": "com.amazonaws.appstream#Arn" } }, - "com.amazonaws.appstream#AssociateApplicationFleet": { + "com.amazonaws.appstream#AssociateAppBlockBuilderAppBlock": { "type": "operation", "input": { - "target": "com.amazonaws.appstream#AssociateApplicationFleetRequest" + "target": "com.amazonaws.appstream#AssociateAppBlockBuilderAppBlockRequest" }, "output": { - "target": "com.amazonaws.appstream#AssociateApplicationFleetResult" + "target": "com.amazonaws.appstream#AssociateAppBlockBuilderAppBlockResult" }, "errors": [ { @@ -479,23 +757,23 @@ } ], "traits": { - "smithy.api#documentation": "

Associates the specified application with the specified fleet. This is only supported for Elastic fleets.

" + "smithy.api#documentation": "

Associates the specified app block builder with the specified app block.

" } }, - "com.amazonaws.appstream#AssociateApplicationFleetRequest": { + "com.amazonaws.appstream#AssociateAppBlockBuilderAppBlockRequest": { "type": "structure", "members": { - "FleetName": { - "target": "com.amazonaws.appstream#Name", + "AppBlockArn": { + "target": "com.amazonaws.appstream#Arn", "traits": { - "smithy.api#documentation": "

The name of the fleet.

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

The ARN of the app block.

", "smithy.api#required": {} } }, - "ApplicationArn": { - "target": "com.amazonaws.appstream#Arn", + "AppBlockBuilderName": { + "target": "com.amazonaws.appstream#Name", "traits": { - "smithy.api#documentation": "

The ARN of the application.

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

The name of the app block builder.

", "smithy.api#required": {} } } @@ -504,21 +782,89 @@ "smithy.api#input": {} } }, - "com.amazonaws.appstream#AssociateApplicationFleetResult": { + "com.amazonaws.appstream#AssociateAppBlockBuilderAppBlockResult": { "type": "structure", "members": { - "ApplicationFleetAssociation": { - "target": "com.amazonaws.appstream#ApplicationFleetAssociation", + "AppBlockBuilderAppBlockAssociation": { + "target": "com.amazonaws.appstream#AppBlockBuilderAppBlockAssociation", "traits": { - "smithy.api#documentation": "

If fleet name is specified, this returns the list of applications that are associated\n to it. If application ARN is specified, this returns the list of fleets to which it is\n associated.

" + "smithy.api#documentation": "

The list of app block builders associated with app blocks.

" } } + }, + "traits": { + "smithy.api#output": {} } }, - "com.amazonaws.appstream#AssociateApplicationToEntitlement": { + "com.amazonaws.appstream#AssociateApplicationFleet": { "type": "operation", "input": { - "target": "com.amazonaws.appstream#AssociateApplicationToEntitlementRequest" + "target": "com.amazonaws.appstream#AssociateApplicationFleetRequest" + }, + "output": { + "target": "com.amazonaws.appstream#AssociateApplicationFleetResult" + }, + "errors": [ + { + "target": "com.amazonaws.appstream#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.appstream#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.appstream#LimitExceededException" + }, + { + "target": "com.amazonaws.appstream#OperationNotPermittedException" + }, + { + "target": "com.amazonaws.appstream#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Associates the specified application with the specified fleet. This is only supported for Elastic fleets.

" + } + }, + "com.amazonaws.appstream#AssociateApplicationFleetRequest": { + "type": "structure", + "members": { + "FleetName": { + "target": "com.amazonaws.appstream#Name", + "traits": { + "smithy.api#documentation": "

The name of the fleet.

", + "smithy.api#required": {} + } + }, + "ApplicationArn": { + "target": "com.amazonaws.appstream#Arn", + "traits": { + "smithy.api#documentation": "

The ARN of the application.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.appstream#AssociateApplicationFleetResult": { + "type": "structure", + "members": { + "ApplicationFleetAssociation": { + "target": "com.amazonaws.appstream#ApplicationFleetAssociation", + "traits": { + "smithy.api#documentation": "

If fleet name is specified, this returns the list of applications that are associated\n to it. If application ARN is specified, this returns the list of fleets to which it is\n associated.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.appstream#AssociateApplicationToEntitlement": { + "type": "operation", + "input": { + "target": "com.amazonaws.appstream#AssociateApplicationToEntitlementRequest" }, "output": { "target": "com.amazonaws.appstream#AssociateApplicationToEntitlementResult" @@ -572,7 +918,10 @@ }, "com.amazonaws.appstream#AssociateApplicationToEntitlementResult": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.appstream#AssociateFleet": { "type": "operation", @@ -630,7 +979,10 @@ }, "com.amazonaws.appstream#AssociateFleetResult": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.appstream#AuthenticationType": { "type": "enum", @@ -723,6 +1075,9 @@ "smithy.api#documentation": "

The list of UserStackAssociationError objects.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#BatchDisassociateUserStack": { @@ -769,6 +1124,9 @@ "smithy.api#documentation": "

The list of UserStackAssociationError objects.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#Boolean": { @@ -991,6 +1349,194 @@ "smithy.api#documentation": "

Creates an app block.

\n

App blocks are an Amazon AppStream 2.0 resource that stores the details about the\n virtual hard disk in an S3 bucket. It also stores the setup script with details about\n how to mount the virtual hard disk. The virtual hard disk includes the application\n binaries and other files necessary to launch your applications. Multiple applications\n can be assigned to a single app block.

\n

This is only supported for Elastic fleets.

" } }, + "com.amazonaws.appstream#CreateAppBlockBuilder": { + "type": "operation", + "input": { + "target": "com.amazonaws.appstream#CreateAppBlockBuilderRequest" + }, + "output": { + "target": "com.amazonaws.appstream#CreateAppBlockBuilderResult" + }, + "errors": [ + { + "target": "com.amazonaws.appstream#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.appstream#InvalidAccountStatusException" + }, + { + "target": "com.amazonaws.appstream#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.appstream#InvalidRoleException" + }, + { + "target": "com.amazonaws.appstream#LimitExceededException" + }, + { + "target": "com.amazonaws.appstream#OperationNotPermittedException" + }, + { + "target": "com.amazonaws.appstream#RequestLimitExceededException" + }, + { + "target": "com.amazonaws.appstream#ResourceAlreadyExistsException" + }, + { + "target": "com.amazonaws.appstream#ResourceNotAvailableException" + }, + { + "target": "com.amazonaws.appstream#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates an app block builder.

" + } + }, + "com.amazonaws.appstream#CreateAppBlockBuilderRequest": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.appstream#Name", + "traits": { + "smithy.api#documentation": "

The unique name for the app block builder.

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

The description of the app block builder.

" + } + }, + "DisplayName": { + "target": "com.amazonaws.appstream#DisplayName", + "traits": { + "smithy.api#documentation": "

The display name of the app block builder.

" + } + }, + "Tags": { + "target": "com.amazonaws.appstream#Tags", + "traits": { + "smithy.api#documentation": "

The tags to associate with the app block builder. A tag is a key-value pair, and the\n value is optional. For example, Environment=Test. If you do not specify a value,\n Environment=.

\n

If you do not specify a value, the value is set to an empty string.

\n

Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:

\n

_ . : / = + \\ - @

\n

For more information, see Tagging Your Resources in the Amazon AppStream 2.0 Administration Guide.

" + } + }, + "Platform": { + "target": "com.amazonaws.appstream#AppBlockBuilderPlatformType", + "traits": { + "smithy.api#documentation": "

The platform of the app block builder.

\n

\n WINDOWS_SERVER_2019 is the only valid value.

", + "smithy.api#required": {} + } + }, + "InstanceType": { + "target": "com.amazonaws.appstream#String", + "traits": { + "smithy.api#documentation": "

The instance type to use when launching the app block builder. The following instance\n types are available:

\n
    \n
  • \n

    stream.standard.small

    \n
  • \n
  • \n

    stream.standard.medium

    \n
  • \n
  • \n

    stream.standard.large

    \n
  • \n
  • \n

    stream.standard.xlarge

    \n
  • \n
  • \n

    stream.standard.2xlarge

    \n
  • \n
", + "smithy.api#required": {} + } + }, + "VpcConfig": { + "target": "com.amazonaws.appstream#VpcConfig", + "traits": { + "smithy.api#documentation": "

The VPC configuration for the app block builder.

\n

App block builders require that you specify at least two subnets in different availability\n zones.

", + "smithy.api#required": {} + } + }, + "EnableDefaultInternetAccess": { + "target": "com.amazonaws.appstream#BooleanObject", + "traits": { + "smithy.api#documentation": "

Enables or disables default internet access for the app block builder.

" + } + }, + "IamRoleArn": { + "target": "com.amazonaws.appstream#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role to apply to the app block builder. To\n assume a role, the app block builder calls the AWS Security Token Service (STS)\n AssumeRole API operation and passes the ARN of the role to use. The\n operation creates a new session with temporary credentials. AppStream 2.0 retrieves the\n temporary credentials and creates the appstream_machine_role credential profile on the instance.

\n

For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.

" + } + }, + "AccessEndpoints": { + "target": "com.amazonaws.appstream#AccessEndpointList", + "traits": { + "smithy.api#documentation": "

The list of interface VPC endpoint (interface endpoint) objects. Administrators can connect to the app block builder only through the specified endpoints.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.appstream#CreateAppBlockBuilderResult": { + "type": "structure", + "members": { + "AppBlockBuilder": { + "target": "com.amazonaws.appstream#AppBlockBuilder" + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.appstream#CreateAppBlockBuilderStreamingURL": { + "type": "operation", + "input": { + "target": "com.amazonaws.appstream#CreateAppBlockBuilderStreamingURLRequest" + }, + "output": { + "target": "com.amazonaws.appstream#CreateAppBlockBuilderStreamingURLResult" + }, + "errors": [ + { + "target": "com.amazonaws.appstream#OperationNotPermittedException" + }, + { + "target": "com.amazonaws.appstream#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates a URL to start a create app block builder streaming session.

" + } + }, + "com.amazonaws.appstream#CreateAppBlockBuilderStreamingURLRequest": { + "type": "structure", + "members": { + "AppBlockBuilderName": { + "target": "com.amazonaws.appstream#Name", + "traits": { + "smithy.api#documentation": "

The name of the app block builder.

", + "smithy.api#required": {} + } + }, + "Validity": { + "target": "com.amazonaws.appstream#Long", + "traits": { + "smithy.api#documentation": "

The time that the streaming URL will be valid, in seconds. \n Specify a value between 1 and 604800 seconds. The default is 3600 seconds.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.appstream#CreateAppBlockBuilderStreamingURLResult": { + "type": "structure", + "members": { + "StreamingURL": { + "target": "com.amazonaws.appstream#String", + "traits": { + "smithy.api#documentation": "

The URL to start the streaming session.

" + } + }, + "Expires": { + "target": "com.amazonaws.appstream#Timestamp", + "traits": { + "smithy.api#documentation": "

The elapsed time, in seconds after the Unix epoch, when this URL expires.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.appstream#CreateAppBlockRequest": { "type": "structure", "members": { @@ -1023,8 +1569,7 @@ "SetupScriptDetails": { "target": "com.amazonaws.appstream#ScriptDetails", "traits": { - "smithy.api#documentation": "

The setup script details of the app block.

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

The setup script details of the app block. This must be provided for the\n CUSTOM PackagingType.

" } }, "Tags": { @@ -1032,6 +1577,18 @@ "traits": { "smithy.api#documentation": "

The tags assigned to the app block.

" } + }, + "PostSetupScriptDetails": { + "target": "com.amazonaws.appstream#ScriptDetails", + "traits": { + "smithy.api#documentation": "

The post setup script details of the app block. This can only be provided for the\n APPSTREAM2 PackagingType.

" + } + }, + "PackagingType": { + "target": "com.amazonaws.appstream#PackagingType", + "traits": { + "smithy.api#documentation": "

The packaging type of the app block.

" + } } }, "traits": { @@ -1047,6 +1604,9 @@ "smithy.api#documentation": "

The app block.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#CreateApplication": { @@ -1164,6 +1724,9 @@ "Application": { "target": "com.amazonaws.appstream#Application" } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#CreateDirectoryConfig": { @@ -1241,6 +1804,9 @@ "smithy.api#documentation": "

Information about the directory configuration.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#CreateEntitlement": { @@ -1320,6 +1886,9 @@ "smithy.api#documentation": "

The entitlement.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#CreateFleet": { @@ -1380,7 +1949,7 @@ } }, "ImageName": { - "target": "com.amazonaws.appstream#String", + "target": "com.amazonaws.appstream#Name", "traits": { "smithy.api#documentation": "

The name of the image used to create the fleet.

" } @@ -1514,6 +2083,9 @@ "smithy.api#documentation": "

Information about the fleet.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#CreateImageBuilder": { @@ -1660,6 +2232,9 @@ "smithy.api#documentation": "

Information about the image builder.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#CreateImageBuilderStreamingURL": { @@ -1718,6 +2293,9 @@ "smithy.api#documentation": "

The elapsed time, in seconds after the Unix epoch, when this URL expires.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#CreateStack": { @@ -1845,6 +2423,9 @@ "smithy.api#documentation": "

Information about the stack.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#CreateStreamingURL": { @@ -1935,6 +2516,9 @@ "smithy.api#documentation": "

The elapsed time, in seconds after the Unix epoch, when this URL expires.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#CreateUpdatedImage": { @@ -2032,6 +2616,9 @@ "smithy.api#documentation": "

Indicates whether a new image can be created.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#CreateUsageReportSubscription": { @@ -2079,6 +2666,9 @@ "smithy.api#documentation": "

The schedule for generating usage reports.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#CreateUser": { @@ -2152,7 +2742,10 @@ }, "com.amazonaws.appstream#CreateUserResult": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.appstream#DeleteAppBlock": { "type": "operation", @@ -2177,6 +2770,54 @@ "smithy.api#documentation": "

Deletes an app block.

" } }, + "com.amazonaws.appstream#DeleteAppBlockBuilder": { + "type": "operation", + "input": { + "target": "com.amazonaws.appstream#DeleteAppBlockBuilderRequest" + }, + "output": { + "target": "com.amazonaws.appstream#DeleteAppBlockBuilderResult" + }, + "errors": [ + { + "target": "com.amazonaws.appstream#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.appstream#OperationNotPermittedException" + }, + { + "target": "com.amazonaws.appstream#ResourceInUseException" + }, + { + "target": "com.amazonaws.appstream#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes an app block builder.

\n

An app block builder can only be deleted when it has no association with an app\n block.

" + } + }, + "com.amazonaws.appstream#DeleteAppBlockBuilderRequest": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.appstream#Name", + "traits": { + "smithy.api#documentation": "

The name of the app block builder.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.appstream#DeleteAppBlockBuilderResult": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.appstream#DeleteAppBlockRequest": { "type": "structure", "members": { @@ -2194,7 +2835,10 @@ }, "com.amazonaws.appstream#DeleteAppBlockResult": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.appstream#DeleteApplication": { "type": "operation", @@ -2239,7 +2883,10 @@ }, "com.amazonaws.appstream#DeleteApplicationResult": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.appstream#DeleteDirectoryConfig": { "type": "operation", @@ -2278,7 +2925,10 @@ }, "com.amazonaws.appstream#DeleteDirectoryConfigResult": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.appstream#DeleteEntitlement": { "type": "operation", @@ -2330,7 +2980,10 @@ }, "com.amazonaws.appstream#DeleteEntitlementResult": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.appstream#DeleteFleet": { "type": "operation", @@ -2372,7 +3025,10 @@ }, "com.amazonaws.appstream#DeleteFleetResult": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.appstream#DeleteImage": { "type": "operation", @@ -2447,6 +3103,9 @@ "smithy.api#documentation": "

Information about the image builder.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#DeleteImagePermissions": { @@ -2493,7 +3152,10 @@ }, "com.amazonaws.appstream#DeleteImagePermissionsResult": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.appstream#DeleteImageRequest": { "type": "structure", @@ -2519,6 +3181,9 @@ "smithy.api#documentation": "

Information about the image.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#DeleteStack": { @@ -2564,7 +3229,10 @@ }, "com.amazonaws.appstream#DeleteStackResult": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.appstream#DeleteUsageReportSubscription": { "type": "operation", @@ -2595,7 +3263,10 @@ }, "com.amazonaws.appstream#DeleteUsageReportSubscriptionResult": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.appstream#DeleteUser": { "type": "operation", @@ -2638,7 +3309,158 @@ }, "com.amazonaws.appstream#DeleteUserResult": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.appstream#DescribeAppBlockBuilderAppBlockAssociations": { + "type": "operation", + "input": { + "target": "com.amazonaws.appstream#DescribeAppBlockBuilderAppBlockAssociationsRequest" + }, + "output": { + "target": "com.amazonaws.appstream#DescribeAppBlockBuilderAppBlockAssociationsResult" + }, + "errors": [ + { + "target": "com.amazonaws.appstream#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.appstream#OperationNotPermittedException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves a list that describes one or more app block builder associations.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.appstream#DescribeAppBlockBuilderAppBlockAssociationsRequest": { + "type": "structure", + "members": { + "AppBlockArn": { + "target": "com.amazonaws.appstream#Arn", + "traits": { + "smithy.api#documentation": "

The ARN of the app block.

" + } + }, + "AppBlockBuilderName": { + "target": "com.amazonaws.appstream#Name", + "traits": { + "smithy.api#documentation": "

The name of the app block builder.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.appstream#Integer", + "traits": { + "smithy.api#documentation": "

The maximum size of each page of results.

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

The pagination token used to retrieve the next page of results for this\n operation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.appstream#DescribeAppBlockBuilderAppBlockAssociationsResult": { + "type": "structure", + "members": { + "AppBlockBuilderAppBlockAssociations": { + "target": "com.amazonaws.appstream#AppBlockBuilderAppBlockAssociationsList", + "traits": { + "smithy.api#documentation": "

This list of app block builders associated with app blocks.

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

The pagination token used to retrieve the next page of results for this\n operation.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.appstream#DescribeAppBlockBuilders": { + "type": "operation", + "input": { + "target": "com.amazonaws.appstream#DescribeAppBlockBuildersRequest" + }, + "output": { + "target": "com.amazonaws.appstream#DescribeAppBlockBuildersResult" + }, + "errors": [ + { + "target": "com.amazonaws.appstream#OperationNotPermittedException" + }, + { + "target": "com.amazonaws.appstream#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves a list that describes one or more app block builders.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.appstream#DescribeAppBlockBuildersRequest": { + "type": "structure", + "members": { + "Names": { + "target": "com.amazonaws.appstream#StringList", + "traits": { + "smithy.api#documentation": "

The names of the app block builders.

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

The pagination token used to retrieve the next page of results for this\n operation.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.appstream#Integer", + "traits": { + "smithy.api#documentation": "

The maximum size of each page of results. The maximum value is 25.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.appstream#DescribeAppBlockBuildersResult": { + "type": "structure", + "members": { + "AppBlockBuilders": { + "target": "com.amazonaws.appstream#AppBlockBuilderList", + "traits": { + "smithy.api#documentation": "

The list that describes one or more app block builders.

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

The pagination token used to retrieve the next page of results for this\n operation.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.appstream#DescribeAppBlocks": { "type": "operation", @@ -2701,6 +3523,9 @@ "smithy.api#documentation": "

The pagination token used to retrieve the next page of results for this\n operation.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#DescribeApplicationFleetAssociations": { @@ -2770,6 +3595,9 @@ "smithy.api#documentation": "

The pagination token used to retrieve the next page of results for this\n operation.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#DescribeApplications": { @@ -2833,6 +3661,9 @@ "smithy.api#documentation": "

The pagination token used to retrieve the next page of results for this\n operation.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#DescribeDirectoryConfigs": { @@ -2893,6 +3724,9 @@ "smithy.api#documentation": "

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#DescribeEntitlements": { @@ -2966,6 +3800,9 @@ "smithy.api#documentation": "

The pagination token used to retrieve the next page of results for this\n operation.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#DescribeFleets": { @@ -3092,8 +3929,11 @@ "smithy.api#documentation": "

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" } } - } - }, + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.appstream#DescribeImageBuilders": { "type": "operation", "input": { @@ -3152,6 +3992,9 @@ "smithy.api#documentation": "

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#DescribeImagePermissions": { @@ -3230,6 +4073,9 @@ "smithy.api#documentation": "

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#DescribeImages": { @@ -3319,6 +4165,9 @@ "smithy.api#documentation": "

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#DescribeSessions": { @@ -3399,6 +4248,9 @@ "smithy.api#documentation": "

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#DescribeStacks": { @@ -3453,6 +4305,9 @@ "smithy.api#documentation": "

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#DescribeUsageReportSubscriptions": { @@ -3510,6 +4365,9 @@ "smithy.api#documentation": "

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#DescribeUserStackAssociations": { @@ -3585,6 +4443,9 @@ "smithy.api#documentation": "

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#DescribeUsers": { @@ -3652,6 +4513,9 @@ "smithy.api#documentation": "

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#Description": { @@ -3758,7 +4622,65 @@ }, "com.amazonaws.appstream#DisableUserResult": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.appstream#DisassociateAppBlockBuilderAppBlock": { + "type": "operation", + "input": { + "target": "com.amazonaws.appstream#DisassociateAppBlockBuilderAppBlockRequest" + }, + "output": { + "target": "com.amazonaws.appstream#DisassociateAppBlockBuilderAppBlockResult" + }, + "errors": [ + { + "target": "com.amazonaws.appstream#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.appstream#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.appstream#OperationNotPermittedException" + }, + { + "target": "com.amazonaws.appstream#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Disassociates a specified app block builder from a specified app block.

" + } + }, + "com.amazonaws.appstream#DisassociateAppBlockBuilderAppBlockRequest": { + "type": "structure", + "members": { + "AppBlockArn": { + "target": "com.amazonaws.appstream#Arn", + "traits": { + "smithy.api#documentation": "

The ARN of the app block.

", + "smithy.api#required": {} + } + }, + "AppBlockBuilderName": { + "target": "com.amazonaws.appstream#Name", + "traits": { + "smithy.api#documentation": "

The name of the app block builder.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.appstream#DisassociateAppBlockBuilderAppBlockResult": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.appstream#DisassociateApplicationFleet": { "type": "operation", @@ -3807,7 +4729,10 @@ }, "com.amazonaws.appstream#DisassociateApplicationFleetResult": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.appstream#DisassociateApplicationFromEntitlement": { "type": "operation", @@ -3863,7 +4788,10 @@ }, "com.amazonaws.appstream#DisassociateApplicationFromEntitlementResult": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.appstream#DisassociateFleet": { "type": "operation", @@ -3915,7 +4843,10 @@ }, "com.amazonaws.appstream#DisassociateFleetResult": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.appstream#DisplayName": { "type": "string", @@ -4035,7 +4966,10 @@ }, "com.amazonaws.appstream#EnableUserResult": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.appstream#EntitledApplication": { "type": "structure", @@ -4177,6 +5111,32 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.appstream#ErrorDetails": { + "type": "structure", + "members": { + "ErrorCode": { + "target": "com.amazonaws.appstream#String", + "traits": { + "smithy.api#documentation": "

The error code.

" + } + }, + "ErrorMessage": { + "target": "com.amazonaws.appstream#String", + "traits": { + "smithy.api#documentation": "

The error message.

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

The error details.

" + } + }, + "com.amazonaws.appstream#ErrorDetailsList": { + "type": "list", + "member": { + "target": "com.amazonaws.appstream#ErrorDetails" + } + }, "com.amazonaws.appstream#ErrorMessage": { "type": "string", "traits": { @@ -4212,7 +5172,10 @@ }, "com.amazonaws.appstream#ExpireSessionResult": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.appstream#FeedbackURL": { "type": "string", @@ -5303,6 +6266,9 @@ "smithy.api#documentation": "

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#ListAssociatedStacks": { @@ -5353,6 +6319,9 @@ "smithy.api#documentation": "

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#ListEntitledApplications": { @@ -5427,6 +6396,9 @@ "smithy.api#documentation": "

The pagination token used to retrieve the next page of results for this operation.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#ListTagsForResource": { @@ -5567,6 +6539,23 @@ "target": "com.amazonaws.appstream#OrganizationalUnitDistinguishedName" } }, + "com.amazonaws.appstream#PackagingType": { + "type": "enum", + "members": { + "CUSTOM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CUSTOM" + } + }, + "APPSTREAM2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "APPSTREAM2" + } + } + } + }, "com.amazonaws.appstream#Permission": { "type": "enum", "members": { @@ -5588,6 +6577,9 @@ "type": "service", "version": "2016-12-01", "operations": [ + { + "target": "com.amazonaws.appstream#AssociateAppBlockBuilderAppBlock" + }, { "target": "com.amazonaws.appstream#AssociateApplicationFleet" }, @@ -5609,6 +6601,12 @@ { "target": "com.amazonaws.appstream#CreateAppBlock" }, + { + "target": "com.amazonaws.appstream#CreateAppBlockBuilder" + }, + { + "target": "com.amazonaws.appstream#CreateAppBlockBuilderStreamingURL" + }, { "target": "com.amazonaws.appstream#CreateApplication" }, @@ -5645,6 +6643,9 @@ { "target": "com.amazonaws.appstream#DeleteAppBlock" }, + { + "target": "com.amazonaws.appstream#DeleteAppBlockBuilder" + }, { "target": "com.amazonaws.appstream#DeleteApplication" }, @@ -5675,6 +6676,12 @@ { "target": "com.amazonaws.appstream#DeleteUser" }, + { + "target": "com.amazonaws.appstream#DescribeAppBlockBuilderAppBlockAssociations" + }, + { + "target": "com.amazonaws.appstream#DescribeAppBlockBuilders" + }, { "target": "com.amazonaws.appstream#DescribeAppBlocks" }, @@ -5720,6 +6727,9 @@ { "target": "com.amazonaws.appstream#DisableUser" }, + { + "target": "com.amazonaws.appstream#DisassociateAppBlockBuilderAppBlock" + }, { "target": "com.amazonaws.appstream#DisassociateApplicationFleet" }, @@ -5747,12 +6757,18 @@ { "target": "com.amazonaws.appstream#ListTagsForResource" }, + { + "target": "com.amazonaws.appstream#StartAppBlockBuilder" + }, { "target": "com.amazonaws.appstream#StartFleet" }, { "target": "com.amazonaws.appstream#StartImageBuilder" }, + { + "target": "com.amazonaws.appstream#StopAppBlockBuilder" + }, { "target": "com.amazonaws.appstream#StopFleet" }, @@ -5765,6 +6781,9 @@ { "target": "com.amazonaws.appstream#UntagResource" }, + { + "target": "com.amazonaws.appstream#UpdateAppBlockBuilder" + }, { "target": "com.amazonaws.appstream#UpdateApplication" }, @@ -5803,7 +6822,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -5832,13 +6851,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -5846,14 +6864,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -5862,67 +6886,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -5931,174 +6930,288 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] }, - "supportsFIPS" + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://appstream2-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsDualStack" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://appstream2-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://appstream2-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsFIPS" + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://appstream2.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], "endpoint": { - "url": "https://appstream2-fips.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://appstream2.{Region}.amazonaws.com", "properties": {}, "headers": {} }, "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, + }, { - "fn": "getAttr", - "argv": [ + "conditions": [ { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "fn": "stringEquals", + "argv": [ + "aws-us-gov", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://appstream2.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://appstream2.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://appstream2.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "endpoint": { - "url": "https://appstream2.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } @@ -6107,900 +7220,463 @@ "smithy.rules#endpointTests": { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appstream2-fips.ap-south-1.api.aws" + "url": "https://appstream2.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-south-1" + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://appstream2.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appstream2-fips.ap-south-1.amazonaws.com" + "url": "https://appstream2.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-south-1" + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appstream2.ap-south-1.api.aws" + "url": "https://appstream2.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "ap-southeast-1", "UseFIPS": false, - "Region": "ap-south-1" + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appstream2.ap-south-1.amazonaws.com" + "url": "https://appstream2.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-southeast-2", "UseFIPS": false, - "Region": "ap-south-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appstream2-fips.us-gov-east-1.api.aws" + "url": "https://appstream2.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-gov-east-1" + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appstream2-fips.us-gov-east-1.amazonaws.com" + "url": "https://appstream2.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-gov-east-1" + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appstream2.us-gov-east-1.api.aws" + "url": "https://appstream2.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "eu-west-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appstream2.us-gov-east-1.amazonaws.com" + "url": "https://appstream2.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-west-2", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appstream2-fips.ca-central-1.api.aws" + "url": "https://appstream2.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ca-central-1" + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appstream2-fips.ca-central-1.amazonaws.com" + "url": "https://appstream2-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": true, - "Region": "ca-central-1" + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appstream2.ca-central-1.api.aws" + "url": "https://appstream2.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "us-east-2", "UseFIPS": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appstream2.ca-central-1.amazonaws.com" + "url": "https://appstream2.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-west-2", "UseFIPS": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appstream2-fips.eu-central-1.api.aws" + "url": "https://appstream2-fips.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "us-west-2", "UseFIPS": true, - "Region": "eu-central-1" + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appstream2-fips.eu-central-1.amazonaws.com" + "url": "https://appstream2-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": true, - "Region": "eu-central-1" + "UseDualStack": true } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appstream2.eu-central-1.api.aws" + "url": "https://appstream2.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": false, - "Region": "eu-central-1" + "UseDualStack": true } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appstream2.eu-central-1.amazonaws.com" + "url": "https://appstream2-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-central-1" + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appstream2-fips.us-west-1.api.aws" + "url": "https://appstream2-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "us-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appstream2-fips.us-west-1.amazonaws.com" + "url": "https://appstream2.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-west-1" + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appstream2.us-west-1.api.aws" + "url": "https://appstream2.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "us-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appstream2.us-west-1.amazonaws.com" + "url": "https://appstream2.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-west-1", "UseFIPS": false, - "Region": "us-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appstream2-fips.us-west-2.api.aws" + "url": "https://appstream2-fips.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "us-gov-west-1", "UseFIPS": true, - "Region": "us-west-2" + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appstream2-fips.us-west-2.amazonaws.com" + "url": "https://appstream2-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-west-2" + "UseDualStack": true } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appstream2.us-west-2.api.aws" + "url": "https://appstream2-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-west-2" + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appstream2.us-west-2.amazonaws.com" + "url": "https://appstream2.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-west-2" + "UseDualStack": true } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appstream2-fips.eu-west-2.api.aws" + "url": "https://appstream2.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "eu-west-2" + "UseDualStack": true } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appstream2-fips.eu-west-2.amazonaws.com" + "url": "https://appstream2-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "eu-west-2" + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://appstream2.eu-west-2.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "eu-west-2" + "UseDualStack": true } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appstream2.eu-west-2.amazonaws.com" + "url": "https://appstream2.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://appstream2-fips.eu-west-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "eu-west-1" + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appstream2-fips.eu-west-1.amazonaws.com" + "url": "https://appstream2-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "eu-west-1" + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://appstream2.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appstream2.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appstream2-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-northeast-2" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appstream2-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-northeast-2" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appstream2.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-northeast-2" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appstream2.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-northeast-2" - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appstream2-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-northeast-1" - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appstream2-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-northeast-1" - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appstream2.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-northeast-1" - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appstream2.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-northeast-1" - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appstream2-fips.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "sa-east-1" - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appstream2-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "sa-east-1" - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appstream2.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "sa-east-1" - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appstream2.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "sa-east-1" - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appstream2-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-gov-west-1" - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appstream2-fips.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-gov-west-1" - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appstream2.us-gov-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-gov-west-1" - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appstream2.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-gov-west-1" - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appstream2-fips.ap-southeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-southeast-1" - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appstream2-fips.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-southeast-1" - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appstream2.ap-southeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-southeast-1" - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appstream2.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-southeast-1" - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appstream2-fips.ap-southeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-southeast-2" - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appstream2-fips.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-southeast-2" - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appstream2.ap-southeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-southeast-2" - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appstream2.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-southeast-2" - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appstream2-fips.us-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-east-1" - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appstream2-fips.us-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-east-1" - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appstream2.us-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-east-1" - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appstream2.us-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-east-1" - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appstream2-fips.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-east-2" - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appstream2-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-east-2" - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appstream2.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-east-2" - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appstream2.us-east-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-east-2" - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appstream2-fips.cn-northwest-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "cn-northwest-1" - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appstream2-fips.cn-northwest-1.amazonaws.com.cn" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "cn-northwest-1" + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appstream2.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://appstream2.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "cn-northwest-1" + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://appstream2.cn-northwest-1.amazonaws.com.cn" + "url": "https://example.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "cn-northwest-1" + "UseDualStack": false, + "Endpoint": "https://example.com" } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseDualStack": false, "UseFIPS": false, - "Region": "us-east-1", + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -7010,9 +7686,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -7022,11 +7698,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" @@ -7248,8 +7930,7 @@ "S3Key": { "target": "com.amazonaws.appstream#S3Key", "traits": { - "smithy.api#documentation": "

The S3 key of the S3 object.

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

The S3 key of the S3 object.

\n

This is required when used for the following:

\n
    \n
  • \n

    IconS3Location (Actions: CreateApplication and UpdateApplication)

    \n
  • \n
  • \n

    SessionScriptS3Location (Actions: CreateFleet and UpdateFleet)

    \n
  • \n
  • \n

    ScriptDetails (Actions: CreateAppBlock)

    \n
  • \n
  • \n

    SourceS3Location when creating an app block with CUSTOM PackagingType (Actions:\n CreateAppBlock)

    \n
  • \n
  • \n

    SourceS3Location when creating an app block with APPSTREAM2 PackagingType, and\n using an existing application package (VHD file). In this case,\n S3Key refers to the VHD file. If a new application package is\n required, then S3Key is not required. (Actions:\n CreateAppBlock)

    \n
  • \n
" } } }, @@ -7720,6 +8401,67 @@ "smithy.api#documentation": "

The stacks.

" } }, + "com.amazonaws.appstream#StartAppBlockBuilder": { + "type": "operation", + "input": { + "target": "com.amazonaws.appstream#StartAppBlockBuilderRequest" + }, + "output": { + "target": "com.amazonaws.appstream#StartAppBlockBuilderResult" + }, + "errors": [ + { + "target": "com.amazonaws.appstream#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.appstream#InvalidAccountStatusException" + }, + { + "target": "com.amazonaws.appstream#LimitExceededException" + }, + { + "target": "com.amazonaws.appstream#OperationNotPermittedException" + }, + { + "target": "com.amazonaws.appstream#RequestLimitExceededException" + }, + { + "target": "com.amazonaws.appstream#ResourceNotAvailableException" + }, + { + "target": "com.amazonaws.appstream#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Starts an app block builder.

\n

An app block builder can only be started when it's associated with an app\n block.

\n

Starting an app block builder starts a new instance, which is equivalent to an elastic\n fleet instance with application builder assistance functionality.

" + } + }, + "com.amazonaws.appstream#StartAppBlockBuilderRequest": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.appstream#Name", + "traits": { + "smithy.api#documentation": "

The name of the app block builder.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.appstream#StartAppBlockBuilderResult": { + "type": "structure", + "members": { + "AppBlockBuilder": { + "target": "com.amazonaws.appstream#AppBlockBuilder" + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.appstream#StartFleet": { "type": "operation", "input": { @@ -7775,7 +8517,10 @@ }, "com.amazonaws.appstream#StartFleetResult": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.appstream#StartImageBuilder": { "type": "operation", @@ -7836,6 +8581,58 @@ "smithy.api#documentation": "

Information about the image builder.

" } } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.appstream#StopAppBlockBuilder": { + "type": "operation", + "input": { + "target": "com.amazonaws.appstream#StopAppBlockBuilderRequest" + }, + "output": { + "target": "com.amazonaws.appstream#StopAppBlockBuilderResult" + }, + "errors": [ + { + "target": "com.amazonaws.appstream#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.appstream#OperationNotPermittedException" + }, + { + "target": "com.amazonaws.appstream#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Stops an app block builder.

\n

Stopping an app block builder terminates the instance, and the instance state is not\n persisted.

" + } + }, + "com.amazonaws.appstream#StopAppBlockBuilderRequest": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.appstream#Name", + "traits": { + "smithy.api#documentation": "

The name of the app block builder.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.appstream#StopAppBlockBuilderResult": { + "type": "structure", + "members": { + "AppBlockBuilder": { + "target": "com.amazonaws.appstream#AppBlockBuilder" + } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#StopFleet": { @@ -7875,7 +8672,10 @@ }, "com.amazonaws.appstream#StopFleetResult": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.appstream#StopImageBuilder": { "type": "operation", @@ -7924,6 +8724,9 @@ "smithy.api#documentation": "

Information about the image builder.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#StorageConnector": { @@ -8200,6 +9003,130 @@ "smithy.api#output": {} } }, + "com.amazonaws.appstream#UpdateAppBlockBuilder": { + "type": "operation", + "input": { + "target": "com.amazonaws.appstream#UpdateAppBlockBuilderRequest" + }, + "output": { + "target": "com.amazonaws.appstream#UpdateAppBlockBuilderResult" + }, + "errors": [ + { + "target": "com.amazonaws.appstream#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.appstream#InvalidAccountStatusException" + }, + { + "target": "com.amazonaws.appstream#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.appstream#InvalidRoleException" + }, + { + "target": "com.amazonaws.appstream#LimitExceededException" + }, + { + "target": "com.amazonaws.appstream#OperationNotPermittedException" + }, + { + "target": "com.amazonaws.appstream#RequestLimitExceededException" + }, + { + "target": "com.amazonaws.appstream#ResourceInUseException" + }, + { + "target": "com.amazonaws.appstream#ResourceNotAvailableException" + }, + { + "target": "com.amazonaws.appstream#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates an app block builder.

\n

If the app block builder is in the STARTING or STOPPING\n state, you can't update it. If the app block builder is in the RUNNING\n state, you can only update the DisplayName and Description. If the app block builder is\n in the STOPPED state, you can update any attribute except the Name.

" + } + }, + "com.amazonaws.appstream#UpdateAppBlockBuilderRequest": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.appstream#Name", + "traits": { + "smithy.api#documentation": "

The unique name for the app block builder.

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

The description of the app block builder.

" + } + }, + "DisplayName": { + "target": "com.amazonaws.appstream#DisplayName", + "traits": { + "smithy.api#documentation": "

The display name of the app block builder.

" + } + }, + "Platform": { + "target": "com.amazonaws.appstream#PlatformType", + "traits": { + "smithy.api#documentation": "

The platform of the app block builder.

\n

\n WINDOWS_SERVER_2019 is the only valid value.

" + } + }, + "InstanceType": { + "target": "com.amazonaws.appstream#String", + "traits": { + "smithy.api#documentation": "

The instance type to use when launching the app block builder. The following instance\n types are available:

\n
    \n
  • \n

    stream.standard.small

    \n
  • \n
  • \n

    stream.standard.medium

    \n
  • \n
  • \n

    stream.standard.large

    \n
  • \n
  • \n

    stream.standard.xlarge

    \n
  • \n
  • \n

    stream.standard.2xlarge

    \n
  • \n
" + } + }, + "VpcConfig": { + "target": "com.amazonaws.appstream#VpcConfig", + "traits": { + "smithy.api#documentation": "

The VPC configuration for the app block builder.

\n

App block builders require that you specify at least two subnets in different availability\n zones.

" + } + }, + "EnableDefaultInternetAccess": { + "target": "com.amazonaws.appstream#BooleanObject", + "traits": { + "smithy.api#documentation": "

Enables or disables default internet access for the app block builder.

" + } + }, + "IamRoleArn": { + "target": "com.amazonaws.appstream#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role to apply to the app block builder. To\n assume a role, the app block builder calls the AWS Security Token Service (STS)\n AssumeRole API operation and passes the ARN of the role to use. The\n operation creates a new session with temporary credentials. AppStream 2.0 retrieves the\n temporary credentials and creates the appstream_machine_role credential profile on the instance.

\n

For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.

" + } + }, + "AccessEndpoints": { + "target": "com.amazonaws.appstream#AccessEndpointList", + "traits": { + "smithy.api#documentation": "

The list of interface VPC endpoint (interface endpoint) objects. Administrators can connect to the app block builder only through the specified endpoints.

" + } + }, + "AttributesToDelete": { + "target": "com.amazonaws.appstream#AppBlockBuilderAttributes", + "traits": { + "smithy.api#documentation": "

The attributes to delete from the app block builder.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.appstream#UpdateAppBlockBuilderResult": { + "type": "structure", + "members": { + "AppBlockBuilder": { + "target": "com.amazonaws.appstream#AppBlockBuilder" + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.appstream#UpdateApplication": { "type": "operation", "input": { @@ -8292,6 +9219,9 @@ "Application": { "target": "com.amazonaws.appstream#Application" } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#UpdateDirectoryConfig": { @@ -8365,6 +9295,9 @@ "smithy.api#documentation": "

Information about the Directory Config object.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#UpdateEntitlement": { @@ -8442,6 +9375,9 @@ "smithy.api#documentation": "

The entitlement.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#UpdateFleet": { @@ -8533,7 +9469,7 @@ "MaxUserDurationInSeconds": { "target": "com.amazonaws.appstream#Integer", "traits": { - "smithy.api#documentation": "

The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.

\n

Specify a value between 600 and 360000.

" + "smithy.api#documentation": "

The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.

\n

Specify a value between 600 and 432000.

" } }, "DisconnectTimeoutInSeconds": { @@ -8636,6 +9572,9 @@ "smithy.api#documentation": "

Information about the fleet.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#UpdateImagePermissions": { @@ -8692,7 +9631,10 @@ }, "com.amazonaws.appstream#UpdateImagePermissionsResult": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.appstream#UpdateStack": { "type": "operation", @@ -8833,6 +9775,9 @@ "smithy.api#documentation": "

Information about the stack.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.appstream#UsageReportExecutionErrorCode": {