Skip to content

Commit e92f7fb

Browse files
author
awstools
committed
feat(client-workspaces): Updated modifyStreamingProperties to support PrivateLink VPC endpoints for directories
1 parent d6080dd commit e92f7fb

File tree

8 files changed

+335
-65
lines changed

8 files changed

+335
-65
lines changed

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,17 @@ export interface DescribeWorkspaceDirectoriesCommandOutput
9999
* // DeviceTypeZeroClient: "ALLOW" || "DENY",
100100
* // DeviceTypeLinux: "ALLOW" || "DENY",
101101
* // DeviceTypeWorkSpacesThinClient: "ALLOW" || "DENY",
102+
* // AccessEndpointConfig: { // AccessEndpointConfig
103+
* // AccessEndpoints: [ // AccessEndpointList // required
104+
* // { // AccessEndpoint
105+
* // AccessEndpointType: "STREAMING_WSP",
106+
* // VpcEndpointId: "STRING_VALUE",
107+
* // },
108+
* // ],
109+
* // InternetFallbackProtocols: [ // InternetFallbackProtocolList
110+
* // "PCOIP",
111+
* // ],
112+
* // },
102113
* // },
103114
* // Tenancy: "DEDICATED" || "SHARED",
104115
* // SelfservicePermissions: { // SelfservicePermissions

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

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,17 @@ export interface ModifyWorkspaceAccessPropertiesCommandOutput
5454
* DeviceTypeZeroClient: "ALLOW" || "DENY",
5555
* DeviceTypeLinux: "ALLOW" || "DENY",
5656
* DeviceTypeWorkSpacesThinClient: "ALLOW" || "DENY",
57+
* AccessEndpointConfig: { // AccessEndpointConfig
58+
* AccessEndpoints: [ // AccessEndpointList // required
59+
* { // AccessEndpoint
60+
* AccessEndpointType: "STREAMING_WSP",
61+
* VpcEndpointId: "STRING_VALUE",
62+
* },
63+
* ],
64+
* InternetFallbackProtocols: [ // InternetFallbackProtocolList
65+
* "PCOIP",
66+
* ],
67+
* },
5768
* },
5869
* };
5970
* const command = new ModifyWorkspaceAccessPropertiesCommand(input);
@@ -71,6 +82,15 @@ export interface ModifyWorkspaceAccessPropertiesCommandOutput
7182
* @throws {@link AccessDeniedException} (client fault)
7283
* <p>The user is not authorized to access a resource.</p>
7384
*
85+
* @throws {@link InvalidParameterCombinationException} (client fault)
86+
* <p>Two or more of the selected parameter values cannot be used together.</p>
87+
*
88+
* @throws {@link InvalidParameterValuesException} (client fault)
89+
* <p>One or more parameter values are not valid.</p>
90+
*
91+
* @throws {@link OperationNotSupportedException} (client fault)
92+
* <p>This operation is not supported.</p>
93+
*
7494
* @throws {@link ResourceNotFoundException} (client fault)
7595
* <p>The resource could not be found.</p>
7696
*

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ 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 { ModifyWorkspaceStateRequest, ModifyWorkspaceStateResult } from "../models/models_0";
8+
import { ModifyWorkspaceStateRequest, ModifyWorkspaceStateResult } from "../models/models_1";
99
import { de_ModifyWorkspaceStateCommand, se_ModifyWorkspaceStateCommand } from "../protocols/Aws_json1_1";
1010
import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesClientResolvedConfig } from "../WorkSpacesClient";
1111

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ 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 } from "../models/models_0";
9-
import { RebootWorkspacesResult } from "../models/models_1";
8+
import { RebootWorkspacesRequest, RebootWorkspacesResult } from "../models/models_1";
109
import { de_RebootWorkspacesCommand, se_RebootWorkspacesCommand } from "../protocols/Aws_json1_1";
1110
import { ServiceInputTypes, ServiceOutputTypes, WorkSpacesClientResolvedConfig } from "../WorkSpacesClient";
1211

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

