Skip to content

Commit e425ae4

Browse files
author
awstools
committed
feat(client-cleanrooms): Support error message configuration for analysis templates
1 parent 1c78990 commit e425ae4

File tree

9 files changed

+187
-74
lines changed

9 files changed

+187
-74
lines changed

clients/client-cleanrooms/src/commands/BatchGetCollaborationAnalysisTemplateCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,9 @@ export interface BatchGetCollaborationAnalysisTemplateCommandOutput
120120
* // ],
121121
* // },
122122
* // ],
123+
* // errorMessageConfiguration: { // ErrorMessageConfiguration
124+
* // type: "DETAILED", // required
125+
* // },
123126
* // },
124127
* // ],
125128
* // errors: [ // BatchGetCollaborationAnalysisTemplateErrorList // required

clients/client-cleanrooms/src/commands/CreateAnalysisTemplateCommand.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,9 @@ export interface CreateAnalysisTemplateCommandOutput extends CreateAnalysisTempl
8080
* "STRING_VALUE",
8181
* ],
8282
* },
83+
* errorMessageConfiguration: { // ErrorMessageConfiguration
84+
* type: "DETAILED", // required
85+
* },
8386
* };
8487
* const command = new CreateAnalysisTemplateCommand(input);
8588
* const response = await client.send(command);
@@ -151,6 +154,9 @@ export interface CreateAnalysisTemplateCommandOutput extends CreateAnalysisTempl
151154
* // ],
152155
* // },
153156
* // ],
157+
* // errorMessageConfiguration: { // ErrorMessageConfiguration
158+
* // type: "DETAILED", // required
159+
* // },
154160
* // },
155161
* // };
156162
*

clients/client-cleanrooms/src/commands/GetAnalysisTemplateCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,9 @@ export interface GetAnalysisTemplateCommandOutput extends GetAnalysisTemplateOut
113113
* // ],
114114
* // },
115115
* // ],
116+
* // errorMessageConfiguration: { // ErrorMessageConfiguration
117+
* // type: "DETAILED", // required
118+
* // },
116119
* // },
117120
* // };
118121
*

clients/client-cleanrooms/src/commands/GetCollaborationAnalysisTemplateCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,9 @@ export interface GetCollaborationAnalysisTemplateCommandOutput
117117
* // ],
118118
* // },
119119
* // ],
120+
* // errorMessageConfiguration: { // ErrorMessageConfiguration
121+
* // type: "DETAILED", // required
122+
* // },
120123
* // },
121124
* // };
122125
*

clients/client-cleanrooms/src/commands/UpdateAnalysisTemplateCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,9 @@ export interface UpdateAnalysisTemplateCommandOutput extends UpdateAnalysisTempl
114114
* // ],
115115
* // },
116116
* // ],
117+
* // errorMessageConfiguration: { // ErrorMessageConfiguration
118+
* // type: "DETAILED", // required
119+
* // },
117120
* // },
118121
* // };
119122
*

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

Lines changed: 43 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -1324,6 +1324,31 @@ export namespace AnalysisSourceMetadata {
13241324
};
13251325
}
13261326

1327+
/**
1328+
* @public
1329+
* @enum
1330+
*/
1331+
export const ErrorMessageType = {
1332+
DETAILED: "DETAILED",
1333+
} as const;
1334+
1335+
/**
1336+
* @public
1337+
*/
1338+
export type ErrorMessageType = (typeof ErrorMessageType)[keyof typeof ErrorMessageType];
1339+
1340+
/**
1341+
* <p>A structure that defines the level of detail included in error messages returned by PySpark jobs. This configuration allows you to control the verbosity of error messages to help with troubleshooting PySpark jobs while maintaining appropriate security controls.</p>
1342+
* @public
1343+
*/
1344+
export interface ErrorMessageConfiguration {
1345+
/**
1346+
* <p>The level of detail for error messages returned by the PySpark job. When set to DETAILED, error messages include more information to help troubleshoot issues with your PySpark job.</p> <p>Because this setting may expose sensitive data, it is recommended for development and testing environments.</p>
1347+
* @public
1348+
*/
1349+
type: ErrorMessageType | undefined;
1350+
}
1351+
13271352
/**
13281353
* <p>The reasons for the validation results.</p>
13291354
* @public
@@ -1490,6 +1515,12 @@ export interface AnalysisTemplate {
14901515
* @public
14911516
*/
14921517
validations?: AnalysisTemplateValidationStatusDetail[] | undefined;
1518+
1519+
/**
1520+
* <p>The configuration that specifies the level of detail in error messages returned by analyses using this template. When set to <code>DETAILED</code>, error messages include more information to help troubleshoot issues with PySpark jobs. Detailed error messages may expose underlying data, including sensitive information. Recommended for faster troubleshooting in development and testing environments.</p>
1521+
* @public
1522+
*/
1523+
errorMessageConfiguration?: ErrorMessageConfiguration | undefined;
14931524
}
14941525

