Skip to content

Commit 039e7be

Browse files
author
awstools
committed
feat(client-workspaces): Added the new AlwaysOn running mode for WorkSpaces Pools. Customers can now choose between AlwaysOn (for instant access, with hourly usage billing regardless of connection status), or AutoStop (to optimize cost, with a brief startup delay) for their pools.
1 parent 8f51899 commit 039e7be

File tree

9 files changed

+113
-15
lines changed

9 files changed

+113
-15
lines changed

clients/client-workspaces/src/commands/CreateWorkspacesPoolCommand.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ export interface CreateWorkspacesPoolCommandOutput extends CreateWorkspacesPoolR
5858
* IdleDisconnectTimeoutInSeconds: Number("int"),
5959
* MaxUserDurationInSeconds: Number("int"),
6060
* },
61+
* RunningMode: "AUTO_STOP" || "ALWAYS_ON",
6162
* };
6263
* const command = new CreateWorkspacesPoolCommand(input);
6364
* const response = await client.send(command);
@@ -93,6 +94,7 @@ export interface CreateWorkspacesPoolCommandOutput extends CreateWorkspacesPoolR
9394
* // IdleDisconnectTimeoutInSeconds: Number("int"),
9495
* // MaxUserDurationInSeconds: Number("int"),
9596
* // },
97+
* // RunningMode: "AUTO_STOP" || "ALWAYS_ON", // required
9698
* // },
9799
* // };
98100
*

clients/client-workspaces/src/commands/DescribeWorkspaceImagesCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ export interface DescribeWorkspaceImagesCommandOutput extends DescribeWorkspaceI
6767
* // },
6868
* // ErrorDetails: [ // ErrorDetailsList
6969
* // { // ErrorDetails
70-
* // ErrorCode: "OutdatedPowershellVersion" || "OfficeInstalled" || "PCoIPAgentInstalled" || "WindowsUpdatesEnabled" || "AutoMountDisabled" || "WorkspacesBYOLAccountNotFound" || "WorkspacesBYOLAccountDisabled" || "DHCPDisabled" || "DiskFreeSpace" || "AdditionalDrivesAttached" || "OSNotSupported" || "DomainJoined" || "AzureDomainJoined" || "FirewallEnabled" || "VMWareToolsInstalled" || "DiskSizeExceeded" || "IncompatiblePartitioning" || "PendingReboot" || "AutoLogonEnabled" || "RealTimeUniversalDisabled" || "MultipleBootPartition" || "Requires64BitOS" || "ZeroRearmCount" || "InPlaceUpgrade" || "AntiVirusInstalled" || "UEFINotSupported" || "UnknownError" || "AppXPackagesInstalled" || "ReservedStorageInUse" || "AdditionalDrivesPresent" || "WindowsUpdatesRequired" || "SysPrepFileMissing" || "UserProfileMissing" || "InsufficientDiskSpace" || "EnvironmentVariablesPathMissingEntries" || "DomainAccountServicesFound" || "InvalidIp" || "RemoteDesktopServicesDisabled" || "WindowsModulesInstallerDisabled" || "AmazonSsmAgentEnabled" || "UnsupportedSecurityProtocol" || "MultipleUserProfiles" || "StagedAppxPackage" || "UnsupportedOsUpgrade" || "InsufficientRearmCount",
70+
* // ErrorCode: "OutdatedPowershellVersion" || "OfficeInstalled" || "PCoIPAgentInstalled" || "WindowsUpdatesEnabled" || "AutoMountDisabled" || "WorkspacesBYOLAccountNotFound" || "WorkspacesBYOLAccountDisabled" || "DHCPDisabled" || "DiskFreeSpace" || "AdditionalDrivesAttached" || "OSNotSupported" || "DomainJoined" || "AzureDomainJoined" || "FirewallEnabled" || "VMWareToolsInstalled" || "DiskSizeExceeded" || "IncompatiblePartitioning" || "PendingReboot" || "AutoLogonEnabled" || "RealTimeUniversalDisabled" || "MultipleBootPartition" || "Requires64BitOS" || "ZeroRearmCount" || "InPlaceUpgrade" || "AntiVirusInstalled" || "UEFINotSupported" || "UnknownError" || "AppXPackagesInstalled" || "ReservedStorageInUse" || "AdditionalDrivesPresent" || "WindowsUpdatesRequired" || "SysPrepFileMissing" || "UserProfileMissing" || "InsufficientDiskSpace" || "EnvironmentVariablesPathMissingEntries" || "DomainAccountServicesFound" || "InvalidIp" || "RemoteDesktopServicesDisabled" || "WindowsModulesInstallerDisabled" || "AmazonSsmAgentEnabled" || "UnsupportedSecurityProtocol" || "MultipleUserProfiles" || "StagedAppxPackage" || "UnsupportedOsUpgrade" || "InsufficientRearmCount" || "ProtocolOSIncompatibility" || "MemoryIntegrityIncompatibility" || "RestrictedDriveLetterInUse",
7171
* // ErrorMessage: "STRING_VALUE",
7272
* // },
7373
* // ],

