@aws-sdk/client-personalize 3.211.0 → 3.213.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist-cjs/Personalize.js +90 -0
  2. package/dist-cjs/commands/CreateMetricAttributionCommand.js +46 -0
  3. package/dist-cjs/commands/DeleteMetricAttributionCommand.js +46 -0
  4. package/dist-cjs/commands/DescribeMetricAttributionCommand.js +46 -0
  5. package/dist-cjs/commands/ListMetricAttributionMetricsCommand.js +46 -0
  6. package/dist-cjs/commands/ListMetricAttributionsCommand.js +46 -0
  7. package/dist-cjs/commands/UpdateMetricAttributionCommand.js +46 -0
  8. package/dist-cjs/commands/index.js +6 -0
  9. package/dist-cjs/models/models_0.js +64 -4
  10. package/dist-cjs/pagination/ListMetricAttributionMetricsPaginator.js +36 -0
  11. package/dist-cjs/pagination/ListMetricAttributionsPaginator.js +36 -0
  12. package/dist-cjs/pagination/index.js +2 -0
  13. package/dist-cjs/protocols/Aws_json1_1.js +499 -31
  14. package/dist-es/Personalize.js +90 -0
  15. package/dist-es/commands/CreateMetricAttributionCommand.js +42 -0
  16. package/dist-es/commands/DeleteMetricAttributionCommand.js +42 -0
  17. package/dist-es/commands/DescribeMetricAttributionCommand.js +42 -0
  18. package/dist-es/commands/ListMetricAttributionMetricsCommand.js +42 -0
  19. package/dist-es/commands/ListMetricAttributionsCommand.js +42 -0
  20. package/dist-es/commands/UpdateMetricAttributionCommand.js +42 -0
  21. package/dist-es/commands/index.js +6 -0
  22. package/dist-es/models/models_0.js +45 -0
  23. package/dist-es/pagination/ListMetricAttributionMetricsPaginator.js +32 -0
  24. package/dist-es/pagination/ListMetricAttributionsPaginator.js +32 -0
  25. package/dist-es/pagination/index.js +2 -0
  26. package/dist-es/protocols/Aws_json1_1.js +484 -28
  27. package/dist-types/Personalize.d.ts +44 -0
  28. package/dist-types/PersonalizeClient.d.ts +8 -2
  29. package/dist-types/commands/CreateMetricAttributionCommand.d.ts +39 -0
  30. package/dist-types/commands/DeleteMetricAttributionCommand.d.ts +37 -0
  31. package/dist-types/commands/DescribeMetricAttributionCommand.d.ts +37 -0
  32. package/dist-types/commands/ListMetricAttributionMetricsCommand.d.ts +37 -0
  33. package/dist-types/commands/ListMetricAttributionsCommand.d.ts +37 -0
  34. package/dist-types/commands/UpdateMetricAttributionCommand.d.ts +37 -0
  35. package/dist-types/commands/index.d.ts +6 -0
  36. package/dist-types/models/models_0.d.ts +295 -0
  37. package/dist-types/pagination/ListMetricAttributionMetricsPaginator.d.ts +4 -0
  38. package/dist-types/pagination/ListMetricAttributionsPaginator.d.ts +4 -0
  39. package/dist-types/pagination/index.d.ts +2 -0
  40. package/dist-types/protocols/Aws_json1_1.d.ts +18 -0
  41. package/dist-types/ts3.4/Personalize.d.ts +102 -0
  42. package/dist-types/ts3.4/PersonalizeClient.d.ts +36 -0
  43. package/dist-types/ts3.4/commands/CreateMetricAttributionCommand.d.ts +41 -0
  44. package/dist-types/ts3.4/commands/DeleteMetricAttributionCommand.d.ts +37 -0
  45. package/dist-types/ts3.4/commands/DescribeMetricAttributionCommand.d.ts +41 -0
  46. package/dist-types/ts3.4/commands/ListMetricAttributionMetricsCommand.d.ts +41 -0
  47. package/dist-types/ts3.4/commands/ListMetricAttributionsCommand.d.ts +41 -0
  48. package/dist-types/ts3.4/commands/UpdateMetricAttributionCommand.d.ts +41 -0
  49. package/dist-types/ts3.4/commands/index.d.ts +6 -0
  50. package/dist-types/ts3.4/models/models_0.d.ts +122 -0
  51. package/dist-types/ts3.4/pagination/ListMetricAttributionMetricsPaginator.d.ts +11 -0
  52. package/dist-types/ts3.4/pagination/ListMetricAttributionsPaginator.d.ts +11 -0
  53. package/dist-types/ts3.4/pagination/index.d.ts +2 -0
  54. package/dist-types/ts3.4/protocols/Aws_json1_1.d.ts +72 -0
  55. package/package.json +28 -28
@@ -83,6 +83,15 @@ export const serializeAws_json1_1CreateFilterCommand = async (input, context) =>
83
83
  body = JSON.stringify(serializeAws_json1_1CreateFilterRequest(input, context));
84
84
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
85
85
  };