14951526
/**
@@ -1615,6 +1646,12 @@ export interface CreateAnalysisTemplateInput {
16151646
* @public
16161647
*/
16171648
schema?: AnalysisSchema | undefined;
1649+
1650+
/**
1651+
* <p>The configuration that specifies the level of detail in error messages returned by analyses using this template. When set to <code>DETAILED</code>, error messages include more information to help troubleshoot issues with PySpark jobs. Detailed error messages may expose underlying data, including sensitive information. Recommended for faster troubleshooting in development and testing environments.</p>
1652+
* @public
1653+
*/
1654+
errorMessageConfiguration?: ErrorMessageConfiguration | undefined;
16181655
}
16191656

16201657
/**
@@ -2163,6 +2200,12 @@ export interface CollaborationAnalysisTemplate {
21632200
* @public
21642201
*/
21652202
validations?: AnalysisTemplateValidationStatusDetail[] | undefined;
2203+
2204+
/**
2205+
* <p>The configuration that specifies the level of detail in error messages returned by analyses using this template. When set to <code>DETAILED</code>, error messages include more information to help troubleshoot issues with PySpark jobs. Detailed error messages may expose underlying data, including sensitive information. Recommended for faster troubleshooting in development and testing environments.</p>
2206+
* @public
2207+
*/
2208+
errorMessageConfiguration?: ErrorMessageConfiguration | undefined;
21662209
}
21672210

21682211
/**
@@ -7775,79 +7818,6 @@ export interface ProtectedJobMemberOutputConfigurationOutput {
77757818
accountId: string | undefined;
77767819
}
77777820

7778-
/**
7779-
* <p> The output configuration for a protected job's S3 output.</p>
7780-
* @public
7781-
*/
7782-
export interface ProtectedJobS3OutputConfigurationOutput {
7783-
/**
7784-
* <p> The S3 bucket for job output.</p>
7785-
* @public
7786-
*/
7787-
bucket: string | undefined;
7788-
7789-
/**
7790-
* <p>The S3 prefix to unload the protected job results.</p>
7791-
* @public
7792-
*/
7793-
keyPrefix?: string | undefined;
7794-
}
7795-
7796-
/**
7797-
* <p> The protected job output configuration output.</p>
7798-
* @public
7799-
*/
7800-
export type ProtectedJobOutputConfigurationOutput =
7801-
| ProtectedJobOutputConfigurationOutput.MemberMember
7802-
| ProtectedJobOutputConfigurationOutput.S3Member
7803-
| ProtectedJobOutputConfigurationOutput.$UnknownMember;
7804-
7805-
/**
7806-
* @public
7807-
*/
7808-
export namespace ProtectedJobOutputConfigurationOutput {
7809-
/**
7810-
* <p>If present, the output for a protected job with an `S3` output type.</p>
7811-
* @public
7812-
*/
7813-
export interface S3Member {
7814-
s3: ProtectedJobS3OutputConfigurationOutput;
7815-
member?: never;
7816-
$unknown?: never;
7817-
}
7818-
7819-
/**
7820-
* <p> The member output configuration for a protected job.</p>
7821-
* @public
7822-
*/
7823-
export interface MemberMember {
7824-
s3?: never;
7825-
member: ProtectedJobMemberOutputConfigurationOutput;
7826-
$unknown?: never;
7827-
}
7828-
7829-
/**
7830-
* @public
7831-
*/
7832-
export interface $UnknownMember {
7833-
s3?: never;
7834-
member?: never;
7835-
$unknown: [string, any];
7836-
}
7837-
7838-
export interface Visitor<T> {
7839-
s3: (value: ProtectedJobS3OutputConfigurationOutput) => T;
7840-
member: (value: ProtectedJobMemberOutputConfigurationOutput) => T;
7841-
_: (name: string, value: any) => T;
7842-
}
7843-
7844-
export const visit = <T>(value: ProtectedJobOutputConfigurationOutput, visitor: Visitor<T>): T => {
7845-
if (value.s3 !== undefined) return visitor.s3(value.s3);
7846-
if (value.member !== undefined) return visitor.member(value.member);
7847-
return visitor._(value.$unknown[0], value.$unknown[1]);
7848-
};
7849-
}
7850-
78517821
/**
78527822
* @internal
78537823
*/

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

Lines changed: 74 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,85 @@ import {
1818
PrivacyBudgetTemplateParametersOutput,
1919
PrivacyBudgetType,
2020
ProtectedJobError,
21-
ProtectedJobOutputConfigurationOutput,
21+
ProtectedJobMemberOutputConfigurationOutput,
2222
ProtectedJobParameters,
2323
ProtectedJobResult,
2424
ProtectedQueryS3OutputConfiguration,
2525
} from "./models_0";
2626