clients/client-workspaces/src/commands/DescribeWorkspacesPoolsCommand.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ export interface DescribeWorkspacesPoolsCommandOutput extends DescribeWorkspaces
8686
* // IdleDisconnectTimeoutInSeconds: Number("int"),
8787
* // MaxUserDurationInSeconds: Number("int"),
8888
* // },
89+
* // RunningMode: "AUTO_STOP" || "ALWAYS_ON", // required
8990
* // },
9091
* // ],
9192
* // NextToken: "STRING_VALUE",

clients/client-workspaces/src/commands/RebootWorkspacesCommand.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ import { Command as $Command } from "@smithy/smithy-client";
55
import { MetadataBearer as __MetadataBearer } from "@smithy/types";
66

77
import { commonParams } from "../endpoint/EndpointParameters";
8-
import { RebootWorkspacesRequest, RebootWorkspacesResult } from "../models/models_0";
8+
import { RebootWorkspacesRequest } from "../models/models_0";
9+
import { RebootWorkspacesResult } from "../models/models_1";
910
import { de_RebootWorkspacesCommand, se_RebootWorkspacesCommand } from "../protocols/Aws_json1_1";
1011
import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesClientResolvedConfig } from "../WorkSpacesClient";
1112

clients/client-workspaces/src/commands/UpdateWorkspacesPoolCommand.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ export interface UpdateWorkspacesPoolCommandOutput extends UpdateWorkspacesPoolR
5252
* IdleDisconnectTimeoutInSeconds: Number("int"),
5353
* MaxUserDurationInSeconds: Number("int"),
5454
* },
55+
* RunningMode: "AUTO_STOP" || "ALWAYS_ON",
5556
* };
5657
* const command = new UpdateWorkspacesPoolCommand(input);
5758
* const response = await client.send(command);
@@ -87,6 +88,7 @@ export interface UpdateWorkspacesPoolCommandOutput extends UpdateWorkspacesPoolR
8788
* // IdleDisconnectTimeoutInSeconds: Number("int"),
8889
* // MaxUserDurationInSeconds: Number("int"),
8990
* // },
91+
* // RunningMode: "AUTO_STOP" || "ALWAYS_ON", // required
9092
* // },
9193
* // };
9294
*

clients/client-workspaces/src/models/models_0.ts

Lines changed: 30 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2865,6 +2865,20 @@ export interface CreateWorkspacesResult {
28652865
PendingRequests?: Workspace[] | undefined;
28662866
}
28672867

2868+
/**
2869+
* @public
2870+
* @enum
2871+
*/
2872+
export const PoolsRunningMode = {
2873+
ALWAYS_ON: "ALWAYS_ON",
2874+
AUTO_STOP: "AUTO_STOP",
2875+
} as const;
2876+
2877+
/**
2878+
* @public
2879+
*/
2880+
export type PoolsRunningMode = (typeof PoolsRunningMode)[keyof typeof PoolsRunningMode];
2881+
28682882
/**
28692883
* <p>Describes the timeout settings for a pool of WorkSpaces.</p>
28702884
* @public
@@ -2946,6 +2960,12 @@ export interface CreateWorkspacesPoolRequest {
29462960
* @public
29472961
*/
29482962
TimeoutSettings?: TimeoutSettings | undefined;
2963+
2964+
/**
2965+
* <p>The running mode for the pool.</p>
2966+
* @public
2967+
*/
2968+
RunningMode?: PoolsRunningMode | undefined;
29492969
}
29502970