86
+ export const serializeAws_json1_1CreateMetricAttributionCommand = async (input, context) => {
87
+ const headers = {
88
+ "content-type": "application/x-amz-json-1.1",
89
+ "x-amz-target": "AmazonPersonalize.CreateMetricAttribution",
90
+ };
91
+ let body;
92
+ body = JSON.stringify(serializeAws_json1_1CreateMetricAttributionRequest(input, context));
93
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
94
+ };
86
95
  export const serializeAws_json1_1CreateRecommenderCommand = async (input, context) => {
87
96
  const headers = {
88
97
  "content-type": "application/x-amz-json-1.1",
@@ -164,6 +173,15 @@ export const serializeAws_json1_1DeleteFilterCommand = async (input, context) =>
164
173
  body = JSON.stringify(serializeAws_json1_1DeleteFilterRequest(input, context));
165
174
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
166
175
  };
176
+ export const serializeAws_json1_1DeleteMetricAttributionCommand = async (input, context) => {
177
+ const headers = {
178
+ "content-type": "application/x-amz-json-1.1",
179
+ "x-amz-target": "AmazonPersonalize.DeleteMetricAttribution",
180
+ };
181
+ let body;
182
+ body = JSON.stringify(serializeAws_json1_1DeleteMetricAttributionRequest(input, context));
183
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
184
+ };
167
185
  export const serializeAws_json1_1DeleteRecommenderCommand = async (input, context) => {
168
186
  const headers = {
169
187
  "content-type": "application/x-amz-json-1.1",
@@ -290,6 +308,15 @@ export const serializeAws_json1_1DescribeFilterCommand = async (input, context)
290
308
  body = JSON.stringify(serializeAws_json1_1DescribeFilterRequest(input, context));
291
309
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
292
310
  };
311
+ export const serializeAws_json1_1DescribeMetricAttributionCommand = async (input, context) => {
312
+ const headers = {
313
+ "content-type": "application/x-amz-json-1.1",
314
+ "x-amz-target": "AmazonPersonalize.DescribeMetricAttribution",
315
+ };
316
+ let body;
317
+ body = JSON.stringify(serializeAws_json1_1DescribeMetricAttributionRequest(input, context));
318
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
319
+ };
293
320
  export const serializeAws_json1_1DescribeRecipeCommand = async (input, context) => {
294
321
  const headers = {
295
322
  "content-type": "application/x-amz-json-1.1",
@@ -425,6 +452,24 @@ export const serializeAws_json1_1ListFiltersCommand = async (input, context) =>
425
452
  body = JSON.stringify(serializeAws_json1_1ListFiltersRequest(input, context));
426
453
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
427
454
  };
455
+ export const serializeAws_json1_1ListMetricAttributionMetricsCommand = async (input, context) => {
456
+ const headers = {
457
+ "content-type": "application/x-amz-json-1.1",
458
+ "x-amz-target": "AmazonPersonalize.ListMetricAttributionMetrics",
459
+ };
460
+ let body;
461
+ body = JSON.stringify(serializeAws_json1_1ListMetricAttributionMetricsRequest(input, context));
462
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
463
+ };
464
+ export const serializeAws_json1_1ListMetricAttributionsCommand = async (input, context) => {
465
+ const headers = {
466
+ "content-type": "application/x-amz-json-1.1",
467
+ "x-amz-target": "AmazonPersonalize.ListMetricAttributions",
468
+ };
469
+ let body;
470
+ body = JSON.stringify(serializeAws_json1_1ListMetricAttributionsRequest(input, context));
471
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
472
+ };
428
473
  export const serializeAws_json1_1ListRecipesCommand = async (input, context) => {
429
474
  const headers = {
430
475
  "content-type": "application/x-amz-json-1.1",
@@ -533,6 +578,15 @@ export const serializeAws_json1_1UpdateCampaignCommand = async (input, context)
533
578
  body = JSON.stringify(serializeAws_json1_1UpdateCampaignRequest(input, context));
534
579
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
535
580
  };
581
+ export const serializeAws_json1_1UpdateMetricAttributionCommand = async (input, context) => {
582
+ const headers = {
583
+ "content-type": "application/x-amz-json-1.1",
584
+ "x-amz-target": "AmazonPersonalize.UpdateMetricAttribution",
585
+ };
586
+ let body;
587
+ body = JSON.stringify(serializeAws_json1_1UpdateMetricAttributionRequest(input, context));
588
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
589
+ };
536
590
  export const serializeAws_json1_1UpdateRecommenderCommand = async (input, context) => {
537
591
  const headers = {
538
592
  "content-type": "application/x-amz-json-1.1",
@@ -965,6 +1019,51 @@ const deserializeAws_json1_1CreateFilterCommandError = async (output, context) =
965
1019
  });
966
1020
  }
967
1021
  };
1022
+ export const deserializeAws_json1_1CreateMetricAttributionCommand = async (output, context) => {
1023
+ if (output.statusCode >= 300) {
1024
+ return deserializeAws_json1_1CreateMetricAttributionCommandError(output, context);
1025
+ }
1026
+ const data = await parseBody(output.body, context);
1027
+ let contents = {};
1028
+ contents = deserializeAws_json1_1CreateMetricAttributionResponse(data, context);
1029
+ const response = {
1030
+ $metadata: deserializeMetadata(output),
1031
+ ...contents,
1032
+ };
1033
+ return Promise.resolve(response);
1034
+ };
1035
+ const deserializeAws_json1_1CreateMetricAttributionCommandError = async (output, context) => {
1036
+ const parsedOutput = {
1037
+ ...output,
1038
+ body: await parseErrorBody(output.body, context),
1039
+ };
1040
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1041
+ switch (errorCode) {
1042
+ case "InvalidInputException":
1043
+ case "com.amazonaws.personalize#InvalidInputException":
1044
+ throw await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context);
1045
+ case "LimitExceededException":
1046
+ case "com.amazonaws.personalize#LimitExceededException":
1047
+ throw await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context);
1048
+ case "ResourceAlreadyExistsException":
1049
+ case "com.amazonaws.personalize#ResourceAlreadyExistsException":
1050
+ throw await deserializeAws_json1_1ResourceAlreadyExistsExceptionResponse(parsedOutput, context);
1051
+ case "ResourceInUseException":
1052
+ case "com.amazonaws.personalize#ResourceInUseException":
1053
+ throw await deserializeAws_json1_1ResourceInUseExceptionResponse(parsedOutput, context);
1054
+ case "ResourceNotFoundException":
1055
+ case "com.amazonaws.personalize#ResourceNotFoundException":
1056
+ throw await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context);
1057
+ default:
1058
+ const parsedBody = parsedOutput.body;
1059
+ throwDefaultError({
1060
+ output,
1061
+ parsedBody,
1062
+ exceptionCtor: __BaseException,
1063
+ errorCode,
1064
+ });
1065
+ }
1066
+ };
968
1067
  export const deserializeAws_json1_1CreateRecommenderCommand = async (output, context) => {
969
1068
  if (output.statusCode >= 300) {
970
1069
  return deserializeAws_json1_1CreateRecommenderCommandError(output, context);
@@ -1126,6 +1225,9 @@ const deserializeAws_json1_1CreateSolutionVersionCommandError = async (output, c
1126
1225
  case "LimitExceededException":
1127
1226
  case "com.amazonaws.personalize#LimitExceededException":
1128
1227
  throw await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context);
1228
+ case "ResourceAlreadyExistsException":
1229
+ case "com.amazonaws.personalize#ResourceAlreadyExistsException":
1230
+ throw await deserializeAws_json1_1ResourceAlreadyExistsExceptionResponse(parsedOutput, context);
1129
1231
  case "ResourceInUseException":
1130
1232
  case "com.amazonaws.personalize#ResourceInUseException":
1131
1233
  throw await deserializeAws_json1_1ResourceInUseExceptionResponse(parsedOutput, context);
@@ -1325,6 +1427,42 @@ const deserializeAws_json1_1DeleteFilterCommandError = async (output, context) =
1325
1427
  });