Lines changed: 88 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,68 @@ export class ValidationException extends __BaseException {
186186
}
187187
}
188188

189+
/**
190+
* @public
191+
* @enum
192+
*/
193+
export const AccessEndpointType = {
194+
STREAMING_WSP: "STREAMING_WSP",
195+
} as const;
196+
197+
/**
198+
* @public
199+
*/
200+
export type AccessEndpointType = (typeof AccessEndpointType)[keyof typeof AccessEndpointType];
201+
202+
/**
203+
* <p>Describes the access type and endpoint for a WorkSpace.</p>
204+
* @public
205+
*/
206+
export interface AccessEndpoint {
207+
/**
208+
* <p>Indicates the type of access endpoint.</p>
209+
* @public
210+
*/
211+
AccessEndpointType?: AccessEndpointType | undefined;
212+
213+
/**
214+
* <p>Indicates the VPC endpoint to use for access.</p>
215+
* @public
216+
*/
217+
VpcEndpointId?: string | undefined;
218+
}
219+
220+
/**
221+
* @public
222+
* @enum
223+
*/
224+
export const InternetFallbackProtocol = {
225+
PCOIP: "PCOIP",
226+
} as const;
227+
228+
/**
229+
* @public
230+
*/
231+
export type InternetFallbackProtocol = (typeof InternetFallbackProtocol)[keyof typeof InternetFallbackProtocol];
232+
233+
/**
234+
* <p>Describes the access endpoint configuration for a WorkSpace.</p>
235+
* @public
236+
*/
237+
export interface AccessEndpointConfig {
238+
/**
239+
* <p>Indicates a list of access endpoints associated with this directory.</p>
240+
* @public
241+
*/
242+
AccessEndpoints: AccessEndpoint[] | undefined;
243+
244+
/**
245+
* <p>Indicates a list of protocols that fallback to using the public Internet when streaming over a VPC endpoint is not available.</p>
246+
* @public
247+
*/
248+
InternetFallbackProtocols?: InternetFallbackProtocol[] | undefined;
249+
}
250+
189251
/**
190252
* @public
191253
* @enum
@@ -4992,6 +5054,12 @@ export interface WorkspaceAccessProperties {
49925054
* @public
49935055
*/
49945056
DeviceTypeWorkSpacesThinClient?: AccessPropertyValue | undefined;
5057+
5058+
/**
5059+
* <p>Specifies the configuration for accessing the WorkSpace.</p>
5060+
* @public
5061+
*/
5062+
AccessEndpointConfig?: AccessEndpointConfig | undefined;
49955063
}
49965064