29512971
/**
@@ -3061,7 +3081,7 @@ export interface WorkspacesPool {
30613081
CapacityStatus: CapacityStatus | undefined;
30623082

30633083
/**
3064-
* <p>The name of the pool,</p>
3084+
* <p>The name of the pool.</p>
30653085
* @public
30663086
*/
30673087
PoolName: string | undefined;
@@ -3116,6 +3136,12 @@ export interface WorkspacesPool {
31163136
* @public
31173137
*/
31183138
TimeoutSettings?: TimeoutSettings | undefined;
3139+
3140+
/**
3141+
* <p>The running mode of the pool.</p>
3142+
* @public
3143+
*/
3144+
RunningMode: PoolsRunningMode | undefined;
31193145
}
31203146

31213147
/**
@@ -5314,7 +5340,9 @@ export const WorkspaceImageErrorDetailCode = {
53145340
DOMAIN_JOINED: "DomainJoined",
53155341
ENVIRONMENT_VARIABLES_PATH_MISSING_ENTRIES: "EnvironmentVariablesPathMissingEntries",
53165342
FIREWALL_ENABLED: "FirewallEnabled",
5343+
INCOMPATIBLE_MEMORY_INTEGRITY: "MemoryIntegrityIncompatibility",
53175344
INCOMPATIBLE_PARTITIONING: "IncompatiblePartitioning",
5345+
INCOMPATIBLE_PROTOCOL: "ProtocolOSIncompatibility",
53185346
INSUFFICIENT_DISK_SPACE: "InsufficientDiskSpace",
53195347
INSUFFICIENT_REARM_COUNT: "InsufficientRearmCount",
53205348
INVALID_IP: "InvalidIp",
@@ -5329,6 +5357,7 @@ export const WorkspaceImageErrorDetailCode = {
53295357
REALTIME_UNIVERSAL_DISABLED: "RealTimeUniversalDisabled",
53305358
REMOTE_DESKTOP_SERVICES_DISABLED: "RemoteDesktopServicesDisabled",
53315359
RESERVED_STORAGE_IN_USE: "ReservedStorageInUse",
5360+
RESTRICTED_DRIVE_LETTER: "RestrictedDriveLetterInUse",
53325361
SIXTY_FOUR_BIT_OS: "Requires64BitOS",
53335362
STAGED_APPX_PACKAGE: "StagedAppxPackage",
53345363
SYSPREP_FILE_MISSING: "SysPrepFileMissing",
@@ -6869,14 +6898,3 @@ export interface RebootWorkspacesRequest {
68696898
*/
68706899
RebootWorkspaceRequests: RebootRequest[] | undefined;
68716900
}
6872-
6873-
/**
6874-
* @public
6875-
*/
6876-
export interface RebootWorkspacesResult {
6877-
/**
6878-
* <p>Information about the WorkSpaces that could not be rebooted.</p>
6879-
* @public
6880-
*/
6881-
FailedRequests?: FailedWorkspaceChangeRequest[] | undefined;
6882-
}

clients/client-workspaces/src/models/models_1.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
FailedWorkspaceChangeRequest,
1111
IpRuleItem,
1212
MicrosoftEntraConfig,
13+
PoolsRunningMode,
1314
Tag,
1415
Tenancy,
1516
TimeoutSettings,
@@ -21,6 +22,17 @@ import {
2122

2223
import { WorkSpacesServiceException as __BaseException } from "./WorkSpacesServiceException";
2324

25+
/**
26+
* @public
27+
*/
28+
export interface RebootWorkspacesResult {
29+
/**
30+
* <p>Information about the WorkSpaces that could not be rebooted.</p>
31+
* @public
32+
*/
33+
FailedRequests?: FailedWorkspaceChangeRequest[] | undefined;
34+
}
35+
2436
/**
2537
* <p>Describes the information used to rebuild a WorkSpace.</p>
2638
* @public
@@ -615,6 +627,12 @@ export interface UpdateWorkspacesPoolRequest {
615627
* @public
616628
*/
617629
TimeoutSettings?: TimeoutSettings | undefined;
630+
631+
/**
632+
* <p>The desired running mode for the pool. The running mode can only be updated when the pool is in a stopped state.</p>
633+
* @public
634+
*/
635+
RunningMode?: PoolsRunningMode | undefined;
618636
}
619637