1326
1428
  }
1327
1429
  };
1430
+ export const deserializeAws_json1_1DeleteMetricAttributionCommand = async (output, context) => {
1431
+ if (output.statusCode >= 300) {
1432
+ return deserializeAws_json1_1DeleteMetricAttributionCommandError(output, context);
1433
+ }
1434
+ await collectBody(output.body, context);
1435
+ const response = {
1436
+ $metadata: deserializeMetadata(output),
1437
+ };
1438
+ return Promise.resolve(response);
1439
+ };
1440
+ const deserializeAws_json1_1DeleteMetricAttributionCommandError = async (output, context) => {
1441
+ const parsedOutput = {
1442
+ ...output,
1443
+ body: await parseErrorBody(output.body, context),
1444
+ };
1445
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1446
+ switch (errorCode) {
1447
+ case "InvalidInputException":
1448
+ case "com.amazonaws.personalize#InvalidInputException":
1449
+ throw await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context);
1450
+ case "ResourceInUseException":
1451
+ case "com.amazonaws.personalize#ResourceInUseException":
1452
+ throw await deserializeAws_json1_1ResourceInUseExceptionResponse(parsedOutput, context);
1453
+ case "ResourceNotFoundException":
1454
+ case "com.amazonaws.personalize#ResourceNotFoundException":
1455
+ throw await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context);
1456
+ default:
1457
+ const parsedBody = parsedOutput.body;
1458
+ throwDefaultError({
1459
+ output,
1460
+ parsedBody,
1461
+ exceptionCtor: __BaseException,
1462
+ errorCode,
1463
+ });
1464
+ }
1465
+ };
1328
1466
  export const deserializeAws_json1_1DeleteRecommenderCommand = async (output, context) => {
1329
1467
  if (output.statusCode >= 300) {
1330
1468
  return deserializeAws_json1_1DeleteRecommenderCommandError(output, context);
@@ -1829,6 +1967,42 @@ const deserializeAws_json1_1DescribeFilterCommandError = async (output, context)
1829
1967
  });
1830
1968
  }
1831
1969
  };
1970
+ export const deserializeAws_json1_1DescribeMetricAttributionCommand = async (output, context) => {
1971
+ if (output.statusCode >= 300) {
1972
+ return deserializeAws_json1_1DescribeMetricAttributionCommandError(output, context);
1973
+ }
1974
+ const data = await parseBody(output.body, context);
1975
+ let contents = {};
1976
+ contents = deserializeAws_json1_1DescribeMetricAttributionResponse(data, context);
1977
+ const response = {
1978
+ $metadata: deserializeMetadata(output),
1979
+ ...contents,
1980
+ };
1981
+ return Promise.resolve(response);
1982
+ };
1983
+ const deserializeAws_json1_1DescribeMetricAttributionCommandError = async (output, context) => {
1984
+ const parsedOutput = {
1985
+ ...output,
1986
+ body: await parseErrorBody(output.body, context),
1987
+ };
1988
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1989
+ switch (errorCode) {
1990
+ case "InvalidInputException":
1991
+ case "com.amazonaws.personalize#InvalidInputException":
1992
+ throw await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context);
1993
+ case "ResourceNotFoundException":
1994
+ case "com.amazonaws.personalize#ResourceNotFoundException":
1995
+ throw await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context);
1996
+ default:
1997
+ const parsedBody = parsedOutput.body;
1998
+ throwDefaultError({
1999
+ output,
2000
+ parsedBody,
2001
+ exceptionCtor: __BaseException,
2002
+ errorCode,
2003
+ });
2004
+ }
2005
+ };
1832
2006
  export const deserializeAws_json1_1DescribeRecipeCommand = async (output, context) => {
1833
2007
  if (output.statusCode >= 300) {
1834
2008
  return deserializeAws_json1_1DescribeRecipeCommandError(output, context);
@@ -2369,6 +2543,78 @@ const deserializeAws_json1_1ListFiltersCommandError = async (output, context) =>
2369
2543
  });