49975065
/**
@@ -6361,6 +6429,26 @@ export interface ImportWorkspaceImageResult {
63616429
ImageId?: string | undefined;
63626430
}
63636431

6432+
/**
6433+
* <p>Two or more of the selected parameter values cannot be used together.</p>
6434+
* @public
6435+
*/
6436+
export class InvalidParameterCombinationException extends __BaseException {
6437+
readonly name: "InvalidParameterCombinationException" = "InvalidParameterCombinationException";
6438+
readonly $fault: "client" = "client";
6439+
/**
6440+
* @internal
6441+
*/
6442+
constructor(opts: __ExceptionOptionType<InvalidParameterCombinationException, __BaseException>) {
6443+
super({
6444+
name: "InvalidParameterCombinationException",
6445+
$fault: "client",
6446+
...opts,
6447+
});
6448+
Object.setPrototypeOf(this, InvalidParameterCombinationException.prototype);
6449+
}
6450+
}
6451+
63646452
/**
63656453
* @public
63666454
*/
@@ -6839,62 +6927,3 @@ export class UnsupportedWorkspaceConfigurationException extends __BaseException
68396927
Object.setPrototypeOf(this, UnsupportedWorkspaceConfigurationException.prototype);
68406928
}
68416929
}
6842-
6843-
/**
6844-
* @public
6845-
* @enum
6846-
*/
6847-
export const TargetWorkspaceState = {
6848-
ADMIN_MAINTENANCE: "ADMIN_MAINTENANCE",
6849-
AVAILABLE: "AVAILABLE",
6850-
} as const;
6851-
6852-
/**
6853-
* @public
6854-
*/
6855-
export type TargetWorkspaceState = (typeof TargetWorkspaceState)[keyof typeof TargetWorkspaceState];
6856-
6857-
/**
6858-
* @public
6859-
*/
6860-
export interface ModifyWorkspaceStateRequest {
6861-
/**
6862-
* <p>The identifier of the WorkSpace.</p>
6863-
* @public
6864-
*/
6865-
WorkspaceId: string | undefined;
6866-
6867-
/**
6868-
* <p>The WorkSpace state.</p>
6869-
* @public
6870-
*/
6871-
WorkspaceState: TargetWorkspaceState | undefined;
6872-
}
6873-
6874-
/**
6875-
* @public
6876-
*/
6877-
export interface ModifyWorkspaceStateResult {}
6878-
6879-
/**
6880-
* <p>Describes the information used to reboot a WorkSpace.</p>
6881-
* @public
6882-
*/
6883-
export interface RebootRequest {
6884-
/**
6885-
* <p>The identifier of the WorkSpace.</p>
6886-
* @public
6887-
*/
6888-
WorkspaceId: string | undefined;
6889-
}
6890-
6891-
/**
6892-
* @public
6893-
*/
6894-
export interface RebootWorkspacesRequest {
6895-
/**
6896-
* <p>The WorkSpaces to reboot. You can specify up to 25 WorkSpaces.</p>
6897-
* @public
6898-
*/
6899-
RebootWorkspaceRequests: RebootRequest[] | undefined;
6900-
}

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

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,65 @@ import {
2222

2323
import { WorkSpacesServiceException as __BaseException } from "./WorkSpacesServiceException";
2424

25+
/**
26+
* @public
27+
* @enum
28+
*/
29+
export const TargetWorkspaceState = {
30+
ADMIN_MAINTENANCE: "ADMIN_MAINTENANCE",
31+
AVAILABLE: "AVAILABLE",
32+
} as const;
33+
34+
/**
35+
* @public
36+
*/
37+
export type TargetWorkspaceState = (typeof TargetWorkspaceState)[keyof typeof TargetWorkspaceState];
38+
39+
/**
40+
* @public
41+
*/
42+
export interface ModifyWorkspaceStateRequest {
43+
/**
44+
* <p>The identifier of the WorkSpace.</p>
45+
* @public
46+
*/
47+
WorkspaceId: string | undefined;
48+
49+
/**
50+
* <p>The WorkSpace state.</p>
51+
* @public
52+
*/
53+
WorkspaceState: TargetWorkspaceState | undefined;
54+
}
55+
56+
/**
57+
* @public
58+
*/
59+
export interface ModifyWorkspaceStateResult {}
60+
61+
/**
62+
* <p>Describes the information used to reboot a WorkSpace.</p>
63+
* @public
64+
*/
65+
export interface RebootRequest {
66+
/**
67+
* <p>The identifier of the WorkSpace.</p>
68+
* @public
69+
*/
70+
WorkspaceId: string | undefined;
71+
}
72+
73+
/**
74+
* @public
75+
*/
76+
export interface RebootWorkspacesRequest {
77+
/**
78+
* <p>The WorkSpaces to reboot. You can specify up to 25 WorkSpaces.</p>
79+
* @public
80+
*/
81+
RebootWorkspaceRequests: RebootRequest[] | undefined;
82+
}
83+
2584
/**
2685
* @public
2786
*/

0 commit comments

Comments
 (0)