@aws-sdk/client-emr-serverless 3.241.0 → 3.245.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.
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ruleSet = void 0;
4
- const p = "required", q = "fn", r = "argv", s = "ref";
5
- const a = "PartitionResult", b = "tree", c = "error", d = "endpoint", e = { [p]: false, "type": "String" }, f = { [p]: true, "default": false, "type": "Boolean" }, g = { [s]: "Endpoint" }, h = { [q]: "booleanEquals", [r]: [{ [s]: "UseFIPS" }, true] }, i = { [q]: "booleanEquals", [r]: [{ [s]: "UseDualStack" }, true] }, j = {}, k = { [q]: "booleanEquals", [r]: [true, { [q]: "getAttr", [r]: [{ [s]: a }, "supportsFIPS"] }] }, l = { [q]: "booleanEquals", [r]: [true, { [q]: "getAttr", [r]: [{ [s]: a }, "supportsDualStack"] }] }, m = [g], n = [h], o = [i];
6
- const _data = { version: "1.0", parameters: { Region: e, UseDualStack: f, UseFIPS: f, Endpoint: e }, rules: [{ conditions: [{ [q]: "aws.partition", [r]: [{ [s]: "Region" }], assign: a }], type: b, rules: [{ conditions: [{ [q]: "isSet", [r]: m }, { [q]: "parseURL", [r]: m, assign: "url" }], type: b, rules: [{ conditions: n, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: c }, { type: b, rules: [{ conditions: o, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: c }, { endpoint: { url: g, properties: j, headers: j }, type: d }] }] }, { conditions: [h, i], type: b, rules: [{ conditions: [k, l], type: b, rules: [{ endpoint: { url: "https://emr-serverless-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: c }] }, { conditions: n, type: b, rules: [{ conditions: [k], type: b, rules: [{ type: b, rules: [{ endpoint: { url: "https://emr-serverless-fips.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] }, { error: "FIPS is enabled but this partition does not support FIPS", type: c }] }, { conditions: o, type: b, rules: [{ conditions: [l], type: b, rules: [{ endpoint: { url: "https://emr-serverless.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "DualStack is enabled but this partition does not support DualStack", type: c }] }, { endpoint: { url: "https://emr-serverless.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] };
4
+ const r = "fn", s = "argv", t = "ref";
5
+ const a = true, b = false, c = "String", d = "PartitionResult", e = "tree", f = "error", g = "endpoint", h = { "required": true, "default": false, "type": "Boolean" }, i = { [t]: "Endpoint" }, j = { [r]: "booleanEquals", [s]: [{ [t]: "UseFIPS" }, true] }, k = { [r]: "booleanEquals", [s]: [{ [t]: "UseDualStack" }, true] }, l = {}, m = { [r]: "booleanEquals", [s]: [true, { [r]: "getAttr", [s]: [{ [t]: d }, "supportsFIPS"] }] }, n = { [r]: "booleanEquals", [s]: [true, { [r]: "getAttr", [s]: [{ [t]: d }, "supportsDualStack"] }] }, o = [i], p = [j], q = [k];
6
+ const _data = { version: "1.0", parameters: { Region: { required: a, type: c }, UseDualStack: h, UseFIPS: h, Endpoint: { required: b, type: c } }, rules: [{ conditions: [{ [r]: "aws.partition", [s]: [{ [t]: "Region" }], assign: d }], type: e, rules: [{ conditions: [{ [r]: "isSet", [s]: o }, { [r]: "parseURL", [s]: o, assign: "url" }], type: e, rules: [{ conditions: p, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: f }, { type: e, rules: [{ conditions: q, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: f }, { endpoint: { url: i, properties: l, headers: l }, type: g }] }] }, { conditions: [j, k], type: e, rules: [{ conditions: [m, n], type: e, rules: [{ endpoint: { url: "https://emr-serverless-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: l, headers: l }, type: g }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: f }] }, { conditions: p, type: e, rules: [{ conditions: [m], type: e, rules: [{ type: e, rules: [{ endpoint: { url: "https://emr-serverless-fips.{Region}.{PartitionResult#dnsSuffix}", properties: l, headers: l }, type: g }] }] }, { error: "FIPS is enabled but this partition does not support FIPS", type: f }] }, { conditions: q, type: e, rules: [{ conditions: [n], type: e, rules: [{ endpoint: { url: "https://emr-serverless.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: l, headers: l }, type: g }] }, { error: "DualStack is enabled but this partition does not support DualStack", type: f }] }, { endpoint: { url: "https://emr-serverless.{Region}.{PartitionResult#dnsSuffix}", properties: l, headers: l }, type: g }] }] };
7
7
  exports.ruleSet = _data;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TagResourceRequestFilterSensitiveLog = exports.ListTagsForResourceResponseFilterSensitiveLog = exports.ListTagsForResourceRequestFilterSensitiveLog = exports.StartJobRunResponseFilterSensitiveLog = exports.ListJobRunsResponseFilterSensitiveLog = exports.JobRunSummaryFilterSensitiveLog = exports.ListJobRunsRequestFilterSensitiveLog = exports.TotalResourceUtilizationFilterSensitiveLog = exports.JobDriverFilterSensitiveLog = exports.SparkSubmitFilterSensitiveLog = exports.HiveFilterSensitiveLog = exports.MonitoringConfigurationFilterSensitiveLog = exports.S3MonitoringConfigurationFilterSensitiveLog = exports.ManagedPersistenceMonitoringConfigurationFilterSensitiveLog = exports.GetJobRunRequestFilterSensitiveLog = exports.GetDashboardForJobRunResponseFilterSensitiveLog = exports.GetDashboardForJobRunRequestFilterSensitiveLog = exports.CancelJobRunResponseFilterSensitiveLog = exports.CancelJobRunRequestFilterSensitiveLog = exports.UpdateApplicationResponseFilterSensitiveLog = exports.UpdateApplicationRequestFilterSensitiveLog = exports.StopApplicationResponseFilterSensitiveLog = exports.StopApplicationRequestFilterSensitiveLog = exports.StartApplicationResponseFilterSensitiveLog = exports.StartApplicationRequestFilterSensitiveLog = exports.ListApplicationsResponseFilterSensitiveLog = exports.ListApplicationsRequestFilterSensitiveLog = exports.GetApplicationResponseFilterSensitiveLog = exports.GetApplicationRequestFilterSensitiveLog = exports.DeleteApplicationResponseFilterSensitiveLog = exports.DeleteApplicationRequestFilterSensitiveLog = exports.CreateApplicationResponseFilterSensitiveLog = exports.CreateApplicationRequestFilterSensitiveLog = exports.ApplicationSummaryFilterSensitiveLog = exports.ApplicationFilterSensitiveLog = exports.NetworkConfigurationFilterSensitiveLog = exports.MaximumAllowedResourcesFilterSensitiveLog = exports.InitialCapacityConfigFilterSensitiveLog = exports.WorkerResourceConfigFilterSensitiveLog = exports.AutoStopConfigFilterSensitiveLog = exports.AutoStartConfigFilterSensitiveLog = exports.JobRunState = exports.JobDriver = exports.ServiceQuotaExceededException = exports.ResourceNotFoundException = exports.ValidationException = exports.InternalServerException = exports.ConflictException = exports.ApplicationState = exports.Architecture = void 0;
4
- exports.GetJobRunResponseFilterSensitiveLog = exports.StartJobRunRequestFilterSensitiveLog = exports.JobRunFilterSensitiveLog = exports.ConfigurationOverridesFilterSensitiveLog = exports.ConfigurationFilterSensitiveLog = exports.UntagResourceResponseFilterSensitiveLog = exports.UntagResourceRequestFilterSensitiveLog = exports.TagResourceResponseFilterSensitiveLog = void 0;
3
+ exports.ListJobRunsResponseFilterSensitiveLog = exports.JobRunSummaryFilterSensitiveLog = exports.ListJobRunsRequestFilterSensitiveLog = exports.TotalResourceUtilizationFilterSensitiveLog = exports.JobDriverFilterSensitiveLog = exports.SparkSubmitFilterSensitiveLog = exports.HiveFilterSensitiveLog = exports.MonitoringConfigurationFilterSensitiveLog = exports.S3MonitoringConfigurationFilterSensitiveLog = exports.ManagedPersistenceMonitoringConfigurationFilterSensitiveLog = exports.GetJobRunRequestFilterSensitiveLog = exports.GetDashboardForJobRunResponseFilterSensitiveLog = exports.GetDashboardForJobRunRequestFilterSensitiveLog = exports.CancelJobRunResponseFilterSensitiveLog = exports.CancelJobRunRequestFilterSensitiveLog = exports.UpdateApplicationResponseFilterSensitiveLog = exports.UpdateApplicationRequestFilterSensitiveLog = exports.StopApplicationResponseFilterSensitiveLog = exports.StopApplicationRequestFilterSensitiveLog = exports.StartApplicationResponseFilterSensitiveLog = exports.StartApplicationRequestFilterSensitiveLog = exports.ListApplicationsResponseFilterSensitiveLog = exports.ListApplicationsRequestFilterSensitiveLog = exports.GetApplicationResponseFilterSensitiveLog = exports.GetApplicationRequestFilterSensitiveLog = exports.DeleteApplicationResponseFilterSensitiveLog = exports.DeleteApplicationRequestFilterSensitiveLog = exports.CreateApplicationResponseFilterSensitiveLog = exports.CreateApplicationRequestFilterSensitiveLog = exports.WorkerTypeSpecificationInputFilterSensitiveLog = exports.ImageConfigurationInputFilterSensitiveLog = exports.ApplicationSummaryFilterSensitiveLog = exports.ApplicationFilterSensitiveLog = exports.WorkerTypeSpecificationFilterSensitiveLog = exports.NetworkConfigurationFilterSensitiveLog = exports.MaximumAllowedResourcesFilterSensitiveLog = exports.InitialCapacityConfigFilterSensitiveLog = exports.WorkerResourceConfigFilterSensitiveLog = exports.ImageConfigurationFilterSensitiveLog = exports.AutoStopConfigFilterSensitiveLog = exports.AutoStartConfigFilterSensitiveLog = exports.JobRunState = exports.JobDriver = exports.ServiceQuotaExceededException = exports.ValidationException = exports.ResourceNotFoundException = exports.InternalServerException = exports.ConflictException = exports.ApplicationState = exports.Architecture = void 0;
4
+ exports.GetJobRunResponseFilterSensitiveLog = exports.StartJobRunRequestFilterSensitiveLog = exports.JobRunFilterSensitiveLog = exports.ConfigurationOverridesFilterSensitiveLog = exports.ConfigurationFilterSensitiveLog = exports.UntagResourceResponseFilterSensitiveLog = exports.UntagResourceRequestFilterSensitiveLog = exports.TagResourceResponseFilterSensitiveLog = exports.TagResourceRequestFilterSensitiveLog = exports.ListTagsForResourceResponseFilterSensitiveLog = exports.ListTagsForResourceRequestFilterSensitiveLog = exports.StartJobRunResponseFilterSensitiveLog = void 0;
5
5
  const smithy_client_1 = require("@aws-sdk/smithy-client");
6
6
  const EMRServerlessServiceException_1 = require("./EMRServerlessServiceException");
7
7
  var Architecture;
@@ -45,32 +45,32 @@ class InternalServerException extends EMRServerlessServiceException_1.EMRServerl
45
45
  }
46
46
  }
47
47
  exports.InternalServerException = InternalServerException;
48
- class ValidationException extends EMRServerlessServiceException_1.EMRServerlessServiceException {
48
+ class ResourceNotFoundException extends EMRServerlessServiceException_1.EMRServerlessServiceException {
49
49
  constructor(opts) {
50
50
  super({
51
- name: "ValidationException",
51
+ name: "ResourceNotFoundException",
52
52
  $fault: "client",
53
53
  ...opts,
54
54
  });
55
- this.name = "ValidationException";
55
+ this.name = "ResourceNotFoundException";
56
56
  this.$fault = "client";
57
- Object.setPrototypeOf(this, ValidationException.prototype);
57
+ Object.setPrototypeOf(this, ResourceNotFoundException.prototype);
58
58
  }
59
59
  }
60
- exports.ValidationException = ValidationException;
61
- class ResourceNotFoundException extends EMRServerlessServiceException_1.EMRServerlessServiceException {
60
+ exports.ResourceNotFoundException = ResourceNotFoundException;
61
+ class ValidationException extends EMRServerlessServiceException_1.EMRServerlessServiceException {
62
62
  constructor(opts) {
63
63
  super({
64
- name: "ResourceNotFoundException",
64
+ name: "ValidationException",
65
65
  $fault: "client",
66
66
  ...opts,
67
67
  });
68
- this.name = "ResourceNotFoundException";
68
+ this.name = "ValidationException";
69
69
  this.$fault = "client";
70
- Object.setPrototypeOf(this, ResourceNotFoundException.prototype);
70
+ Object.setPrototypeOf(this, ValidationException.prototype);
71
71
  }
72
72
  }
73
- exports.ResourceNotFoundException = ResourceNotFoundException;
73
+ exports.ValidationException = ValidationException;
74
74
  class ServiceQuotaExceededException extends EMRServerlessServiceException_1.EMRServerlessServiceException {
75
75
  constructor(opts) {
76
76
  super({
@@ -113,6 +113,10 @@ const AutoStopConfigFilterSensitiveLog = (obj) => ({
113
113
  ...obj,
114
114
  });
115
115
  exports.AutoStopConfigFilterSensitiveLog = AutoStopConfigFilterSensitiveLog;
116
+ const ImageConfigurationFilterSensitiveLog = (obj) => ({
117
+ ...obj,
118
+ });
119
+ exports.ImageConfigurationFilterSensitiveLog = ImageConfigurationFilterSensitiveLog;
116
120
  const WorkerResourceConfigFilterSensitiveLog = (obj) => ({
117
121
  ...obj,
118
122
  });
@@ -129,6 +133,10 @@ const NetworkConfigurationFilterSensitiveLog = (obj) => ({
129
133
  ...obj,
130
134
  });
131
135
  exports.NetworkConfigurationFilterSensitiveLog = NetworkConfigurationFilterSensitiveLog;
136
+ const WorkerTypeSpecificationFilterSensitiveLog = (obj) => ({
137
+ ...obj,
138
+ });
139
+ exports.WorkerTypeSpecificationFilterSensitiveLog = WorkerTypeSpecificationFilterSensitiveLog;
132
140
  const ApplicationFilterSensitiveLog = (obj) => ({
133
141
  ...obj,
134
142
  });
@@ -137,6 +145,14 @@ const ApplicationSummaryFilterSensitiveLog = (obj) => ({
137
145
  ...obj,
138
146
  });
139
147
  exports.ApplicationSummaryFilterSensitiveLog = ApplicationSummaryFilterSensitiveLog;
148
+ const ImageConfigurationInputFilterSensitiveLog = (obj) => ({
149
+ ...obj,
150
+ });
151
+ exports.ImageConfigurationInputFilterSensitiveLog = ImageConfigurationInputFilterSensitiveLog;
152
+ const WorkerTypeSpecificationInputFilterSensitiveLog = (obj) => ({
153
+ ...obj,
154
+ });
155
+ exports.WorkerTypeSpecificationInputFilterSensitiveLog = WorkerTypeSpecificationInputFilterSensitiveLog;
140
156
  const CreateApplicationRequestFilterSensitiveLog = (obj) => ({
141
157
  ...obj,
142
158
  });
@@ -41,6 +41,9 @@ const serializeAws_restJson1CreateApplicationCommand = async (input, context) =>
41
41
  autoStopConfiguration: serializeAws_restJson1AutoStopConfig(input.autoStopConfiguration, context),
42
42
  }),
43
43
  clientToken: input.clientToken ?? (0, uuid_1.v4)(),
44
+ ...(input.imageConfiguration != null && {
45
+ imageConfiguration: serializeAws_restJson1ImageConfigurationInput(input.imageConfiguration, context),
46
+ }),
44
47
  ...(input.initialCapacity != null && {
45
48
  initialCapacity: serializeAws_restJson1InitialCapacityConfigMap(input.initialCapacity, context),
46
49
  }),
@@ -54,6 +57,9 @@ const serializeAws_restJson1CreateApplicationCommand = async (input, context) =>
54
57
  ...(input.releaseLabel != null && { releaseLabel: input.releaseLabel }),
55
58
  ...(input.tags != null && { tags: serializeAws_restJson1TagMap(input.tags, context) }),
56
59
  ...(input.type != null && { type: input.type }),
60
+ ...(input.workerTypeSpecifications != null && {
61
+ workerTypeSpecifications: serializeAws_restJson1WorkerTypeSpecificationInputMap(input.workerTypeSpecifications, context),
62
+ }),
57
63
  });
58
64
  return new protocol_http_1.HttpRequest({
59
65
  protocol,
@@ -335,6 +341,9 @@ const serializeAws_restJson1UpdateApplicationCommand = async (input, context) =>
335
341
  autoStopConfiguration: serializeAws_restJson1AutoStopConfig(input.autoStopConfiguration, context),
336
342
  }),
337
343
  clientToken: input.clientToken ?? (0, uuid_1.v4)(),
344
+ ...(input.imageConfiguration != null && {
345
+ imageConfiguration: serializeAws_restJson1ImageConfigurationInput(input.imageConfiguration, context),
346
+ }),
338
347
  ...(input.initialCapacity != null && {
339
348
  initialCapacity: serializeAws_restJson1InitialCapacityConfigMap(input.initialCapacity, context),
340
349
  }),
@@ -344,6 +353,9 @@ const serializeAws_restJson1UpdateApplicationCommand = async (input, context) =>
344
353
  ...(input.networkConfiguration != null && {
345
354
  networkConfiguration: serializeAws_restJson1NetworkConfiguration(input.networkConfiguration, context),
346
355
  }),
356
+ ...(input.workerTypeSpecifications != null && {
357
+ workerTypeSpecifications: serializeAws_restJson1WorkerTypeSpecificationInputMap(input.workerTypeSpecifications, context),
358
+ }),
347
359
  });
348
360
  return new protocol_http_1.HttpRequest({
349
361
  protocol,
@@ -432,6 +444,9 @@ const deserializeAws_restJson1CreateApplicationCommandError = async (output, con
432
444
  case "InternalServerException":
433
445
  case "com.amazonaws.emrserverless#InternalServerException":
434
446
  throw await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context);
447
+ case "ResourceNotFoundException":
448
+ case "com.amazonaws.emrserverless#ResourceNotFoundException":
449
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
435
450
  case "ValidationException":
436
451
  case "com.amazonaws.emrserverless#ValidationException":
437
452
  throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
@@ -1076,6 +1091,11 @@ const serializeAws_restJson1Hive = (input, context) => {
1076
1091
  ...(input.query != null && { query: input.query }),
1077
1092
  };
1078
1093
  };
1094
+ const serializeAws_restJson1ImageConfigurationInput = (input, context) => {
1095
+ return {
1096
+ ...(input.imageUri != null && { imageUri: input.imageUri }),
1097
+ };
1098
+ };
1079
1099
  const serializeAws_restJson1InitialCapacityConfig = (input, context) => {
1080
1100
  return {
1081
1101
  ...(input.workerConfiguration != null && {
@@ -1185,6 +1205,22 @@ const serializeAws_restJson1WorkerResourceConfig = (input, context) => {
1185
1205
  ...(input.memory != null && { memory: input.memory }),
1186
1206
  };
1187
1207
  };
1208
+ const serializeAws_restJson1WorkerTypeSpecificationInput = (input, context) => {
1209
+ return {
1210
+ ...(input.imageConfiguration != null && {
1211
+ imageConfiguration: serializeAws_restJson1ImageConfigurationInput(input.imageConfiguration, context),
1212
+ }),
1213
+ };
1214
+ };
1215
+ const serializeAws_restJson1WorkerTypeSpecificationInputMap = (input, context) => {
1216
+ return Object.entries(input).reduce((acc, [key, value]) => {
1217
+ if (value === null) {
1218
+ return acc;
1219
+ }
1220
+ acc[key] = serializeAws_restJson1WorkerTypeSpecificationInput(value, context);
1221
+ return acc;
1222
+ }, {});
1223
+ };
1188
1224
  const deserializeAws_restJson1Application = (output, context) => {
1189
1225
  return {
1190
1226
  applicationId: (0, smithy_client_1.expectString)(output.applicationId),
@@ -1197,6 +1233,9 @@ const deserializeAws_restJson1Application = (output, context) => {
1197
1233
  ? deserializeAws_restJson1AutoStopConfig(output.autoStopConfiguration, context)
1198
1234
  : undefined,
1199
1235
  createdAt: output.createdAt != null ? (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(output.createdAt))) : undefined,
1236
+ imageConfiguration: output.imageConfiguration != null
1237
+ ? deserializeAws_restJson1ImageConfiguration(output.imageConfiguration, context)
1238
+ : undefined,
1200
1239
  initialCapacity: output.initialCapacity != null
1201
1240
  ? deserializeAws_restJson1InitialCapacityConfigMap(output.initialCapacity, context)
1202
1241
  : undefined,
@@ -1213,6 +1252,9 @@ const deserializeAws_restJson1Application = (output, context) => {
1213
1252
  tags: output.tags != null ? deserializeAws_restJson1TagMap(output.tags, context) : undefined,
1214
1253
  type: (0, smithy_client_1.expectString)(output.type),
1215
1254
  updatedAt: output.updatedAt != null ? (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(output.updatedAt))) : undefined,
1255
+ workerTypeSpecifications: output.workerTypeSpecifications != null
1256
+ ? deserializeAws_restJson1WorkerTypeSpecificationMap(output.workerTypeSpecifications, context)
1257
+ : undefined,
1216
1258
  };
1217
1259
  };
1218
1260
  const deserializeAws_restJson1ApplicationList = (output, context) => {
@@ -1301,6 +1343,12 @@ const deserializeAws_restJson1Hive = (output, context) => {
1301
1343
  query: (0, smithy_client_1.expectString)(output.query),
1302
1344
  };
1303
1345
  };
1346
+ const deserializeAws_restJson1ImageConfiguration = (output, context) => {
1347
+ return {
1348
+ imageUri: (0, smithy_client_1.expectString)(output.imageUri),
1349
+ resolvedImageDigest: (0, smithy_client_1.expectString)(output.resolvedImageDigest),
1350
+ };
1351
+ };
1304
1352
  const deserializeAws_restJson1InitialCapacityConfig = (output, context) => {
1305
1353
  return {
1306
1354
  workerConfiguration: output.workerConfiguration != null
@@ -1487,6 +1535,22 @@ const deserializeAws_restJson1WorkerResourceConfig = (output, context) => {
1487
1535
  memory: (0, smithy_client_1.expectString)(output.memory),
1488
1536
  };
1489
1537
  };
1538
+ const deserializeAws_restJson1WorkerTypeSpecification = (output, context) => {
1539
+ return {
1540
+ imageConfiguration: output.imageConfiguration != null
1541
+ ? deserializeAws_restJson1ImageConfiguration(output.imageConfiguration, context)
1542
+ : undefined,
1543
+ };
1544
+ };
1545
+ const deserializeAws_restJson1WorkerTypeSpecificationMap = (output, context) => {
1546
+ return Object.entries(output).reduce((acc, [key, value]) => {
1547
+ if (value === null) {
1548
+ return acc;
1549
+ }
1550
+ acc[key] = deserializeAws_restJson1WorkerTypeSpecification(value, context);
1551
+ return acc;
1552
+ }, {});
1553
+ };
1490
1554
  const deserializeMetadata = (output) => ({
1491
1555
  httpStatusCode: output.statusCode,
1492
1556
  requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"],
@@ -1,4 +1,4 @@
1
- const p = "required", q = "fn", r = "argv", s = "ref";
2
- const a = "PartitionResult", b = "tree", c = "error", d = "endpoint", e = { [p]: false, "type": "String" }, f = { [p]: true, "default": false, "type": "Boolean" }, g = { [s]: "Endpoint" }, h = { [q]: "booleanEquals", [r]: [{ [s]: "UseFIPS" }, true] }, i = { [q]: "booleanEquals", [r]: [{ [s]: "UseDualStack" }, true] }, j = {}, k = { [q]: "booleanEquals", [r]: [true, { [q]: "getAttr", [r]: [{ [s]: a }, "supportsFIPS"] }] }, l = { [q]: "booleanEquals", [r]: [true, { [q]: "getAttr", [r]: [{ [s]: a }, "supportsDualStack"] }] }, m = [g], n = [h], o = [i];
3
- const _data = { version: "1.0", parameters: { Region: e, UseDualStack: f, UseFIPS: f, Endpoint: e }, rules: [{ conditions: [{ [q]: "aws.partition", [r]: [{ [s]: "Region" }], assign: a }], type: b, rules: [{ conditions: [{ [q]: "isSet", [r]: m }, { [q]: "parseURL", [r]: m, assign: "url" }], type: b, rules: [{ conditions: n, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: c }, { type: b, rules: [{ conditions: o, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: c }, { endpoint: { url: g, properties: j, headers: j }, type: d }] }] }, { conditions: [h, i], type: b, rules: [{ conditions: [k, l], type: b, rules: [{ endpoint: { url: "https://emr-serverless-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: c }] }, { conditions: n, type: b, rules: [{ conditions: [k], type: b, rules: [{ type: b, rules: [{ endpoint: { url: "https://emr-serverless-fips.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] }, { error: "FIPS is enabled but this partition does not support FIPS", type: c }] }, { conditions: o, type: b, rules: [{ conditions: [l], type: b, rules: [{ endpoint: { url: "https://emr-serverless.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "DualStack is enabled but this partition does not support DualStack", type: c }] }, { endpoint: { url: "https://emr-serverless.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] };
1
+ const r = "fn", s = "argv", t = "ref";
2
+ const a = true, b = false, c = "String", d = "PartitionResult", e = "tree", f = "error", g = "endpoint", h = { "required": true, "default": false, "type": "Boolean" }, i = { [t]: "Endpoint" }, j = { [r]: "booleanEquals", [s]: [{ [t]: "UseFIPS" }, true] }, k = { [r]: "booleanEquals", [s]: [{ [t]: "UseDualStack" }, true] }, l = {}, m = { [r]: "booleanEquals", [s]: [true, { [r]: "getAttr", [s]: [{ [t]: d }, "supportsFIPS"] }] }, n = { [r]: "booleanEquals", [s]: [true, { [r]: "getAttr", [s]: [{ [t]: d }, "supportsDualStack"] }] }, o = [i], p = [j], q = [k];
3
+ const _data = { version: "1.0", parameters: { Region: { required: a, type: c }, UseDualStack: h, UseFIPS: h, Endpoint: { required: b, type: c } }, rules: [{ conditions: [{ [r]: "aws.partition", [s]: [{ [t]: "Region" }], assign: d }], type: e, rules: [{ conditions: [{ [r]: "isSet", [s]: o }, { [r]: "parseURL", [s]: o, assign: "url" }], type: e, rules: [{ conditions: p, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: f }, { type: e, rules: [{ conditions: q, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: f }, { endpoint: { url: i, properties: l, headers: l }, type: g }] }] }, { conditions: [j, k], type: e, rules: [{ conditions: [m, n], type: e, rules: [{ endpoint: { url: "https://emr-serverless-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: l, headers: l }, type: g }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: f }] }, { conditions: p, type: e, rules: [{ conditions: [m], type: e, rules: [{ type: e, rules: [{ endpoint: { url: "https://emr-serverless-fips.{Region}.{PartitionResult#dnsSuffix}", properties: l, headers: l }, type: g }] }] }, { error: "FIPS is enabled but this partition does not support FIPS", type: f }] }, { conditions: q, type: e, rules: [{ conditions: [n], type: e, rules: [{ endpoint: { url: "https://emr-serverless.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: l, headers: l }, type: g }] }, { error: "DualStack is enabled but this partition does not support DualStack", type: f }] }, { endpoint: { url: "https://emr-serverless.{Region}.{PartitionResult#dnsSuffix}", properties: l, headers: l }, type: g }] }] };
4
4
  export const ruleSet = _data;
@@ -39,28 +39,28 @@ export class InternalServerException extends __BaseException {
39
39
  Object.setPrototypeOf(this, InternalServerException.prototype);
40
40
  }
41
41
  }
42
- export class ValidationException extends __BaseException {
42
+ export class ResourceNotFoundException extends __BaseException {
43
43
  constructor(opts) {
44
44
  super({
45
- name: "ValidationException",
45
+ name: "ResourceNotFoundException",
46
46
  $fault: "client",
47
47
  ...opts,
48
48
  });
49
- this.name = "ValidationException";
49
+ this.name = "ResourceNotFoundException";
50
50
  this.$fault = "client";
51
- Object.setPrototypeOf(this, ValidationException.prototype);
51
+ Object.setPrototypeOf(this, ResourceNotFoundException.prototype);
52
52
  }
53
53
  }
54
- export class ResourceNotFoundException extends __BaseException {
54
+ export class ValidationException extends __BaseException {
55
55
  constructor(opts) {
56
56
  super({
57
- name: "ResourceNotFoundException",
57
+ name: "ValidationException",
58
58
  $fault: "client",
59
59
  ...opts,
60
60
  });
61
- this.name = "ResourceNotFoundException";
61
+ this.name = "ValidationException";
62
62
  this.$fault = "client";
63
- Object.setPrototypeOf(this, ResourceNotFoundException.prototype);
63
+ Object.setPrototypeOf(this, ValidationException.prototype);
64
64
  }
65
65
  }
66
66
  export class ServiceQuotaExceededException extends __BaseException {
@@ -102,6 +102,9 @@ export const AutoStartConfigFilterSensitiveLog = (obj) => ({
102
102
  export const AutoStopConfigFilterSensitiveLog = (obj) => ({
103
103
  ...obj,
104
104
  });
105
+ export const ImageConfigurationFilterSensitiveLog = (obj) => ({
106
+ ...obj,
107
+ });
105
108
  export const WorkerResourceConfigFilterSensitiveLog = (obj) => ({
106
109
  ...obj,
107
110
  });
@@ -114,12 +117,21 @@ export const MaximumAllowedResourcesFilterSensitiveLog = (obj) => ({
114
117
  export const NetworkConfigurationFilterSensitiveLog = (obj) => ({
115
118
  ...obj,
116
119
  });
120
+ export const WorkerTypeSpecificationFilterSensitiveLog = (obj) => ({
121
+ ...obj,
122
+ });
117
123
  export const ApplicationFilterSensitiveLog = (obj) => ({
118
124
  ...obj,
119
125
  });
120
126
  export const ApplicationSummaryFilterSensitiveLog = (obj) => ({
121
127
  ...obj,
122
128
  });
129
+ export const ImageConfigurationInputFilterSensitiveLog = (obj) => ({
130
+ ...obj,
131
+ });
132
+ export const WorkerTypeSpecificationInputFilterSensitiveLog = (obj) => ({
133
+ ...obj,
134
+ });
123
135
  export const CreateApplicationRequestFilterSensitiveLog = (obj) => ({
124
136
  ...obj,
125
137
  });
@@ -37,6 +37,9 @@ export const serializeAws_restJson1CreateApplicationCommand = async (input, cont
37
37
  autoStopConfiguration: serializeAws_restJson1AutoStopConfig(input.autoStopConfiguration, context),
38
38
  }),
39
39
  clientToken: input.clientToken ?? generateIdempotencyToken(),
40
+ ...(input.imageConfiguration != null && {
41
+ imageConfiguration: serializeAws_restJson1ImageConfigurationInput(input.imageConfiguration, context),
42
+ }),
40
43
  ...(input.initialCapacity != null && {
41
44
  initialCapacity: serializeAws_restJson1InitialCapacityConfigMap(input.initialCapacity, context),
42
45
  }),
@@ -50,6 +53,9 @@ export const serializeAws_restJson1CreateApplicationCommand = async (input, cont
50
53
  ...(input.releaseLabel != null && { releaseLabel: input.releaseLabel }),
51
54
  ...(input.tags != null && { tags: serializeAws_restJson1TagMap(input.tags, context) }),
52
55
  ...(input.type != null && { type: input.type }),
56
+ ...(input.workerTypeSpecifications != null && {
57
+ workerTypeSpecifications: serializeAws_restJson1WorkerTypeSpecificationInputMap(input.workerTypeSpecifications, context),
58
+ }),
53
59
  });
54
60
  return new __HttpRequest({
55
61
  protocol,
@@ -318,6 +324,9 @@ export const serializeAws_restJson1UpdateApplicationCommand = async (input, cont
318
324
  autoStopConfiguration: serializeAws_restJson1AutoStopConfig(input.autoStopConfiguration, context),
319
325
  }),
320
326
  clientToken: input.clientToken ?? generateIdempotencyToken(),
327
+ ...(input.imageConfiguration != null && {
328
+ imageConfiguration: serializeAws_restJson1ImageConfigurationInput(input.imageConfiguration, context),
329
+ }),
321
330
  ...(input.initialCapacity != null && {
322
331
  initialCapacity: serializeAws_restJson1InitialCapacityConfigMap(input.initialCapacity, context),
323
332
  }),
@@ -327,6 +336,9 @@ export const serializeAws_restJson1UpdateApplicationCommand = async (input, cont
327
336
  ...(input.networkConfiguration != null && {
328
337
  networkConfiguration: serializeAws_restJson1NetworkConfiguration(input.networkConfiguration, context),
329
338
  }),
339
+ ...(input.workerTypeSpecifications != null && {
340
+ workerTypeSpecifications: serializeAws_restJson1WorkerTypeSpecificationInputMap(input.workerTypeSpecifications, context),
341
+ }),
330
342
  });
331
343
  return new __HttpRequest({
332
344
  protocol,
@@ -412,6 +424,9 @@ const deserializeAws_restJson1CreateApplicationCommandError = async (output, con
412
424
  case "InternalServerException":
413
425
  case "com.amazonaws.emrserverless#InternalServerException":
414
426
  throw await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context);
427
+ case "ResourceNotFoundException":
428
+ case "com.amazonaws.emrserverless#ResourceNotFoundException":
429
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
415
430
  case "ValidationException":
416
431
  case "com.amazonaws.emrserverless#ValidationException":
417
432
  throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
@@ -1043,6 +1058,11 @@ const serializeAws_restJson1Hive = (input, context) => {
1043
1058
  ...(input.query != null && { query: input.query }),
1044
1059
  };
1045
1060
  };
1061
+ const serializeAws_restJson1ImageConfigurationInput = (input, context) => {
1062
+ return {
1063
+ ...(input.imageUri != null && { imageUri: input.imageUri }),
1064
+ };
1065
+ };
1046
1066
  const serializeAws_restJson1InitialCapacityConfig = (input, context) => {
1047
1067
  return {
1048
1068
  ...(input.workerConfiguration != null && {
@@ -1152,6 +1172,22 @@ const serializeAws_restJson1WorkerResourceConfig = (input, context) => {
1152
1172
  ...(input.memory != null && { memory: input.memory }),
1153
1173
  };
1154
1174
  };
1175
+ const serializeAws_restJson1WorkerTypeSpecificationInput = (input, context) => {
1176
+ return {
1177
+ ...(input.imageConfiguration != null && {
1178
+ imageConfiguration: serializeAws_restJson1ImageConfigurationInput(input.imageConfiguration, context),
1179
+ }),
1180
+ };
1181
+ };
1182
+ const serializeAws_restJson1WorkerTypeSpecificationInputMap = (input, context) => {
1183
+ return Object.entries(input).reduce((acc, [key, value]) => {
1184
+ if (value === null) {
1185
+ return acc;
1186
+ }
1187
+ acc[key] = serializeAws_restJson1WorkerTypeSpecificationInput(value, context);
1188
+ return acc;
1189
+ }, {});
1190
+ };
1155
1191
  const deserializeAws_restJson1Application = (output, context) => {
1156
1192
  return {
1157
1193
  applicationId: __expectString(output.applicationId),
@@ -1164,6 +1200,9 @@ const deserializeAws_restJson1Application = (output, context) => {
1164
1200
  ? deserializeAws_restJson1AutoStopConfig(output.autoStopConfiguration, context)
1165
1201
  : undefined,
1166
1202
  createdAt: output.createdAt != null ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.createdAt))) : undefined,
1203
+ imageConfiguration: output.imageConfiguration != null
1204
+ ? deserializeAws_restJson1ImageConfiguration(output.imageConfiguration, context)
1205
+ : undefined,
1167
1206
  initialCapacity: output.initialCapacity != null
1168
1207
  ? deserializeAws_restJson1InitialCapacityConfigMap(output.initialCapacity, context)
1169
1208
  : undefined,
@@ -1180,6 +1219,9 @@ const deserializeAws_restJson1Application = (output, context) => {
1180
1219
  tags: output.tags != null ? deserializeAws_restJson1TagMap(output.tags, context) : undefined,
1181
1220
  type: __expectString(output.type),
1182
1221
  updatedAt: output.updatedAt != null ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.updatedAt))) : undefined,
1222
+ workerTypeSpecifications: output.workerTypeSpecifications != null
1223
+ ? deserializeAws_restJson1WorkerTypeSpecificationMap(output.workerTypeSpecifications, context)
1224
+ : undefined,
1183
1225
  };
1184
1226
  };
1185
1227
  const deserializeAws_restJson1ApplicationList = (output, context) => {
@@ -1268,6 +1310,12 @@ const deserializeAws_restJson1Hive = (output, context) => {
1268
1310
  query: __expectString(output.query),
1269
1311
  };
1270
1312
  };
1313
+ const deserializeAws_restJson1ImageConfiguration = (output, context) => {
1314
+ return {
1315
+ imageUri: __expectString(output.imageUri),
1316
+ resolvedImageDigest: __expectString(output.resolvedImageDigest),
1317
+ };
1318
+ };
1271
1319
  const deserializeAws_restJson1InitialCapacityConfig = (output, context) => {
1272
1320
  return {
1273
1321
  workerConfiguration: output.workerConfiguration != null
@@ -1454,6 +1502,22 @@ const deserializeAws_restJson1WorkerResourceConfig = (output, context) => {
1454
1502
  memory: __expectString(output.memory),
1455
1503
  };
1456
1504
  };
1505
+ const deserializeAws_restJson1WorkerTypeSpecification = (output, context) => {
1506
+ return {
1507
+ imageConfiguration: output.imageConfiguration != null
1508
+ ? deserializeAws_restJson1ImageConfiguration(output.imageConfiguration, context)
1509
+ : undefined,
1510
+ };
1511
+ };
1512
+ const deserializeAws_restJson1WorkerTypeSpecificationMap = (output, context) => {
1513
+ return Object.entries(output).reduce((acc, [key, value]) => {
1514
+ if (value === null) {
1515
+ return acc;
1516
+ }
1517
+ acc[key] = deserializeAws_restJson1WorkerTypeSpecification(value, context);
1518
+ return acc;
1519
+ }, {});
1520
+ };
1457
1521
  const deserializeMetadata = (output) => ({
1458
1522
  httpStatusCode: output.statusCode,
1459
1523
  requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"],
@@ -12,7 +12,7 @@ export declare const resolveClientEndpointParameters: <T>(options: T & ClientInp
12
12
  defaultSigningName: string;
13
13
  };
14
14
  export interface EndpointParameters extends __EndpointParameters {
15
- Region?: string;
15
+ Region: string;
16
16
  UseDualStack?: boolean;
17
17
  UseFIPS?: boolean;
18
18
  Endpoint?: string;
@@ -30,6 +30,20 @@ export interface AutoStopConfig {
30
30
  */
31
31
  idleTimeoutMinutes?: number;
32
32
  }
33
+ /**
34
+ * <p>The applied image configuration.</p>
35
+ */
36
+ export interface ImageConfiguration {
37
+ /**
38
+ * <p>The image URI.</p>
39
+ */
40
+ imageUri: string | undefined;
41
+ /**
42
+ * <p>The SHA256 digest of the image URI. This indicates which specific image
43
+ * the application is configured for. The image digest doesn't exist until an application has started.</p>
44
+ */
45
+ resolvedImageDigest?: string;
46
+ }
33
47
  /**
34
48
  * <p>The cumulative configuration requirements for every worker instance of the worker
35
49
  * type.</p>
@@ -101,6 +115,15 @@ export declare enum ApplicationState {
101
115
  STOPPING = "STOPPING",
102
116
  TERMINATED = "TERMINATED"
103
117
  }
118
+ /**
119
+ * <p>The specifications for a worker type.</p>
120
+ */
121
+ export interface WorkerTypeSpecification {
122
+ /**
123
+ * <p>The image configuration for a worker type.</p>
124
+ */
125
+ imageConfiguration?: ImageConfiguration;
126
+ }
104
127
  /**
105
128
  * <p>Information about an application. EMR Serverless uses applications to run jobs.</p>
106
129
  */
@@ -118,7 +141,7 @@ export interface Application {
118
141
  */
119
142
  arn: string | undefined;
120
143
  /**
121
- * <p>The EMR release version associated with the application.</p>
144
+ * <p>The EMR release associated with the application.</p>
122
145
  */
123
146
  releaseLabel: string | undefined;
124
147
  /**
@@ -172,6 +195,14 @@ export interface Application {
172
195
  * <p>The CPU architecture of an application.</p>
173
196
  */
174
197
  architecture?: Architecture | string;
198
+ /**
199
+ * <p>The image configuration applied to all worker types.</p>
200
+ */
201
+ imageConfiguration?: ImageConfiguration;
202
+ /**
203
+ * <p>The specification applied to each worker type.</p>
204
+ */
205
+ workerTypeSpecifications?: Record<string, WorkerTypeSpecification>;
175
206
  }
176
207
  /**
177
208
  * <p>The summary of attributes associated with an application.</p>
@@ -190,7 +221,7 @@ export interface ApplicationSummary {
190
221
  */
191
222
  arn: string | undefined;
192
223
  /**
193
- * <p>The EMR release version associated with the application.</p>
224
+ * <p>The EMR release associated with the application.</p>
194
225
  */
195
226
  releaseLabel: string | undefined;
196
227
  /**
@@ -230,13 +261,32 @@ export declare class ConflictException extends __BaseException {
230
261
  */
231
262
  constructor(opts: __ExceptionOptionType<ConflictException, __BaseException>);
232
263
  }
264
+ /**
265
+ * <p>The image configuration.</p>
266
+ */
267
+ export interface ImageConfigurationInput {
268
+ /**
269
+ * <p>The URI of an image in the Amazon ECR registry. This field is required when you create a new
270
+ * application. If you leave this field blank in an update, Amazon EMR will remove the image configuration.</p>
271
+ */
272
+ imageUri?: string;
273
+ }
274
+ /**
275
+ * <p>The specifications for a worker type.</p>
276
+ */
277
+ export interface WorkerTypeSpecificationInput {
278
+ /**
279
+ * <p>The image configuration for a worker type.</p>
280
+ */
281
+ imageConfiguration?: ImageConfigurationInput;
282
+ }
233
283
  export interface CreateApplicationRequest {
234
284
  /**
235
285
  * <p>The name of the application.</p>
236
286
  */
237
287
  name?: string;
238
288
  /**
239
- * <p>The EMR release version associated with the application.</p>
289
+ * <p>The EMR release associated with the application.</p>
240
290
  */
241
291
  releaseLabel: string | undefined;
242
292
  /**
@@ -279,6 +329,18 @@ export interface CreateApplicationRequest {
279
329
  * <p>The CPU architecture of an application.</p>
280
330
  */
281
331
  architecture?: Architecture | string;
332
+ /**
333
+ * <p>The image configuration for all worker types. You can either set this parameter or <code>imageConfiguration</code>
334
+ * for each worker type in <code>workerTypeSpecifications</code>.</p>
335
+ */
336
+ imageConfiguration?: ImageConfigurationInput;
337
+ /**
338
+ * <p>The key-value pairs that specify worker type to <code>WorkerTypeSpecificationInput</code>. This parameter must contain all valid
339
+ * worker types for a Spark or Hive application. Valid worker types include <code>Driver</code> and <code>Executor</code> for
340
+ * Spark applications and <code>HiveDriver</code> and <code>TezTask</code> for Hive applications. You can either set
341
+ * image details in this parameter for each worker type, or in <code>imageConfiguration</code> for all worker types.</p>
342
+ */
343
+ workerTypeSpecifications?: Record<string, WorkerTypeSpecificationInput>;
282
344
  }
283
345
  export interface CreateApplicationResponse {
284
346
  /**
@@ -305,6 +367,17 @@ export declare class InternalServerException extends __BaseException {
305
367
  */
306
368
  constructor(opts: __ExceptionOptionType<InternalServerException, __BaseException>);
307
369
  }
370
+ /**
371
+ * <p>The specified resource was not found.</p>
372
+ */
373
+ export declare class ResourceNotFoundException extends __BaseException {
374
+ readonly name: "ResourceNotFoundException";
375
+ readonly $fault: "client";
376
+ /**
377
+ * @internal
378
+ */
379
+ constructor(opts: __ExceptionOptionType<ResourceNotFoundException, __BaseException>);
380
+ }
308
381
  /**
309
382
  * <p>The input fails to satisfy the constraints specified by an AWS service.</p>
310
383
  */
@@ -324,17 +397,6 @@ export interface DeleteApplicationRequest {
324
397
  }
325
398
  export interface DeleteApplicationResponse {
326
399
  }
327
- /**
328
- * <p>The specified resource was not found.</p>
329
- */
330
- export declare class ResourceNotFoundException extends __BaseException {
331
- readonly name: "ResourceNotFoundException";
332
- readonly $fault: "client";
333
- /**
334
- * @internal
335
- */
336
- constructor(opts: __ExceptionOptionType<ResourceNotFoundException, __BaseException>);
337
- }
338
400
  export interface GetApplicationRequest {
339
401
  /**
340
402
  * <p>The ID of the application that will be described.</p>
@@ -437,6 +499,18 @@ export interface UpdateApplicationRequest {
437
499
  * <p>The CPU architecture of an application.</p>
438
500
  */
439
501
  architecture?: Architecture | string;
502
+ /**
503
+ * <p>The image configuration to be used for all worker types. You can either set this parameter or <code>imageConfiguration</code>
504
+ * for each worker type in <code>WorkerTypeSpecificationInput</code>.</p>
505
+ */
506
+ imageConfiguration?: ImageConfigurationInput;
507
+ /**
508
+ * <p>The key-value pairs that specify worker type to <code>WorkerTypeSpecificationInput</code>. This parameter must contain all valid
509
+ * worker types for a Spark or Hive application. Valid worker types include <code>Driver</code> and <code>Executor</code> for
510
+ * Spark applications and <code>HiveDriver</code> and <code>TezTask</code> for Hive applications. You can either set
511
+ * image details in this parameter for each worker type, or in <code>imageConfiguration</code> for all worker types.</p>
512
+ */
513
+ workerTypeSpecifications?: Record<string, WorkerTypeSpecificationInput>;
440
514
  }
441
515
  export interface UpdateApplicationResponse {
442
516
  /**
@@ -701,7 +775,7 @@ export interface JobRunSummary {
701
775
  */
702
776
  stateDetails: string | undefined;
703
777
  /**
704
- * <p>The EMR release version associated with the application your job is running on.</p>
778
+ * <p>The EMR release associated with the application your job is running on.</p>
705
779
  */
706
780
  releaseLabel: string | undefined;
707
781
  /**
@@ -855,7 +929,7 @@ export interface JobRun {
855
929
  */
856
930
  stateDetails: string | undefined;
857
931
  /**
858
- * <p>The EMR release version associated with the application your job is running on.</p>
932
+ * <p>The EMR release associated with the application your job is running on.</p>
859
933
  */
860
934
  releaseLabel: string | undefined;
861
935
  /**
@@ -936,6 +1010,10 @@ export declare const AutoStartConfigFilterSensitiveLog: (obj: AutoStartConfig) =
936
1010
  * @internal
937
1011
  */
938
1012
  export declare const AutoStopConfigFilterSensitiveLog: (obj: AutoStopConfig) => any;
1013
+ /**
1014
+ * @internal
1015
+ */
1016
+ export declare const ImageConfigurationFilterSensitiveLog: (obj: ImageConfiguration) => any;
939
1017
  /**
940
1018
  * @internal
941
1019
  */
@@ -952,6 +1030,10 @@ export declare const MaximumAllowedResourcesFilterSensitiveLog: (obj: MaximumAll
952
1030
  * @internal
953
1031
  */
954
1032
  export declare const NetworkConfigurationFilterSensitiveLog: (obj: NetworkConfiguration) => any;
1033
+ /**
1034
+ * @internal
1035
+ */
1036
+ export declare const WorkerTypeSpecificationFilterSensitiveLog: (obj: WorkerTypeSpecification) => any;
955
1037
  /**
956
1038
  * @internal
957
1039
  */
@@ -960,6 +1042,14 @@ export declare const ApplicationFilterSensitiveLog: (obj: Application) => any;
960
1042
  * @internal
961
1043
  */
962
1044
  export declare const ApplicationSummaryFilterSensitiveLog: (obj: ApplicationSummary) => any;
1045
+ /**
1046
+ * @internal
1047
+ */
1048
+ export declare const ImageConfigurationInputFilterSensitiveLog: (obj: ImageConfigurationInput) => any;
1049
+ /**
1050
+ * @internal
1051
+ */
1052
+ export declare const WorkerTypeSpecificationInputFilterSensitiveLog: (obj: WorkerTypeSpecificationInput) => any;
963
1053
  /**
964
1054
  * @internal
965
1055
  */
@@ -27,7 +27,7 @@ export declare const resolveClientEndpointParameters: <T>(
27
27
  defaultSigningName: string;
28
28
  };
29
29
  export interface EndpointParameters extends __EndpointParameters {
30
- Region?: string;
30
+ Region: string;
31
31
  UseDualStack?: boolean;
32
32
  UseFIPS?: boolean;
33
33
  Endpoint?: string;
@@ -11,6 +11,10 @@ export interface AutoStopConfig {
11
11
  enabled?: boolean;
12
12
  idleTimeoutMinutes?: number;
13
13
  }
14
+ export interface ImageConfiguration {
15
+ imageUri: string | undefined;
16
+ resolvedImageDigest?: string;
17
+ }
14
18
  export interface WorkerResourceConfig {
15
19
  cpu: string | undefined;
16
20
  memory: string | undefined;
@@ -38,6 +42,9 @@ export declare enum ApplicationState {
38
42
  STOPPING = "STOPPING",
39
43
  TERMINATED = "TERMINATED",
40
44
  }
45
+ export interface WorkerTypeSpecification {
46
+ imageConfiguration?: ImageConfiguration;
47
+ }
41
48
  export interface Application {
42
49
  applicationId: string | undefined;
43
50
  name?: string;
@@ -55,6 +62,8 @@ export interface Application {
55
62
  autoStopConfiguration?: AutoStopConfig;
56
63
  networkConfiguration?: NetworkConfiguration;
57
64
  architecture?: Architecture | string;
65
+ imageConfiguration?: ImageConfiguration;
66
+ workerTypeSpecifications?: Record<string, WorkerTypeSpecification>;
58
67
  }
59
68
  export interface ApplicationSummary {
60
69
  id: string | undefined;
@@ -73,6 +82,12 @@ export declare class ConflictException extends __BaseException {
73
82
  readonly $fault: "client";
74
83
  constructor(opts: __ExceptionOptionType<ConflictException, __BaseException>);
75
84
  }
85
+ export interface ImageConfigurationInput {
86
+ imageUri?: string;
87
+ }
88
+ export interface WorkerTypeSpecificationInput {
89
+ imageConfiguration?: ImageConfigurationInput;
90
+ }
76
91
  export interface CreateApplicationRequest {
77
92
  name?: string;
78
93
  releaseLabel: string | undefined;
@@ -85,6 +100,8 @@ export interface CreateApplicationRequest {
85
100
  autoStopConfiguration?: AutoStopConfig;
86
101
  networkConfiguration?: NetworkConfiguration;
87
102
  architecture?: Architecture | string;
103
+ imageConfiguration?: ImageConfigurationInput;
104
+ workerTypeSpecifications?: Record<string, WorkerTypeSpecificationInput>;
88
105
  }
89
106
  export interface CreateApplicationResponse {
90
107
  applicationId: string | undefined;
@@ -98,6 +115,13 @@ export declare class InternalServerException extends __BaseException {
98
115
  opts: __ExceptionOptionType<InternalServerException, __BaseException>
99
116
  );
100
117
  }
118
+ export declare class ResourceNotFoundException extends __BaseException {
119
+ readonly name: "ResourceNotFoundException";
120
+ readonly $fault: "client";
121
+ constructor(
122
+ opts: __ExceptionOptionType<ResourceNotFoundException, __BaseException>
123
+ );
124
+ }
101
125
  export declare class ValidationException extends __BaseException {
102
126
  readonly name: "ValidationException";
103
127
  readonly $fault: "client";
@@ -109,13 +133,6 @@ export interface DeleteApplicationRequest {
109
133
  applicationId: string | undefined;
110
134
  }
111
135
  export interface DeleteApplicationResponse {}
112
- export declare class ResourceNotFoundException extends __BaseException {
113
- readonly name: "ResourceNotFoundException";
114
- readonly $fault: "client";
115
- constructor(
116
- opts: __ExceptionOptionType<ResourceNotFoundException, __BaseException>
117
- );
118
- }
119
136
  export interface GetApplicationRequest {
120
137
  applicationId: string | undefined;
121
138
  }
@@ -155,6 +172,8 @@ export interface UpdateApplicationRequest {
155
172
  autoStopConfiguration?: AutoStopConfig;
156
173
  networkConfiguration?: NetworkConfiguration;
157
174
  architecture?: Architecture | string;
175
+ imageConfiguration?: ImageConfigurationInput;
176
+ workerTypeSpecifications?: Record<string, WorkerTypeSpecificationInput>;
158
177
  }
159
178
  export interface UpdateApplicationResponse {
160
179
  application: Application | undefined;
@@ -336,6 +355,9 @@ export declare const AutoStartConfigFilterSensitiveLog: (
336
355
  export declare const AutoStopConfigFilterSensitiveLog: (
337
356
  obj: AutoStopConfig
338
357
  ) => any;
358
+ export declare const ImageConfigurationFilterSensitiveLog: (
359
+ obj: ImageConfiguration
360
+ ) => any;
339
361
  export declare const WorkerResourceConfigFilterSensitiveLog: (
340
362
  obj: WorkerResourceConfig
341
363
  ) => any;
@@ -348,10 +370,19 @@ export declare const MaximumAllowedResourcesFilterSensitiveLog: (
348
370
  export declare const NetworkConfigurationFilterSensitiveLog: (
349
371
  obj: NetworkConfiguration
350
372
  ) => any;
373
+ export declare const WorkerTypeSpecificationFilterSensitiveLog: (
374
+ obj: WorkerTypeSpecification
375
+ ) => any;
351
376
  export declare const ApplicationFilterSensitiveLog: (obj: Application) => any;
352
377
  export declare const ApplicationSummaryFilterSensitiveLog: (
353
378
  obj: ApplicationSummary
354
379
  ) => any;
380
+ export declare const ImageConfigurationInputFilterSensitiveLog: (
381
+ obj: ImageConfigurationInput
382
+ ) => any;
383
+ export declare const WorkerTypeSpecificationInputFilterSensitiveLog: (
384
+ obj: WorkerTypeSpecificationInput
385
+ ) => any;
355
386
  export declare const CreateApplicationRequestFilterSensitiveLog: (
356
387
  obj: CreateApplicationRequest
357
388
  ) => any;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-emr-serverless",
3
3
  "description": "AWS SDK for JavaScript Emr Serverless Client for Node.js, Browser and React Native",
4
- "version": "3.241.0",
4
+ "version": "3.245.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "tsc -p tsconfig.cjs.json",
@@ -20,9 +20,9 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "2.0.0",
22
22
  "@aws-crypto/sha256-js": "2.0.0",
23
- "@aws-sdk/client-sts": "3.241.0",
23
+ "@aws-sdk/client-sts": "3.245.0",
24
24
  "@aws-sdk/config-resolver": "3.234.0",
25
- "@aws-sdk/credential-provider-node": "3.241.0",
25
+ "@aws-sdk/credential-provider-node": "3.245.0",
26
26
  "@aws-sdk/fetch-http-handler": "3.226.0",
27
27
  "@aws-sdk/hash-node": "3.226.0",
28
28
  "@aws-sdk/invalid-dependency": "3.226.0",
@@ -47,7 +47,7 @@
47
47
  "@aws-sdk/util-body-length-node": "3.208.0",
48
48
  "@aws-sdk/util-defaults-mode-browser": "3.234.0",
49
49
  "@aws-sdk/util-defaults-mode-node": "3.234.0",
50
- "@aws-sdk/util-endpoints": "3.241.0",
50
+ "@aws-sdk/util-endpoints": "3.245.0",
51
51
  "@aws-sdk/util-retry": "3.229.0",
52
52
  "@aws-sdk/util-user-agent-browser": "3.226.0",
53
53
  "@aws-sdk/util-user-agent-node": "3.226.0",