27+
/**
28+
* <p> The output configuration for a protected job's S3 output.</p>
29+
* @public
30+
*/
31+
export interface ProtectedJobS3OutputConfigurationOutput {
32+
/**
33+
* <p> The S3 bucket for job output.</p>
34+
* @public
35+
*/
36+
bucket: string | undefined;
37+
38+
/**
39+
* <p>The S3 prefix to unload the protected job results.</p>
40+
* @public
41+
*/
42+
keyPrefix?: string | undefined;
43+
}
44+
45+
/**
46+
* <p> The protected job output configuration output.</p>
47+
* @public
48+
*/
49+
export type ProtectedJobOutputConfigurationOutput =
50+
| ProtectedJobOutputConfigurationOutput.MemberMember
51+
| ProtectedJobOutputConfigurationOutput.S3Member
52+
| ProtectedJobOutputConfigurationOutput.$UnknownMember;
53+
54+
/**
55+
* @public
56+
*/
57+
export namespace ProtectedJobOutputConfigurationOutput {
58+
/**
59+
* <p>If present, the output for a protected job with an `S3` output type.</p>
60+
* @public
61+
*/
62+
export interface S3Member {
63+
s3: ProtectedJobS3OutputConfigurationOutput;
64+
member?: never;
65+
$unknown?: never;
66+
}
67+
68+
/**
69+
* <p> The member output configuration for a protected job.</p>
70+
* @public
71+
*/
72+
export interface MemberMember {
73+
s3?: never;
74+
member: ProtectedJobMemberOutputConfigurationOutput;
75+
$unknown?: never;
76+
}
77+
78+
/**
79+
* @public
80+
*/
81+
export interface $UnknownMember {
82+
s3?: never;
83+
member?: never;
84+
$unknown: [string, any];
85+
}
86+
87+
export interface Visitor<T> {
88+
s3: (value: ProtectedJobS3OutputConfigurationOutput) => T;
89+
member: (value: ProtectedJobMemberOutputConfigurationOutput) => T;
90+
_: (name: string, value: any) => T;
91+
}
92+
93+
export const visit = <T>(value: ProtectedJobOutputConfigurationOutput, visitor: Visitor<T>): T => {
94+
if (value.s3 !== undefined) return visitor.s3(value.s3);
95+
if (value.member !== undefined) return visitor.member(value.member);
96+
return visitor._(value.$unknown[0], value.$unknown[1]);
97+
};
98+
}
99+
27100
/**
28101
* <p>The output configuration for a protected job result.</p>
29102
* @public

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,7 @@ import {
352352
DataEncryptionMetadata,
353353
DifferentialPrivacyColumn,
354354
DifferentialPrivacyConfiguration,
355+
ErrorMessageConfiguration,
355356
GlueTableReference,
356357
IdMappingConfig,
357358
IdMappingTable,
@@ -523,6 +524,7 @@ export const se_CreateAnalysisTemplateCommand = async (
523524
take(input, {
524525
analysisParameters: (_) => _json(_),
525526
description: [],
527+
errorMessageConfiguration: (_) => _json(_),
526528
format: [],
527529
name: [],
528530
schema: (_) => _json(_),
@@ -4293,6 +4295,8 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont
42934295

42944296
// se_DifferentialPrivacyTemplateUpdateParameters omitted.
42954297

4298+
// se_ErrorMessageConfiguration omitted.
4299+
42964300
// se_GlueTableReference omitted.
42974301

42984302
// se_IdMappingConfig omitted.
@@ -4478,6 +4482,7 @@ const de_AnalysisTemplate = (output: any, context: __SerdeContext): AnalysisTemp
44784482
collaborationId: __expectString,
44794483
createTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
44804484
description: __expectString,
4485+
errorMessageConfiguration: _json,
44814486
format: __expectString,
44824487
id: __expectString,
44834488
membershipArn: __expectString,
@@ -4604,6 +4609,7 @@ const de_CollaborationAnalysisTemplate = (output: any, context: __SerdeContext):
46044609
createTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
46054610
creatorAccountId: __expectString,
46064611
description: __expectString,
4612+
errorMessageConfiguration: _json,
46074613
format: __expectString,
46084614
id: __expectString,
46094615
name: __expectString,
@@ -5199,6 +5205,8 @@ const de_DifferentialPrivacySensitivityParametersList = (
51995205

52005206
// de_DirectAnalysisConfigurationDetails omitted.
52015207

5208+
// de_ErrorMessageConfiguration omitted.
5209+
52025210
// de_GlueTableReference omitted.
52035211

52045212
// de_Hash omitted.

0 commit comments

Comments
 (0)