2370
2544
  }
2371
2545
  };
2546
+ export const deserializeAws_json1_1ListMetricAttributionMetricsCommand = async (output, context) => {
2547
+ if (output.statusCode >= 300) {
2548
+ return deserializeAws_json1_1ListMetricAttributionMetricsCommandError(output, context);
2549
+ }
2550
+ const data = await parseBody(output.body, context);
2551
+ let contents = {};
2552
+ contents = deserializeAws_json1_1ListMetricAttributionMetricsResponse(data, context);
2553
+ const response = {
2554
+ $metadata: deserializeMetadata(output),
2555
+ ...contents,
2556
+ };
2557
+ return Promise.resolve(response);
2558
+ };
2559
+ const deserializeAws_json1_1ListMetricAttributionMetricsCommandError = async (output, context) => {
2560
+ const parsedOutput = {
2561
+ ...output,
2562
+ body: await parseErrorBody(output.body, context),
2563
+ };
2564
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
2565
+ switch (errorCode) {
2566
+ case "InvalidInputException":
2567
+ case "com.amazonaws.personalize#InvalidInputException":
2568
+ throw await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context);
2569
+ case "InvalidNextTokenException":
2570
+ case "com.amazonaws.personalize#InvalidNextTokenException":
2571
+ throw await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context);
2572
+ default:
2573
+ const parsedBody = parsedOutput.body;
2574
+ throwDefaultError({
2575
+ output,
2576
+ parsedBody,
2577
+ exceptionCtor: __BaseException,
2578
+ errorCode,
2579
+ });
2580
+ }
2581
+ };
2582
+ export const deserializeAws_json1_1ListMetricAttributionsCommand = async (output, context) => {
2583
+ if (output.statusCode >= 300) {
2584
+ return deserializeAws_json1_1ListMetricAttributionsCommandError(output, context);
2585
+ }
2586
+ const data = await parseBody(output.body, context);
2587
+ let contents = {};
2588
+ contents = deserializeAws_json1_1ListMetricAttributionsResponse(data, context);
2589
+ const response = {
2590
+ $metadata: deserializeMetadata(output),
2591
+ ...contents,
2592
+ };
2593
+ return Promise.resolve(response);
2594
+ };
2595
+ const deserializeAws_json1_1ListMetricAttributionsCommandError = async (output, context) => {
2596
+ const parsedOutput = {
2597
+ ...output,
2598
+ body: await parseErrorBody(output.body, context),
2599
+ };
2600
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
2601
+ switch (errorCode) {
2602
+ case "InvalidInputException":
2603
+ case "com.amazonaws.personalize#InvalidInputException":
2604
+ throw await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context);
2605
+ case "InvalidNextTokenException":
2606
+ case "com.amazonaws.personalize#InvalidNextTokenException":
2607
+ throw await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context);
2608
+ default:
2609
+ const parsedBody = parsedOutput.body;
2610
+ throwDefaultError({
2611
+ output,
2612
+ parsedBody,
2613
+ exceptionCtor: __BaseException,
2614
+ errorCode,
2615
+ });
2616
+ }
2617
+ };
2372
2618
  export const deserializeAws_json1_1ListRecipesCommand = async (output, context) => {
2373
2619
  if (output.statusCode >= 300) {
2374
2620
  return deserializeAws_json1_1ListRecipesCommandError(output, context);
@@ -2828,6 +3074,48 @@ const deserializeAws_json1_1UpdateCampaignCommandError = async (output, context)
2828
3074
  });
2829
3075
  }
2830
3076
  };
