Skip to content

Commit 3096300

Browse files
author
awstools
committed
feat(client-appintegrations): Amazon AppIntegrations introduces new configuration capabilities to enable customers to manage iframe permissions, control application refresh behavior (per contact or per browser/cross-contact), and run background applications (service).
1 parent 3015df3 commit 3096300

File tree

7 files changed

+400
-0
lines changed

7 files changed

+400
-0
lines changed

clients/client-appintegrations/src/commands/CreateApplicationCommand.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,21 @@ export interface CreateApplicationCommandOutput extends CreateApplicationRespons
6767
* Permissions: [ // PermissionList
6868
* "STRING_VALUE",
6969
* ],
70+
* IsService: true || false,
71+
* InitializationTimeout: Number("int"),
72+
* ApplicationConfig: { // ApplicationConfig
73+
* ContactHandling: { // ContactHandling
74+
* Scope: "CROSS_CONTACTS" || "PER_CONTACT",
75+
* },
76+
* },
77+
* IframeConfig: { // IframeConfig
78+
* Allow: [ // IframePermissionList
79+
* "STRING_VALUE",
80+
* ],
81+
* Sandbox: [
82+
* "STRING_VALUE",
83+
* ],
84+
* },
7085
* };
7186
* const command = new CreateApplicationCommand(input);
7287
* const response = await client.send(command);