620638
/**

clients/client-workspaces/src/protocols/Aws_json1_1.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5193,6 +5193,7 @@ const de_WorkspacesPool = (output: any, context: __SerdeContext): WorkspacesPool
51935193
PoolArn: __expectString,
51945194
PoolId: __expectString,
51955195
PoolName: __expectString,
5196+
RunningMode: __expectString,
51965197
State: __expectString,
51975198
TimeoutSettings: _json,
51985199
}) as any;

codegen/sdk-codegen/aws-models/workspaces.json

Lines changed: 56 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2660,6 +2660,12 @@
26602660
"traits": {
26612661
"smithy.api#documentation": "<p>Indicates the timeout settings of the pool.</p>"
26622662
}
2663+
},
2664+
"RunningMode": {
2665+
"target": "com.amazonaws.workspaces#PoolsRunningMode",
2666+
"traits": {
2667+
"smithy.api#documentation": "<p>The running mode for the pool.</p>"
2668+
}
26632669
}
26642670
},
26652671
"traits": {
@@ -7675,6 +7681,23 @@
76757681
"target": "com.amazonaws.workspaces#PendingCreateStandbyWorkspacesRequest"
76767682
}
76777683
},
7684+
"com.amazonaws.workspaces#PoolsRunningMode": {
7685+
"type": "enum",
7686+
"members": {
7687+
"AUTO_STOP": {
7688+
"target": "smithy.api#Unit",
7689+
"traits": {
7690+
"smithy.api#enumValue": "AUTO_STOP"
7691+
}
7692+
},
7693+
"ALWAYS_ON": {
7694+
"target": "smithy.api#Unit",
7695+
"traits": {
7696+
"smithy.api#enumValue": "ALWAYS_ON"
7697+
}
7698+
}
7699+
}
7700+
},
76787701
"com.amazonaws.workspaces#Protocol": {
76797702
"type": "enum",
76807703
"members": {
@@ -9772,6 +9795,12 @@
97729795
"traits": {
97739796
"smithy.api#documentation": "<p>Indicates the timeout settings of the specified pool.</p>"
97749797
}
9798+
},
9799+
"RunningMode": {
9800+
"target": "com.amazonaws.workspaces#PoolsRunningMode",
9801+
"traits": {
9802+
"smithy.api#documentation": "<p>The desired running mode for the pool. The running mode can only be updated when the pool is in a stopped state.</p>"
9803+
}
97759804
}
97769805
},
97779806
"traits": {
@@ -11150,6 +11179,24 @@
1115011179
"traits": {
1115111180
"smithy.api#enumValue": "InsufficientRearmCount"
1115211181
}
11182+
},
11183+
"INCOMPATIBLE_PROTOCOL": {
11184+
"target": "smithy.api#Unit",
11185+
"traits": {
11186+
"smithy.api#enumValue": "ProtocolOSIncompatibility"
11187+
}
11188+
},
11189+
"INCOMPATIBLE_MEMORY_INTEGRITY": {
11190+
"target": "smithy.api#Unit",
11191+
"traits": {
11192+
"smithy.api#enumValue": "MemoryIntegrityIncompatibility"
11193+
}
11194+
},
11195+
"RESTRICTED_DRIVE_LETTER": {
11196+
"target": "smithy.api#Unit",
11197+
"traits": {
11198+
"smithy.api#enumValue": "RestrictedDriveLetterInUse"
11199+
}
1115311200
}
1115411201
}
1115511202
},
@@ -11682,7 +11729,7 @@
1168211729
"PoolName": {
1168311730
"target": "com.amazonaws.workspaces#WorkspacesPoolName",
1168411731
"traits": {
11685-
"smithy.api#documentation": "<p>The name of the pool,</p>",
11732+
"smithy.api#documentation": "<p>The name of the pool.</p>",
1168611733
"smithy.api#required": {}
1168711734
}
1168811735
},
@@ -11737,6 +11784,14 @@
1173711784
"traits": {
1173811785
"smithy.api#documentation": "<p>The amount of time that a pool session remains active after users disconnect. \n If they try to reconnect to the pool session after a disconnection or network interruption \n within this time interval, they are connected to their previous session. \n Otherwise, they are connected to a new session with a new pool instance.</p>"
1173911786
}
11787+
},
11788+
"RunningMode": {
11789+
"target": "com.amazonaws.workspaces#PoolsRunningMode",
11790+
"traits": {
11791+
"smithy.api#default": "AUTO_STOP",
11792+
"smithy.api#documentation": "<p>The running mode of the pool.</p>",
11793+
"smithy.api#required": {}
11794+
}
1174011795
}
1174111796
},
1174211797
"traits": {

0 commit comments

Comments
 (0)