3077
+ export const deserializeAws_json1_1UpdateMetricAttributionCommand = async (output, context) => {
3078
+ if (output.statusCode >= 300) {
3079
+ return deserializeAws_json1_1UpdateMetricAttributionCommandError(output, context);
3080
+ }
3081
+ const data = await parseBody(output.body, context);
3082
+ let contents = {};
3083
+ contents = deserializeAws_json1_1UpdateMetricAttributionResponse(data, context);
3084
+ const response = {
3085
+ $metadata: deserializeMetadata(output),
3086
+ ...contents,
3087
+ };
3088
+ return Promise.resolve(response);
3089
+ };
3090
+ const deserializeAws_json1_1UpdateMetricAttributionCommandError = async (output, context) => {
3091
+ const parsedOutput = {
3092
+ ...output,
3093
+ body: await parseErrorBody(output.body, context),
3094
+ };
3095
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
3096
+ switch (errorCode) {
3097
+ case "InvalidInputException":
3098
+ case "com.amazonaws.personalize#InvalidInputException":
3099
+ throw await deserializeAws_json1_1InvalidInputExceptionResponse(parsedOutput, context);
3100
+ case "ResourceAlreadyExistsException":
3101
+ case "com.amazonaws.personalize#ResourceAlreadyExistsException":
3102
+ throw await deserializeAws_json1_1ResourceAlreadyExistsExceptionResponse(parsedOutput, context);
3103
+ case "ResourceInUseException":
3104
+ case "com.amazonaws.personalize#ResourceInUseException":
3105
+ throw await deserializeAws_json1_1ResourceInUseExceptionResponse(parsedOutput, context);
3106
+ case "ResourceNotFoundException":
3107
+ case "com.amazonaws.personalize#ResourceNotFoundException":
3108
+ throw await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context);
3109
+ default:
3110
+ const parsedBody = parsedOutput.body;
3111
+ throwDefaultError({
3112
+ output,
3113
+ parsedBody,
3114
+ exceptionCtor: __BaseException,
3115
+ errorCode,
3116
+ });
3117
+ }
3118
+ };
2831
3119
  export const deserializeAws_json1_1UpdateRecommenderCommand = async (output, context) => {
2832
3120
  if (output.statusCode >= 300) {
2833
3121
  return deserializeAws_json1_1UpdateRecommenderCommandError(output, context);
@@ -3089,6 +3377,9 @@ const serializeAws_json1_1CreateDatasetImportJobRequest = (input, context) => {
3089
3377
  ...(input.datasetArn != null && { datasetArn: input.datasetArn }),
3090
3378
  ...(input.importMode != null && { importMode: input.importMode }),
3091
3379
  ...(input.jobName != null && { jobName: input.jobName }),
3380
+ ...(input.publishAttributionMetricsToS3 != null && {
3381
+ publishAttributionMetricsToS3: input.publishAttributionMetricsToS3,
3382
+ }),
3092
3383
  ...(input.roleArn != null && { roleArn: input.roleArn }),
3093
3384
  ...(input.tags != null && { tags: serializeAws_json1_1Tags(input.tags, context) }),
3094
3385
  };
@@ -3117,6 +3408,16 @@ const serializeAws_json1_1CreateFilterRequest = (input, context) => {
3117
3408
  ...(input.tags != null && { tags: serializeAws_json1_1Tags(input.tags, context) }),
3118
3409
  };
3119
3410
  };
3411
+ const serializeAws_json1_1CreateMetricAttributionRequest = (input, context) => {
3412
+ return {
3413
+ ...(input.datasetGroupArn != null && { datasetGroupArn: input.datasetGroupArn }),
3414
+ ...(input.metrics != null && { metrics: serializeAws_json1_1MetricAttributes(input.metrics, context) }),
3415
+ ...(input.metricsOutputConfig != null && {
3416
+ metricsOutputConfig: serializeAws_json1_1MetricAttributionOutput(input.metricsOutputConfig, context),
3417
+ }),
3418
+ ...(input.name != null && { name: input.name }),
3419
+ };
3420
+ };
3120
3421
  const serializeAws_json1_1CreateRecommenderRequest = (input, context) => {
3121
3422
  return {
3122
3423
  ...(input.datasetGroupArn != null && { datasetGroupArn: input.datasetGroupArn }),
@@ -3151,6 +3452,7 @@ const serializeAws_json1_1CreateSolutionRequest = (input, context) => {
3151
3452
  };
3152
3453
  const serializeAws_json1_1CreateSolutionVersionRequest = (input, context) => {
3153
3454
  return {
3455
+ ...(input.name != null && { name: input.name }),
3154
3456
  ...(input.solutionArn != null && { solutionArn: input.solutionArn }),
3155
3457
  ...(input.tags != null && { tags: serializeAws_json1_1Tags(input.tags, context) }),
3156
3458
  ...(input.trainingMode != null && { trainingMode: input.trainingMode }),
@@ -3193,6 +3495,11 @@ const serializeAws_json1_1DeleteFilterRequest = (input, context) => {
3193
3495
  ...(input.filterArn != null && { filterArn: input.filterArn }),
3194
3496
  };
3195
3497
  };
3498
+ const serializeAws_json1_1DeleteMetricAttributionRequest = (input, context) => {
3499
+ return {
3500
+ ...(input.metricAttributionArn != null && { metricAttributionArn: input.metricAttributionArn }),
3501
+ };
3502
+ };
3196
3503
  const serializeAws_json1_1DeleteRecommenderRequest = (input, context) => {
3197
3504
  return {
3198
3505
  ...(input.recommenderArn != null && { recommenderArn: input.recommenderArn }),
@@ -3263,6 +3570,11 @@ const serializeAws_json1_1DescribeFilterRequest = (input, context) => {
3263
3570
  ...(input.filterArn != null && { filterArn: input.filterArn }),
3264
3571
  };
3265
3572
  };
3573
+ const serializeAws_json1_1DescribeMetricAttributionRequest = (input, context) => {
3574
+ return {
3575
+ ...(input.metricAttributionArn != null && { metricAttributionArn: input.metricAttributionArn }),
3576
+ };
3577
+ };
3266
3578
  const serializeAws_json1_1DescribeRecipeRequest = (input, context) => {
3267
3579
  return {
3268
3580
  ...(input.recipeArn != null && { recipeArn: input.recipeArn }),
@@ -3293,10 +3605,8 @@ const serializeAws_json1_1FeatureTransformationParameters = (input, context) =>
3293
3605
  if (value === null) {
3294
3606
  return acc;
3295
3607
  }
3296
- return {
3297
- ...acc,
3298
- [key]: value,
3299
- };
3608
+ acc[key] = value;
3609
+ return acc;
3300
3610
  }, {});
3301
3611
  };
3302
3612
  const serializeAws_json1_1GetSolutionMetricsRequest = (input, context) => {
@@ -3346,10 +3656,8 @@ const serializeAws_json1_1HyperParameters = (input, context) => {
3346
3656
  if (value === null) {
3347
3657
  return acc;
3348
3658
  }
3349
- return {
3350
- ...acc,
3351
- [key]: value,
3352
- };
3659
+ acc[key] = value;
3660
+ return acc;
3353
3661
  }, {});
3354
3662
  };
3355
3663
  const serializeAws_json1_1IntegerHyperParameterRange = (input, context) => {
@@ -3428,6 +3736,20 @@ const serializeAws_json1_1ListFiltersRequest = (input, context) => {
3428
3736
  ...(input.nextToken != null && { nextToken: input.nextToken }),
3429
3737
  };
3430
3738
  };
3739
+ const serializeAws_json1_1ListMetricAttributionMetricsRequest = (input, context) => {
3740
+ return {
3741
+ ...(input.maxResults != null && { maxResults: input.maxResults }),
3742
+ ...(input.metricAttributionArn != null && { metricAttributionArn: input.metricAttributionArn }),
3743
+ ...(input.nextToken != null && { nextToken: input.nextToken }),
3744
+ };
3745
+ };
3746
+ const serializeAws_json1_1ListMetricAttributionsRequest = (input, context) => {
3747
+ return {
3748
+ ...(input.datasetGroupArn != null && { datasetGroupArn: input.datasetGroupArn }),
3749
+ ...(input.maxResults != null && { maxResults: input.maxResults }),
3750
+ ...(input.nextToken != null && { nextToken: input.nextToken }),
3751
+ };
3752
+ };
3431
3753
  const serializeAws_json1_1ListRecipesRequest = (input, context) => {
3432
3754
  return {
3433
3755
  ...(input.domain != null && { domain: input.domain }),
@@ -3468,6 +3790,35 @@ const serializeAws_json1_1ListTagsForResourceRequest = (input, context) => {
3468
3790
  ...(input.resourceArn != null && { resourceArn: input.resourceArn }),
3469
3791
  };
3470
3792
  };
3793
+ const serializeAws_json1_1MetricAttribute = (input, context) => {
3794
+ return {
3795
+ ...(input.eventType != null && { eventType: input.eventType }),
3796
+ ...(input.expression != null && { expression: input.expression }),
3797
+ ...(input.metricName != null && { metricName: input.metricName }),
3798
+ };
3799
+ };
3800
+ const serializeAws_json1_1MetricAttributes = (input, context) => {
3801
+ return input
3802
+ .filter((e) => e != null)
3803
+ .map((entry) => {
3804
+ return serializeAws_json1_1MetricAttribute(entry, context);
3805
+ });
3806
+ };
3807
+ const serializeAws_json1_1MetricAttributesNamesList = (input, context) => {
3808
+ return input
3809
+ .filter((e) => e != null)
3810
+ .map((entry) => {
3811
+ return entry;
3812
+ });
3813
+ };
3814
+ const serializeAws_json1_1MetricAttributionOutput = (input, context) => {
3815
+ return {
3816
+ ...(input.roleArn != null && { roleArn: input.roleArn }),
3817
+ ...(input.s3DataDestination != null && {
3818
+ s3DataDestination: serializeAws_json1_1S3DataConfig(input.s3DataDestination, context),
3819
+ }),
3820
+ };
3821
+ };
3471
3822
  const serializeAws_json1_1OptimizationObjective = (input, context) => {
3472
3823
  return {
3473
3824
  ...(input.itemAttribute != null && { itemAttribute: input.itemAttribute }),
@@ -3563,6 +3914,18 @@ const serializeAws_json1_1UpdateCampaignRequest = (input, context) => {
3563
3914
  ...(input.solutionVersionArn != null && { solutionVersionArn: input.solutionVersionArn }),
3564
3915
  };
3565
3916
  };
3917
+ const serializeAws_json1_1UpdateMetricAttributionRequest = (input, context) => {
3918
+ return {
3919
+ ...(input.addMetrics != null && { addMetrics: serializeAws_json1_1MetricAttributes(input.addMetrics, context) }),
3920
+ ...(input.metricAttributionArn != null && { metricAttributionArn: input.metricAttributionArn }),
3921
+ ...(input.metricsOutputConfig != null && {
3922
+ metricsOutputConfig: serializeAws_json1_1MetricAttributionOutput(input.metricsOutputConfig, context),
3923
+ }),
3924
+ ...(input.removeMetrics != null && {
3925
+ removeMetrics: serializeAws_json1_1MetricAttributesNamesList(input.removeMetrics, context),
3926
+ }),
3927
+ };
3928
+ };
3566
3929
  const serializeAws_json1_1UpdateRecommenderRequest = (input, context) => {
3567
3930
  return {
3568
3931
  ...(input.recommenderArn != null && { recommenderArn: input.recommenderArn }),
@@ -3909,6 +4272,11 @@ const deserializeAws_json1_1CreateFilterResponse = (output, context) => {
3909
4272
  filterArn: __expectString(output.filterArn),
3910
4273
  };
3911
4274
  };
4275
+ const deserializeAws_json1_1CreateMetricAttributionResponse = (output, context) => {
4276
+ return {
4277
+ metricAttributionArn: __expectString(output.metricAttributionArn),
4278
+ };
4279
+ };
3912
4280
  const deserializeAws_json1_1CreateRecommenderResponse = (output, context) => {
3913
4281
  return {
3914
4282
  recommenderArn: __expectString(output.recommenderArn),
@@ -4052,6 +4420,7 @@ const deserializeAws_json1_1DatasetImportJob = (output, context) => {
4052
4420
  lastUpdatedDateTime: output.lastUpdatedDateTime != null
4053
4421
  ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.lastUpdatedDateTime)))
4054
4422
  : undefined,
4423
+ publishAttributionMetricsToS3: __expectBoolean(output.publishAttributionMetricsToS3),
4055
4424
  roleArn: __expectString(output.roleArn),
4056
4425
  status: __expectString(output.status),
4057
4426
  };
@@ -4273,6 +4642,13 @@ const deserializeAws_json1_1DescribeFilterResponse = (output, context) => {
4273
4642
  filter: output.filter != null ? deserializeAws_json1_1Filter(output.filter, context) : undefined,
4274
4643
  };
4275
4644
  };
4645
+ const deserializeAws_json1_1DescribeMetricAttributionResponse = (output, context) => {
4646
+ return {
4647
+ metricAttribution: output.metricAttribution != null
4648
+ ? deserializeAws_json1_1MetricAttribution(output.metricAttribution, context)
4649
+ : undefined,
4650
+ };
4651
+ };
4276
4652
  const deserializeAws_json1_1DescribeRecipeResponse = (output, context) => {
4277
4653
  return {
4278
4654
  recipe: output.recipe != null ? deserializeAws_json1_1Recipe(output.recipe, context) : undefined,
@@ -4361,10 +4737,8 @@ const deserializeAws_json1_1FeatureTransformationParameters = (output, context)
4361
4737
  if (value === null) {
4362
4738
  return acc;
4363
4739
  }
4364
- return {
4365
- ...acc,
4366
- [key]: __expectString(value),
4367
- };
4740
+ acc[key] = __expectString(value);
4741
+ return acc;
4368
4742
  }, {});
4369
4743
  };
4370
4744
  const deserializeAws_json1_1FeaturizationParameters = (output, context) => {
@@ -4372,10 +4746,8 @@ const deserializeAws_json1_1FeaturizationParameters = (output, context) => {
4372
4746
  if (value === null) {
4373
4747
  return acc;
4374
4748
  }
4375
- return {
4376
- ...acc,
4377
- [key]: __expectString(value),
4378
- };
4749
+ acc[key] = __expectString(value);
4750
+ return acc;
4379
4751
  }, {});
4380
4752
  };
4381
4753
  const deserializeAws_json1_1Filter = (output, context) => {
@@ -4468,10 +4840,8 @@ const deserializeAws_json1_1HyperParameters = (output, context) => {
4468
4840
  if (value === null) {
4469
4841
  return acc;
4470
4842
  }
4471
- return {
4472
- ...acc,
4473
- [key]: __expectString(value),
4474
- };
4843
+ acc[key] = __expectString(value);
4844
+ return acc;
4475
4845
  }, {});
4476
4846
  };
4477
4847
  const deserializeAws_json1_1IntegerHyperParameterRange = (output, context) => {
@@ -4569,6 +4939,20 @@ const deserializeAws_json1_1ListFiltersResponse = (output, context) => {
4569
4939
  nextToken: __expectString(output.nextToken),
4570
4940
  };
4571
4941
  };
4942
+ const deserializeAws_json1_1ListMetricAttributionMetricsResponse = (output, context) => {
4943
+ return {
4944
+ metrics: output.metrics != null ? deserializeAws_json1_1MetricAttributes(output.metrics, context) : undefined,
4945
+ nextToken: __expectString(output.nextToken),
4946
+ };
4947
+ };
4948
+ const deserializeAws_json1_1ListMetricAttributionsResponse = (output, context) => {
4949
+ return {
4950
+ metricAttributions: output.metricAttributions != null
4951
+ ? deserializeAws_json1_1MetricAttributions(output.metricAttributions, context)
4952
+ : undefined,
4953
+ nextToken: __expectString(output.nextToken),
4954
+ };
4955
+ };
4572
4956
  const deserializeAws_json1_1ListRecipesResponse = (output, context) => {
4573
4957
  return {
4574
4958
  nextToken: __expectString(output.nextToken),
@@ -4606,15 +4990,82 @@ const deserializeAws_json1_1ListTagsForResourceResponse = (output, context) => {
4606
4990
  tags: output.tags != null ? deserializeAws_json1_1Tags(output.tags, context) : undefined,
4607
4991
  };
4608
4992
  };
4993
+ const deserializeAws_json1_1MetricAttribute = (output, context) => {
4994
+ return {
4995
+ eventType: __expectString(output.eventType),
4996
+ expression: __expectString(output.expression),
4997
+ metricName: __expectString(output.metricName),
4998
+ };
4999
+ };
5000
+ const deserializeAws_json1_1MetricAttributes = (output, context) => {
5001
+ const retVal = (output || [])
5002
+ .filter((e) => e != null)
5003
+ .map((entry) => {
5004
+ if (entry === null) {
5005
+ return null;
5006
+ }
5007
+ return deserializeAws_json1_1MetricAttribute(entry, context);
5008
+ });
5009
+ return retVal;
5010
+ };
5011
+ const deserializeAws_json1_1MetricAttribution = (output, context) => {
5012
+ return {
5013
+ creationDateTime: output.creationDateTime != null
5014
+ ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.creationDateTime)))
5015
+ : undefined,
5016
+ datasetGroupArn: __expectString(output.datasetGroupArn),
5017
+ failureReason: __expectString(output.failureReason),
5018
+ lastUpdatedDateTime: output.lastUpdatedDateTime != null
5019
+ ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.lastUpdatedDateTime)))
5020
+ : undefined,
5021
+ metricAttributionArn: __expectString(output.metricAttributionArn),
5022
+ metricsOutputConfig: output.metricsOutputConfig != null
5023
+ ? deserializeAws_json1_1MetricAttributionOutput(output.metricsOutputConfig, context)
5024
+ : undefined,
5025
+ name: __expectString(output.name),
5026
+ status: __expectString(output.status),
5027
+ };
5028
+ };
5029
+ const deserializeAws_json1_1MetricAttributionOutput = (output, context) => {
5030
+ return {
5031
+ roleArn: __expectString(output.roleArn),
5032
+ s3DataDestination: output.s3DataDestination != null
5033
+ ? deserializeAws_json1_1S3DataConfig(output.s3DataDestination, context)
5034
+ : undefined,
5035
+ };
5036
+ };
5037
+ const deserializeAws_json1_1MetricAttributions = (output, context) => {
5038
+ const retVal = (output || [])
5039
+ .filter((e) => e != null)
5040
+ .map((entry) => {
5041
+ if (entry === null) {
5042
+ return null;
5043
+ }
5044
+ return deserializeAws_json1_1MetricAttributionSummary(entry, context);
5045
+ });
5046
+ return retVal;
5047
+ };
5048
+ const deserializeAws_json1_1MetricAttributionSummary = (output, context) => {
5049
+ return {
5050
+ creationDateTime: output.creationDateTime != null
5051
+ ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.creationDateTime)))
5052
+ : undefined,
5053
+ failureReason: __expectString(output.failureReason),
5054
+ lastUpdatedDateTime: output.lastUpdatedDateTime != null
5055
+ ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.lastUpdatedDateTime)))
5056
+ : undefined,
5057
+ metricAttributionArn: __expectString(output.metricAttributionArn),
5058
+ name: __expectString(output.name),
5059
+ status: __expectString(output.status),
5060
+ };
5061
+ };
4609
5062
  const deserializeAws_json1_1Metrics = (output, context) => {
4610
5063
  return Object.entries(output).reduce((acc, [key, value]) => {
4611
5064
  if (value === null) {
4612
5065
  return acc;
4613
5066
  }
4614
- return {
4615
- ...acc,
4616
- [key]: __limitedParseDouble(value),
4617
- };
5067
+ acc[key] = __limitedParseDouble(value);
5068
+ return acc;
4618
5069
  }, {});
4619
5070
  };