clients/client-appintegrations/src/commands/GetApplicationCommand.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,21 @@ export interface GetApplicationCommandOutput extends GetApplicationResponse, __M
7575
* // Permissions: [ // PermissionList
7676
* // "STRING_VALUE",
7777
* // ],
78+
* // IsService: true || false,
79+
* // InitializationTimeout: Number("int"),
80+
* // ApplicationConfig: { // ApplicationConfig
81+
* // ContactHandling: { // ContactHandling
82+
* // Scope: "CROSS_CONTACTS" || "PER_CONTACT",
83+
* // },
84+
* // },
85+
* // IframeConfig: { // IframeConfig
86+
* // Allow: [ // IframePermissionList
87+
* // "STRING_VALUE",
88+
* // ],
89+
* // Sandbox: [
90+
* // "STRING_VALUE",
91+
* // ],
92+
* // },
7893
* // };
7994
*
8095
* ```

clients/client-appintegrations/src/commands/ListApplicationsCommand.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ export interface ListApplicationsCommandOutput extends ListApplicationsResponse,
5050
* // Namespace: "STRING_VALUE",
5151
* // CreatedTime: new Date("TIMESTAMP"),
5252
* // LastModifiedTime: new Date("TIMESTAMP"),
53+
* // IsService: true || false,
5354
* // },
5455
* // ],
5556
* // NextToken: "STRING_VALUE",

clients/client-appintegrations/src/commands/UpdateApplicationCommand.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,21 @@ export interface UpdateApplicationCommandOutput extends UpdateApplicationRespons
6363
* Permissions: [ // PermissionList
6464
* "STRING_VALUE",
6565
* ],
66+
* IsService: true || false,
67+
* InitializationTimeout: Number("int"),
68+
* ApplicationConfig: { // ApplicationConfig
69+
* ContactHandling: { // ContactHandling
70+
* Scope: "CROSS_CONTACTS" || "PER_CONTACT",
71+
* },
72+
* },
73+
* IframeConfig: { // IframeConfig
74+
* Allow: [ // IframePermissionList
75+
* "STRING_VALUE",
76+
* ],
77+
* Sandbox: [
78+
* "STRING_VALUE",
79+
* ],
80+
* },
6681
* };
6782
* const command = new UpdateApplicationCommand(input);
6883
* const response = await client.send(command);

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

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,44 @@ export class AccessDeniedException extends __BaseException {
2525
}
2626
}
2727

28+
/**
29+
* @public
30+
* @enum
31+
*/
32+
export const ContactHandlingScope = {
33+
CROSS_CONTACTS: "CROSS_CONTACTS",
34+
PER_CONTACT: "PER_CONTACT",
35+
} as const;
36+
37+
/**
38+
* @public
39+
*/
40+
export type ContactHandlingScope = (typeof ContactHandlingScope)[keyof typeof ContactHandlingScope];
41+
42+
/**
43+
* <p>The contact handling configuration for the application.</p>
44+
* @public
45+
*/
46+
export interface ContactHandling {
47+
/**
48+
* <p>Indicates whether the application refreshes for each contact or refreshes only with each new browser session.</p>
49+
* @public
50+
*/
51+
Scope?: ContactHandlingScope | undefined;
52+
}
53+
54+
/**
55+
* <p>The configuration settings for the application.</p>
56+
* @public
57+
*/
58+
export interface ApplicationConfig {
59+
/**
60+
* <p>The contact handling configuration for the application.</p>
61+
* @public
62+
*/
63+
ContactHandling?: ContactHandling | undefined;
64+
}
65+
2866
/**
2967
* <p>The external URL source for the application.</p>
3068
* @public
@@ -55,6 +93,24 @@ export interface ApplicationSourceConfig {
5593
ExternalUrlConfig?: ExternalUrlConfig | undefined;
5694
}
5795

96+
/**
97+
* <p>The iframe configuration for the application.</p>
98+
* @public
99+
*/
100+
export interface IframeConfig {
101+
/**
102+
* <p>The list of features that are allowed in the iframe.</p>
103+
* @public
104+
*/
105+
Allow?: string[] | undefined;
106+
107+
/**
108+
* <p>The list of sandbox attributes for the iframe.</p>
109+
* @public
110+
*/
111+
Sandbox?: string[] | undefined;
112+
}
113+
58114
/**
59115
* <p>The configuration of an event that the application publishes.</p>
60116
* @public
@@ -161,6 +217,30 @@ export interface CreateApplicationRequest {
161217
* @public
162218
*/
163219
Permissions?: string[] | undefined;
220+
221+
/**
222+
* <p>Indicates whether the application is a service.</p>
223+
* @public
224+
*/
225+
IsService?: boolean | undefined;
226+
227+
/**
228+
* <p>The maximum time in milliseconds allowed to establish a connection with the workspace.</p>
229+
* @public
230+
*/
231+
InitializationTimeout?: number | undefined;
232+
233+
/**
234+
* <p>The configuration settings for the application.</p>
235+
* @public
236+
*/
237+
ApplicationConfig?: ApplicationConfig | undefined;
238+
239+
/**
240+
* <p>The iframe configuration for the application.</p>
241+
* @public
242+
*/
243+
IframeConfig?: IframeConfig | undefined;
164244
}
165245

166246
/**
@@ -844,6 +924,30 @@ export interface GetApplicationResponse {
844924
* @public
845925
*/
846926
Permissions?: string[] | undefined;
927+
928+
/**
929+
* <p>Indicates whether the application is a service.</p>
930+
* @public
931+
*/
932+
IsService?: boolean | undefined;
933+
934+
/**
935+
* <p>The maximum time in milliseconds allowed to establish a connection with the workspace.</p>
936+
* @public
937+
*/
938+
InitializationTimeout?: number | undefined;
939+
940+
/**
941+
* <p>The configuration settings for the application.</p>
942+
* @public
943+
*/
944+
ApplicationConfig?: ApplicationConfig | undefined;
945+
946+
/**
947+
* <p>The iframe configuration for the application.</p>
948+
* @public
949+
*/
950+
IframeConfig?: IframeConfig | undefined;
847951
}
848952

849953
/**
@@ -1097,6 +1201,12 @@ export interface ApplicationSummary {
10971201
* @public
10981202
*/
10991203
LastModifiedTime?: Date | undefined;
1204+
1205+
/**
1206+
* <p>Indicates whether the application is a service.</p>
1207+
* @public
1208+
*/
1209+
IsService?: boolean | undefined;
11001210
}
11011211

11021212
/**
@@ -1567,6 +1677,30 @@ export interface UpdateApplicationRequest {
15671677
* @public
15681678
*/
15691679
Permissions?: string[] | undefined;
1680+
1681+
/**
1682+
* <p>Indicates whether the application is a service.</p>
1683+
* @public
1684+
*/
1685+
IsService?: boolean | undefined;
1686+
1687+
/**
1688+
* <p>The maximum time in milliseconds allowed to establish a connection with the workspace.</p>
1689+
* @public
1690+
*/
1691+
InitializationTimeout?: number | undefined;
1692+
1693+
/**
1694+
* <p>The configuration settings for the application.</p>
1695+
* @public
1696+
*/
1697+
ApplicationConfig?: ApplicationConfig | undefined;
1698+
1699+
/**
1700+
* <p>The iframe configuration for the application.</p>
1701+
* @public
1702+
*/
1703+
IframeConfig?: IframeConfig | undefined;
15701704
}
15711705

15721706
/**

clients/client-appintegrations/src/protocols/Aws_restJson1.ts

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import {
66
_json,
77
collectBody,
88
decorateServiceException as __decorateServiceException,
9+
expectBoolean as __expectBoolean,
10+
expectInt32 as __expectInt32,
911
expectNonNull as __expectNonNull,
1012
expectNumber as __expectNumber,
1113
expectObject as __expectObject,
@@ -95,13 +97,16 @@ import {
9597
import { AppIntegrationsServiceException as __BaseException } from "../models/AppIntegrationsServiceException";
9698
import {
9799
AccessDeniedException,
100+
ApplicationConfig,
98101
ApplicationSourceConfig,
99102
ApplicationSummary,
103+
ContactHandling,
100104
DuplicateResourceException,
101105
EventFilter,
102106
ExecutionConfiguration,
103107
ExternalUrlConfig,
104108
FileConfiguration,
109+
IframeConfig,
105110
InternalServiceError,
106111
InvalidRequestException,
107112
OnDemandConfiguration,
@@ -129,9 +134,13 @@ export const se_CreateApplicationCommand = async (
129134
let body: any;
130135
body = JSON.stringify(
131136
take(input, {
137+
ApplicationConfig: (_) => _json(_),
132138
ApplicationSourceConfig: (_) => _json(_),
133139
ClientToken: [true, (_) => _ ?? generateIdempotencyToken()],
134140
Description: [],
141+
IframeConfig: (_) => _json(_),
142+
InitializationTimeout: [],
143+
IsService: [],
135144
Name: [],
136145
Namespace: [],
137146
Permissions: (_) => _json(_),
@@ -516,8 +525,12 @@ export const se_UpdateApplicationCommand = async (
516525
let body: any;
517526
body = JSON.stringify(
518527
take(input, {
528+
ApplicationConfig: (_) => _json(_),
519529
ApplicationSourceConfig: (_) => _json(_),
520530
Description: [],
531+
IframeConfig: (_) => _json(_),
532+
InitializationTimeout: [],
533+
IsService: [],
521534
Name: [],
522535
Permissions: (_) => _json(_),
523536
Publications: (_) => _json(_),
@@ -766,11 +779,15 @@ export const de_GetApplicationCommand = async (
766779
});
767780
const data: Record<string, any> = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
768781
const doc = take(data, {
782+
ApplicationConfig: _json,
769783
ApplicationSourceConfig: _json,
770784
Arn: __expectString,
771785
CreatedTime: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
772786
Description: __expectString,
773787
Id: __expectString,
788+
IframeConfig: _json,
789+
InitializationTimeout: __expectInt32,
790+
IsService: __expectBoolean,
774791
LastModifiedTime: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
775792
Name: __expectString,
776793
Namespace: __expectString,
@@ -1298,10 +1315,14 @@ const de_UnsupportedOperationExceptionRes = async (
12981315

12991316
// se_ApplicationApprovedOrigins omitted.
13001317

1318+
// se_ApplicationConfig omitted.
1319+
13011320
// se_ApplicationSourceConfig omitted.
13021321

13031322
// se_ClientAssociationMetadata omitted.
13041323

1324+
// se_ContactHandling omitted.
1325+
13051326
// se_EventFilter omitted.
13061327

13071328
// se_ExecutionConfiguration omitted.
@@ -1316,6 +1337,10 @@ const de_UnsupportedOperationExceptionRes = async (
13161337

13171338
// se_FolderList omitted.
13181339

1340+
// se_IframeConfig omitted.
1341+
1342+
// se_IframePermissionList omitted.
1343+
13191344
// se_ObjectConfiguration omitted.
13201345

13211346
// se_OnDemandConfiguration omitted.
@@ -1340,6 +1365,8 @@ const de_UnsupportedOperationExceptionRes = async (
13401365

13411366
// de_ApplicationAssociationSummary omitted.
13421367

1368+
// de_ApplicationConfig omitted.
1369+
13431370
/**
13441371
* deserializeAws_restJson1ApplicationsList
13451372
*/
@@ -1362,6 +1389,7 @@ const de_ApplicationSummary = (output: any, context: __SerdeContext): Applicatio
13621389
Arn: __expectString,
13631390
CreatedTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
13641391
Id: __expectString,
1392+
IsService: __expectBoolean,
13651393
LastModifiedTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
13661394
Name: __expectString,
13671395
Namespace: __expectString,
@@ -1370,6 +1398,8 @@ const de_ApplicationSummary = (output: any, context: __SerdeContext): Applicatio
13701398

13711399
// de_ClientAssociationMetadata omitted.
13721400

1401+
// de_ContactHandling omitted.
1402+
13731403
// de_DataIntegrationAssociationsList omitted.
13741404

13751405
// de_DataIntegrationAssociationSummary omitted.
@@ -1400,6 +1430,10 @@ const de_ApplicationSummary = (output: any, context: __SerdeContext): Applicatio
14001430

14011431
// de_FolderList omitted.
14021432

1433+
// de_IframeConfig omitted.
1434+
1435+
// de_IframePermissionList omitted.
1436+
14031437
// de_LastExecutionStatus omitted.
14041438

14051439
// de_ObjectConfiguration omitted.

0 commit comments

Comments
 (0)