4620
5071
  const deserializeAws_json1_1OptimizationObjective = (output, context) => {
@@ -4750,10 +5201,8 @@ const deserializeAws_json1_1ResourceConfig = (output, context) => {
4750
5201
  if (value === null) {
4751
5202
  return acc;
4752
5203
  }
4753
- return {
4754
- ...acc,
4755
- [key]: __expectString(value),
4756
- };
5204
+ acc[key] = __expectString(value);
5205
+ return acc;
4757
5206
  }, {});
4758
5207
  };
4759
5208
  const deserializeAws_json1_1ResourceInUseException = (output, context) => {
@@ -4842,6 +5291,7 @@ const deserializeAws_json1_1SolutionSummary = (output, context) => {
4842
5291
  ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.lastUpdatedDateTime)))
4843
5292
  : undefined,
4844
5293
  name: __expectString(output.name),
5294
+ recipeArn: __expectString(output.recipeArn),
4845
5295
  solutionArn: __expectString(output.solutionArn),
4846
5296
  status: __expectString(output.status),
4847
5297
  };
@@ -4857,6 +5307,7 @@ const deserializeAws_json1_1SolutionVersion = (output, context) => {
4857
5307
  lastUpdatedDateTime: output.lastUpdatedDateTime != null
4858
5308
  ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.lastUpdatedDateTime)))
4859
5309
  : undefined,
5310
+ name: __expectString(output.name),
4860
5311
  performAutoML: __expectBoolean(output.performAutoML),
4861
5312
  performHPO: __expectBoolean(output.performHPO),
4862
5313
  recipeArn: __expectString(output.recipeArn),
@@ -4948,6 +5399,11 @@ const deserializeAws_json1_1UpdateCampaignResponse = (output, context) => {
4948
5399
  campaignArn: __expectString(output.campaignArn),
4949
5400
  };
4950
5401
  };
5402
+ const deserializeAws_json1_1UpdateMetricAttributionResponse = (output, context) => {
5403
+ return {
5404
+ metricAttributionArn: __expectString(output.metricAttributionArn),
5405
+ };
5406
+ };
4951
5407
  const deserializeAws_json1_1UpdateRecommenderResponse = (output, context) => {
4952
5408
  return {
4953
5409
  recommenderArn: __expectString(output.recommenderArn),