@aws-sdk/client-securityhub 3.451.0 → 3.458.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 (43) hide show
  1. package/README.md +83 -67
  2. package/dist-cjs/SecurityHub.js +4 -0
  3. package/dist-cjs/commands/GetSecurityControlDefinitionCommand.js +51 -0
  4. package/dist-cjs/commands/UpdateSecurityControlCommand.js +51 -0
  5. package/dist-cjs/commands/index.js +2 -0
  6. package/dist-cjs/models/models_2.js +71 -1
  7. package/dist-cjs/protocols/Aws_restJson1.js +349 -5
  8. package/dist-es/SecurityHub.js +4 -0
  9. package/dist-es/commands/GetSecurityControlDefinitionCommand.js +47 -0
  10. package/dist-es/commands/UpdateSecurityControlCommand.js +47 -0
  11. package/dist-es/commands/index.js +2 -0
  12. package/dist-es/models/models_2.js +69 -0
  13. package/dist-es/protocols/Aws_restJson1.js +343 -3
  14. package/dist-types/SecurityHub.d.ts +14 -0
  15. package/dist-types/SecurityHubClient.d.ts +4 -2
  16. package/dist-types/commands/BatchGetAutomationRulesCommand.d.ts +4 -0
  17. package/dist-types/commands/BatchGetSecurityControlsCommand.d.ts +23 -0
  18. package/dist-types/commands/BatchImportFindingsCommand.d.ts +9 -3
  19. package/dist-types/commands/BatchUpdateAutomationRulesCommand.d.ts +4 -0
  20. package/dist-types/commands/CreateAutomationRuleCommand.d.ts +4 -0
  21. package/dist-types/commands/CreateInsightCommand.d.ts +14 -0
  22. package/dist-types/commands/GetFindingsCommand.d.ts +23 -3
  23. package/dist-types/commands/GetInsightsCommand.d.ts +14 -0
  24. package/dist-types/commands/GetSecurityControlDefinitionCommand.d.ts +158 -0
  25. package/dist-types/commands/ListSecurityControlDefinitionsCommand.d.ts +59 -0
  26. package/dist-types/commands/UpdateFindingsCommand.d.ts +14 -0
  27. package/dist-types/commands/UpdateInsightCommand.d.ts +14 -0
  28. package/dist-types/commands/UpdateSecurityControlCommand.d.ts +118 -0
  29. package/dist-types/commands/index.d.ts +2 -0
  30. package/dist-types/models/models_0.d.ts +15 -1
  31. package/dist-types/models/models_1.d.ts +29 -37
  32. package/dist-types/models/models_2.d.ts +987 -147
  33. package/dist-types/protocols/Aws_restJson1.d.ts +18 -0
  34. package/dist-types/ts3.4/SecurityHub.d.ts +34 -0
  35. package/dist-types/ts3.4/SecurityHubClient.d.ts +12 -0
  36. package/dist-types/ts3.4/commands/GetSecurityControlDefinitionCommand.d.ts +42 -0
  37. package/dist-types/ts3.4/commands/UpdateSecurityControlCommand.d.ts +42 -0
  38. package/dist-types/ts3.4/commands/index.d.ts +2 -0
  39. package/dist-types/ts3.4/models/models_0.d.ts +2 -0
  40. package/dist-types/ts3.4/models/models_1.d.ts +5 -6
  41. package/dist-types/ts3.4/models/models_2.d.ts +361 -15
  42. package/dist-types/ts3.4/protocols/Aws_restJson1.d.ts +24 -0
  43. package/package.json +3 -3
@@ -52,6 +52,32 @@ export const StatusReasonCode = {
52
52
  INTERNAL_ERROR: "INTERNAL_ERROR",
53
53
  NO_AVAILABLE_CONFIGURATION_RECORDER: "NO_AVAILABLE_CONFIGURATION_RECORDER",
54
54
  };
55
+ export var ParameterValue;
56
+ (function (ParameterValue) {
57
+ ParameterValue.visit = (value, visitor) => {
58
+ if (value.Integer !== undefined)
59
+ return visitor.Integer(value.Integer);
60
+ if (value.IntegerList !== undefined)
61
+ return visitor.IntegerList(value.IntegerList);
62
+ if (value.Double !== undefined)
63
+ return visitor.Double(value.Double);
64
+ if (value.String !== undefined)
65
+ return visitor.String(value.String);
66
+ if (value.StringList !== undefined)
67
+ return visitor.StringList(value.StringList);
68
+ if (value.Boolean !== undefined)
69
+ return visitor.Boolean(value.Boolean);
70
+ if (value.Enum !== undefined)
71
+ return visitor.Enum(value.Enum);
72
+ if (value.EnumList !== undefined)
73
+ return visitor.EnumList(value.EnumList);
74
+ return visitor._(value.$unknown[0], value.$unknown[1]);
75
+ };
76
+ })(ParameterValue || (ParameterValue = {}));
77
+ export const ParameterValueType = {
78
+ CUSTOM: "CUSTOM",
79
+ DEFAULT: "DEFAULT",
80
+ };
55
81
  export const ControlStatus = {
56
82
  DISABLED: "DISABLED",
57
83
  ENABLED: "ENABLED",
@@ -62,12 +88,38 @@ export const SeverityRating = {
62
88
  LOW: "LOW",
63
89
  MEDIUM: "MEDIUM",
64
90
  };
91
+ export const UpdateStatus = {
92
+ READY: "READY",
93
+ UPDATING: "UPDATING",
94
+ };
65
95
  export const UnprocessedErrorCode = {
66
96
  ACCESS_DENIED: "ACCESS_DENIED",
67
97
  INVALID_INPUT: "INVALID_INPUT",
68
98
  LIMIT_EXCEEDED: "LIMIT_EXCEEDED",
69
99
  NOT_FOUND: "NOT_FOUND",
70
100
  };
101
+ export var ConfigurationOptions;
102
+ (function (ConfigurationOptions) {
103
+ ConfigurationOptions.visit = (value, visitor) => {
104
+ if (value.Integer !== undefined)
105
+ return visitor.Integer(value.Integer);
106
+ if (value.IntegerList !== undefined)
107
+ return visitor.IntegerList(value.IntegerList);
108
+ if (value.Double !== undefined)
109
+ return visitor.Double(value.Double);
110
+ if (value.String !== undefined)
111
+ return visitor.String(value.String);
112
+ if (value.StringList !== undefined)
113
+ return visitor.StringList(value.StringList);
114
+ if (value.Boolean !== undefined)
115
+ return visitor.Boolean(value.Boolean);
116
+ if (value.Enum !== undefined)
117
+ return visitor.Enum(value.Enum);
118
+ if (value.EnumList !== undefined)
119
+ return visitor.EnumList(value.EnumList);
120
+ return visitor._(value.$unknown[0], value.$unknown[1]);
121
+ };
122
+ })(ConfigurationOptions || (ConfigurationOptions = {}));
71
123
  export const ControlFindingGenerator = {
72
124
  SECURITY_CONTROL: "SECURITY_CONTROL",
73
125
  STANDARD_CONTROL: "STANDARD_CONTROL",
@@ -86,6 +138,9 @@ export class ResourceConflictException extends __BaseException {
86
138
  this.Code = opts.Code;
87
139
  }
88
140
  }
141
+ export const SecurityControlProperty = {
142
+ Parameters: "Parameters",
143
+ };
89
144
  export const IntegrationType = {
90
145
  RECEIVE_FINDINGS_FROM_SECURITY_HUB: "RECEIVE_FINDINGS_FROM_SECURITY_HUB",
91
146
  SEND_FINDINGS_TO_SECURITY_HUB: "SEND_FINDINGS_TO_SECURITY_HUB",
@@ -103,3 +158,17 @@ export const RegionAvailabilityStatus = {
103
158
  AVAILABLE: "AVAILABLE",
104
159
  UNAVAILABLE: "UNAVAILABLE",
105
160
  };
161
+ export class ResourceInUseException extends __BaseException {
162
+ constructor(opts) {
163
+ super({
164
+ name: "ResourceInUseException",
165
+ $fault: "client",
166
+ ...opts,
167
+ });
168
+ this.name = "ResourceInUseException";
169
+ this.$fault = "client";
170
+ Object.setPrototypeOf(this, ResourceInUseException.prototype);
171
+ this.Message = opts.Message;
172
+ this.Code = opts.Code;
173
+ }
174
+ }
@@ -1,7 +1,8 @@
1
+ import { awsExpectUnion as __expectUnion } from "@aws-sdk/core";
1
2
  import { HttpRequest as __HttpRequest } from "@smithy/protocol-http";
2
3
  import { _json, collectBody, decorateServiceException as __decorateServiceException, expectBoolean as __expectBoolean, expectInt32 as __expectInt32, expectLong as __expectLong, expectNonNull as __expectNonNull, expectObject as __expectObject, expectString as __expectString, limitedParseDouble as __limitedParseDouble, map, parseRfc3339DateTimeWithOffset as __parseRfc3339DateTimeWithOffset, resolvedPath as __resolvedPath, serializeFloat as __serializeFloat, take, withBaseException, } from "@smithy/smithy-client";
3
4
  import { AccessDeniedException, InternalException, InvalidAccessException, InvalidInputException, LimitExceededException, ResourceNotFoundException, } from "../models/models_0";
4
- import { ResourceConflictException, } from "../models/models_2";
5
+ import { ParameterValue, ResourceConflictException, ResourceInUseException, } from "../models/models_2";
5
6
  import { SecurityHubServiceException as __BaseException } from "../models/SecurityHubServiceException";
6
7
  export const se_AcceptAdministratorInvitationCommand = async (input, context) => {
7
8
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
@@ -968,6 +969,25 @@ export const se_GetMembersCommand = async (input, context) => {
968
969
  body,
969
970
  });
970
971
  };
972
+ export const se_GetSecurityControlDefinitionCommand = async (input, context) => {
973
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
974
+ const headers = {};
975
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/securityControl/definition";
976
+ const query = map({
977
+ SecurityControlId: [, __expectNonNull(input.SecurityControlId, `SecurityControlId`)],
978
+ });
979
+ let body;
980
+ return new __HttpRequest({
981
+ protocol,
982
+ hostname,
983
+ port,
984
+ method: "GET",
985
+ headers,
986
+ path: resolvedPath,
987
+ query,
988
+ body,
989
+ });
990
+ };
971
991
  export const se_InviteMembersCommand = async (input, context) => {
972
992
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
973
993
  const headers = {
@@ -1321,6 +1341,28 @@ export const se_UpdateOrganizationConfigurationCommand = async (input, context)
1321
1341
  body,
1322
1342
  });
1323
1343
  };
1344
+ export const se_UpdateSecurityControlCommand = async (input, context) => {
1345
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1346
+ const headers = {
1347
+ "content-type": "application/json",
1348
+ };
1349
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/securityControl/update";
1350
+ let body;
1351
+ body = JSON.stringify(take(input, {
1352
+ LastUpdateReason: [],
1353
+ Parameters: (_) => se_Parameters(_, context),
1354
+ SecurityControlId: [],
1355
+ }));
1356
+ return new __HttpRequest({
1357
+ protocol,
1358
+ hostname,
1359
+ port,
1360
+ method: "PATCH",
1361
+ headers,
1362
+ path: resolvedPath,
1363
+ body,
1364
+ });
1365
+ };
1324
1366
  export const se_UpdateSecurityHubConfigurationCommand = async (input, context) => {
1325
1367
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1326
1368
  const headers = {
@@ -1634,7 +1676,7 @@ export const de_BatchGetSecurityControlsCommand = async (output, context) => {
1634
1676
  });
1635
1677
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1636
1678
  const doc = take(data, {
1637
- SecurityControls: _json,
1679
+ SecurityControls: (_) => de_SecurityControls(_, context),
1638
1680
  UnprocessedIds: _json,
1639
1681
  });
1640
1682
  Object.assign(contents, doc);
@@ -3451,6 +3493,51 @@ const de_GetMembersCommandError = async (output, context) => {
3451
3493
  });
3452
3494
  }
3453
3495
  };
3496
+ export const de_GetSecurityControlDefinitionCommand = async (output, context) => {
3497
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
3498
+ return de_GetSecurityControlDefinitionCommandError(output, context);
3499
+ }
3500
+ const contents = map({
3501
+ $metadata: deserializeMetadata(output),
3502
+ });
3503
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3504
+ const doc = take(data, {
3505
+ SecurityControlDefinition: (_) => de_SecurityControlDefinition(_, context),
3506
+ });
3507
+ Object.assign(contents, doc);
3508
+ return contents;
3509
+ };
3510
+ const de_GetSecurityControlDefinitionCommandError = async (output, context) => {
3511
+ const parsedOutput = {
3512
+ ...output,
3513
+ body: await parseErrorBody(output.body, context),
3514
+ };
3515
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
3516
+ switch (errorCode) {
3517
+ case "InternalException":
3518
+ case "com.amazonaws.securityhub#InternalException":
3519
+ throw await de_InternalExceptionRes(parsedOutput, context);
3520
+ case "InvalidAccessException":
3521
+ case "com.amazonaws.securityhub#InvalidAccessException":
3522
+ throw await de_InvalidAccessExceptionRes(parsedOutput, context);
3523
+ case "InvalidInputException":
3524
+ case "com.amazonaws.securityhub#InvalidInputException":
3525
+ throw await de_InvalidInputExceptionRes(parsedOutput, context);
3526
+ case "LimitExceededException":
3527
+ case "com.amazonaws.securityhub#LimitExceededException":
3528
+ throw await de_LimitExceededExceptionRes(parsedOutput, context);
3529
+ case "ResourceNotFoundException":
3530
+ case "com.amazonaws.securityhub#ResourceNotFoundException":
3531
+ throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
3532
+ default:
3533
+ const parsedBody = parsedOutput.body;
3534
+ return throwDefaultError({
3535
+ output,
3536
+ parsedBody,
3537
+ errorCode,
3538
+ });
3539
+ }
3540
+ };
3454
3541
  export const de_InviteMembersCommand = async (output, context) => {
3455
3542
  if (output.statusCode !== 200 && output.statusCode >= 300) {
3456
3543
  return de_InviteMembersCommandError(output, context);
@@ -3767,7 +3854,7 @@ export const de_ListSecurityControlDefinitionsCommand = async (output, context)
3767
3854
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3768
3855
  const doc = take(data, {
3769
3856
  NextToken: __expectString,
3770
- SecurityControlDefinitions: _json,
3857
+ SecurityControlDefinitions: (_) => de_SecurityControlDefinitions(_, context),
3771
3858
  });
3772
3859
  Object.assign(contents, doc);
3773
3860
  return contents;
@@ -4161,6 +4248,50 @@ const de_UpdateOrganizationConfigurationCommandError = async (output, context) =
4161
4248
  });
4162
4249
  }
4163
4250
  };
4251
+ export const de_UpdateSecurityControlCommand = async (output, context) => {
4252
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
4253
+ return de_UpdateSecurityControlCommandError(output, context);
4254
+ }
4255
+ const contents = map({
4256
+ $metadata: deserializeMetadata(output),
4257
+ });
4258
+ await collectBody(output.body, context);
4259
+ return contents;
4260
+ };
4261
+ const de_UpdateSecurityControlCommandError = async (output, context) => {
4262
+ const parsedOutput = {
4263
+ ...output,
4264
+ body: await parseErrorBody(output.body, context),
4265
+ };
4266
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
4267
+ switch (errorCode) {
4268
+ case "InternalException":
4269
+ case "com.amazonaws.securityhub#InternalException":
4270
+ throw await de_InternalExceptionRes(parsedOutput, context);
4271
+ case "InvalidAccessException":
4272
+ case "com.amazonaws.securityhub#InvalidAccessException":
4273
+ throw await de_InvalidAccessExceptionRes(parsedOutput, context);
4274
+ case "InvalidInputException":
4275
+ case "com.amazonaws.securityhub#InvalidInputException":
4276
+ throw await de_InvalidInputExceptionRes(parsedOutput, context);
4277
+ case "LimitExceededException":
4278
+ case "com.amazonaws.securityhub#LimitExceededException":
4279
+ throw await de_LimitExceededExceptionRes(parsedOutput, context);
4280
+ case "ResourceInUseException":
4281
+ case "com.amazonaws.securityhub#ResourceInUseException":
4282
+ throw await de_ResourceInUseExceptionRes(parsedOutput, context);
4283
+ case "ResourceNotFoundException":
4284
+ case "com.amazonaws.securityhub#ResourceNotFoundException":
4285
+ throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
4286
+ default:
4287
+ const parsedBody = parsedOutput.body;
4288
+ return throwDefaultError({
4289
+ output,
4290
+ parsedBody,
4291
+ errorCode,
4292
+ });
4293
+ }
4294
+ };
4164
4295
  export const de_UpdateSecurityHubConfigurationCommand = async (output, context) => {
4165
4296
  if (output.statusCode !== 200 && output.statusCode >= 300) {
4166
4297
  return de_UpdateSecurityHubConfigurationCommandError(output, context);
@@ -4325,6 +4456,20 @@ const de_ResourceConflictExceptionRes = async (parsedOutput, context) => {
4325
4456
  });
4326
4457
  return __decorateServiceException(exception, parsedOutput.body);
4327
4458
  };
4459
+ const de_ResourceInUseExceptionRes = async (parsedOutput, context) => {
4460
+ const contents = map({});
4461
+ const data = parsedOutput.body;
4462
+ const doc = take(data, {
4463
+ Code: __expectString,
4464
+ Message: __expectString,
4465
+ });
4466
+ Object.assign(contents, doc);
4467
+ const exception = new ResourceInUseException({
4468
+ $metadata: deserializeMetadata(parsedOutput),
4469
+ ...contents,
4470
+ });
4471
+ return __decorateServiceException(exception, parsedOutput.body);
4472
+ };
4328
4473
  const de_ResourceNotFoundExceptionRes = async (parsedOutput, context) => {
4329
4474
  const contents = map({});
4330
4475
  const data = parsedOutput.body;
@@ -4750,6 +4895,8 @@ const se_AwsSecurityFindingFilters = (input, context) => {
4750
4895
  CompanyName: _json,
4751
4896
  ComplianceAssociatedStandardsId: _json,
4752
4897
  ComplianceSecurityControlId: _json,
4898
+ ComplianceSecurityControlParametersName: _json,
4899
+ ComplianceSecurityControlParametersValue: _json,
4753
4900
  ComplianceStatus: _json,
4754
4901
  Confidence: (_) => se_NumberFilterList(_, context),
4755
4902
  CreatedAt: _json,
@@ -4841,6 +4988,8 @@ const se_AwsSecurityFindingFilters = (input, context) => {
4841
4988
  UpdatedAt: _json,
4842
4989
  UserDefinedFields: _json,
4843
4990
  VerificationState: _json,
4991
+ VulnerabilitiesExploitAvailable: _json,
4992
+ VulnerabilitiesFixAvailable: _json,
4844
4993
  WorkflowState: _json,
4845
4994
  WorkflowStatus: _json,
4846
4995
  });
@@ -4887,7 +5036,9 @@ const se_NetworkConnectionAction = (input, context) => {
4887
5036
  const se_NumberFilter = (input, context) => {
4888
5037
  return take(input, {
4889
5038
  Eq: __serializeFloat,
5039
+ Gt: __serializeFloat,
4890
5040
  Gte: __serializeFloat,
5041
+ Lt: __serializeFloat,
4891
5042
  Lte: __serializeFloat,
4892
5043
  });
4893
5044
  };
@@ -4898,6 +5049,34 @@ const se_NumberFilterList = (input, context) => {
4898
5049
  return se_NumberFilter(entry, context);
4899
5050
  });
4900
5051
  };
5052
+ const se_ParameterConfiguration = (input, context) => {
5053
+ return take(input, {
5054
+ Value: (_) => se_ParameterValue(_, context),
5055
+ ValueType: [],
5056
+ });
5057
+ };
5058
+ const se_Parameters = (input, context) => {
5059
+ return Object.entries(input).reduce((acc, [key, value]) => {
5060
+ if (value === null) {
5061
+ return acc;
5062
+ }
5063
+ acc[key] = se_ParameterConfiguration(value, context);
5064
+ return acc;
5065
+ }, {});
5066
+ };
5067
+ const se_ParameterValue = (input, context) => {
5068
+ return ParameterValue.visit(input, {
5069
+ Boolean: (value) => ({ Boolean: value }),
5070
+ Double: (value) => ({ Double: __serializeFloat(value) }),
5071
+ Enum: (value) => ({ Enum: value }),
5072
+ EnumList: (value) => ({ EnumList: _json(value) }),
5073
+ Integer: (value) => ({ Integer: value }),
5074
+ IntegerList: (value) => ({ IntegerList: _json(value) }),
5075
+ String: (value) => ({ String: value }),
5076
+ StringList: (value) => ({ StringList: _json(value) }),
5077
+ _: (name, value) => ({ name: value }),
5078
+ });
5079
+ };
4901
5080
  const se_PortProbeAction = (input, context) => {
4902
5081
  return take(input, {
4903
5082
  Blocked: [],
@@ -5550,6 +5729,8 @@ const de_AwsSecurityFindingFilters = (output, context) => {
5550
5729
  CompanyName: _json,
5551
5730
  ComplianceAssociatedStandardsId: _json,
5552
5731
  ComplianceSecurityControlId: _json,
5732
+ ComplianceSecurityControlParametersName: _json,
5733
+ ComplianceSecurityControlParametersValue: _json,
5553
5734
  ComplianceStatus: _json,
5554
5735
  Confidence: (_) => de_NumberFilterList(_, context),
5555
5736
  CreatedAt: _json,
@@ -5641,6 +5822,8 @@ const de_AwsSecurityFindingFilters = (output, context) => {
5641
5822
  UpdatedAt: _json,
5642
5823
  UserDefinedFields: _json,
5643
5824
  VerificationState: _json,
5825
+ VulnerabilitiesExploitAvailable: _json,
5826
+ VulnerabilitiesFixAvailable: _json,
5644
5827
  WorkflowState: _json,
5645
5828
  WorkflowStatus: _json,
5646
5829
  });
@@ -5653,6 +5836,49 @@ const de_AwsSecurityFindingList = (output, context) => {
5653
5836
  });
5654
5837
  return retVal;
5655
5838
  };
5839
+ const de_ConfigurationOptions = (output, context) => {
5840
+ if (output.Boolean != null) {
5841
+ return {
5842
+ Boolean: _json(output.Boolean),
5843
+ };
5844
+ }
5845
+ if (output.Double != null) {
5846
+ return {
5847
+ Double: de_DoubleConfigurationOptions(output.Double, context),
5848
+ };
5849
+ }
5850
+ if (output.Enum != null) {
5851
+ return {
5852
+ Enum: _json(output.Enum),
5853
+ };
5854
+ }
5855
+ if (output.EnumList != null) {
5856
+ return {
5857
+ EnumList: _json(output.EnumList),
5858
+ };
5859
+ }
5860
+ if (output.Integer != null) {
5861
+ return {
5862
+ Integer: _json(output.Integer),
5863
+ };
5864
+ }
5865
+ if (output.IntegerList != null) {
5866
+ return {
5867
+ IntegerList: _json(output.IntegerList),
5868
+ };
5869
+ }
5870
+ if (output.String != null) {
5871
+ return {
5872
+ String: _json(output.String),
5873
+ };
5874
+ }
5875
+ if (output.StringList != null) {
5876
+ return {
5877
+ StringList: _json(output.StringList),
5878
+ };
5879
+ }
5880
+ return { $unknown: Object.entries(output)[0] };
5881
+ };
5656
5882
  const de_Cvss = (output, context) => {
5657
5883
  return take(output, {
5658
5884
  Adjustments: _json,
@@ -5670,6 +5896,13 @@ const de_CvssList = (output, context) => {
5670
5896
  });
5671
5897
  return retVal;
5672
5898
  };
5899
+ const de_DoubleConfigurationOptions = (output, context) => {
5900
+ return take(output, {
5901
+ DefaultValue: __limitedParseDouble,
5902
+ Max: __limitedParseDouble,
5903
+ Min: __limitedParseDouble,
5904
+ });
5905
+ };
5673
5906
  const de_FindingHistoryRecord = (output, context) => {
5674
5907
  return take(output, {
5675
5908
  FindingCreated: __expectBoolean,
@@ -5758,7 +5991,9 @@ const de_NetworkConnectionAction = (output, context) => {
5758
5991
  const de_NumberFilter = (output, context) => {
5759
5992
  return take(output, {
5760
5993
  Eq: __limitedParseDouble,
5994
+ Gt: __limitedParseDouble,
5761
5995
  Gte: __limitedParseDouble,
5996
+ Lt: __limitedParseDouble,
5762
5997
  Lte: __limitedParseDouble,
5763
5998
  });
5764
5999
  };
@@ -5770,6 +6005,69 @@ const de_NumberFilterList = (output, context) => {
5770
6005
  });
5771
6006
  return retVal;
5772
6007
  };
6008
+ const de_ParameterConfiguration = (output, context) => {
6009
+ return take(output, {
6010
+ Value: (_) => de_ParameterValue(__expectUnion(_), context),
6011
+ ValueType: __expectString,
6012
+ });
6013
+ };
6014
+ const de_ParameterDefinition = (output, context) => {
6015
+ return take(output, {
6016
+ ConfigurationOptions: (_) => de_ConfigurationOptions(__expectUnion(_), context),
6017
+ Description: __expectString,
6018
+ });
6019
+ };
6020
+ const de_ParameterDefinitions = (output, context) => {
6021
+ return Object.entries(output).reduce((acc, [key, value]) => {
6022
+ if (value === null) {
6023
+ return acc;
6024
+ }
6025
+ acc[key] = de_ParameterDefinition(value, context);
6026
+ return acc;
6027
+ }, {});
6028
+ };
6029
+ const de_Parameters = (output, context) => {
6030
+ return Object.entries(output).reduce((acc, [key, value]) => {
6031
+ if (value === null) {
6032
+ return acc;
6033
+ }
6034
+ acc[key] = de_ParameterConfiguration(value, context);
6035
+ return acc;
6036
+ }, {});
6037
+ };
6038
+ const de_ParameterValue = (output, context) => {
6039
+ if (__expectBoolean(output.Boolean) !== undefined) {
6040
+ return { Boolean: __expectBoolean(output.Boolean) };
6041
+ }
6042
+ if (__limitedParseDouble(output.Double) !== undefined) {
6043
+ return { Double: __limitedParseDouble(output.Double) };
6044
+ }
6045
+ if (__expectString(output.Enum) !== undefined) {
6046
+ return { Enum: __expectString(output.Enum) };
6047
+ }
6048
+ if (output.EnumList != null) {
6049
+ return {
6050
+ EnumList: _json(output.EnumList),
6051
+ };
6052
+ }
6053
+ if (__expectInt32(output.Integer) !== undefined) {
6054
+ return { Integer: __expectInt32(output.Integer) };
6055
+ }
6056
+ if (output.IntegerList != null) {
6057
+ return {
6058
+ IntegerList: _json(output.IntegerList),
6059
+ };
6060
+ }
6061
+ if (__expectString(output.String) !== undefined) {
6062
+ return { String: __expectString(output.String) };
6063
+ }
6064
+ if (output.StringList != null) {
6065
+ return {
6066
+ StringList: _json(output.StringList),
6067
+ };
6068
+ }
6069
+ return { $unknown: Object.entries(output)[0] };
6070
+ };
5773
6071
  const de_PortProbeAction = (output, context) => {
5774
6072
  return take(output, {
5775
6073
  Blocked: __expectBoolean,
@@ -5912,6 +6210,48 @@ const de_ResourceList = (output, context) => {
5912
6210
  });
5913
6211
  return retVal;
5914
6212
  };
6213
+ const de_SecurityControl = (output, context) => {
6214
+ return take(output, {
6215
+ Description: __expectString,
6216
+ LastUpdateReason: __expectString,
6217
+ Parameters: (_) => de_Parameters(_, context),
6218
+ RemediationUrl: __expectString,
6219
+ SecurityControlArn: __expectString,
6220
+ SecurityControlId: __expectString,
6221
+ SecurityControlStatus: __expectString,
6222
+ SeverityRating: __expectString,
6223
+ Title: __expectString,
6224
+ UpdateStatus: __expectString,
6225
+ });
6226
+ };
6227
+ const de_SecurityControlDefinition = (output, context) => {
6228
+ return take(output, {
6229
+ CurrentRegionAvailability: __expectString,
6230
+ CustomizableProperties: _json,
6231
+ Description: __expectString,
6232
+ ParameterDefinitions: (_) => de_ParameterDefinitions(_, context),
6233
+ RemediationUrl: __expectString,
6234
+ SecurityControlId: __expectString,
6235
+ SeverityRating: __expectString,
6236
+ Title: __expectString,
6237
+ });
6238
+ };
6239
+ const de_SecurityControlDefinitions = (output, context) => {
6240
+ const retVal = (output || [])
6241
+ .filter((e) => e != null)
6242
+ .map((entry) => {
6243
+ return de_SecurityControlDefinition(entry, context);
6244
+ });
6245
+ return retVal;
6246
+ };
6247
+ const de_SecurityControls = (output, context) => {
6248
+ const retVal = (output || [])
6249
+ .filter((e) => e != null)
6250
+ .map((entry) => {
6251
+ return de_SecurityControl(entry, context);
6252
+ });
6253
+ return retVal;
6254
+ };
5915
6255
  const de_Severity = (output, context) => {
5916
6256
  return take(output, {
5917
6257
  Label: __expectString,
@@ -47,6 +47,7 @@ import { GetInsightsCommandInput, GetInsightsCommandOutput } from "./commands/Ge
47
47
  import { GetInvitationsCountCommandInput, GetInvitationsCountCommandOutput } from "./commands/GetInvitationsCountCommand";
48
48
  import { GetMasterAccountCommandInput, GetMasterAccountCommandOutput } from "./commands/GetMasterAccountCommand";
49
49
  import { GetMembersCommandInput, GetMembersCommandOutput } from "./commands/GetMembersCommand";
50
+ import { GetSecurityControlDefinitionCommandInput, GetSecurityControlDefinitionCommandOutput } from "./commands/GetSecurityControlDefinitionCommand";
50
51
  import { InviteMembersCommandInput, InviteMembersCommandOutput } from "./commands/InviteMembersCommand";
51
52
  import { ListAutomationRulesCommandInput, ListAutomationRulesCommandOutput } from "./commands/ListAutomationRulesCommand";
52
53
  import { ListEnabledProductsForImportCommandInput, ListEnabledProductsForImportCommandOutput } from "./commands/ListEnabledProductsForImportCommand";
@@ -64,6 +65,7 @@ import { UpdateFindingAggregatorCommandInput, UpdateFindingAggregatorCommandOutp
64
65
  import { UpdateFindingsCommandInput, UpdateFindingsCommandOutput } from "./commands/UpdateFindingsCommand";
65
66
  import { UpdateInsightCommandInput, UpdateInsightCommandOutput } from "./commands/UpdateInsightCommand";
66
67
  import { UpdateOrganizationConfigurationCommandInput, UpdateOrganizationConfigurationCommandOutput } from "./commands/UpdateOrganizationConfigurationCommand";
68
+ import { UpdateSecurityControlCommandInput, UpdateSecurityControlCommandOutput } from "./commands/UpdateSecurityControlCommand";
67
69
  import { UpdateSecurityHubConfigurationCommandInput, UpdateSecurityHubConfigurationCommandOutput } from "./commands/UpdateSecurityHubConfigurationCommand";
68
70
  import { UpdateStandardsControlCommandInput, UpdateStandardsControlCommandOutput } from "./commands/UpdateStandardsControlCommand";
69
71
  import { SecurityHubClient } from "./SecurityHubClient";
@@ -356,6 +358,12 @@ export interface SecurityHub {
356
358
  getMembers(args: GetMembersCommandInput, options?: __HttpHandlerOptions): Promise<GetMembersCommandOutput>;
357
359
  getMembers(args: GetMembersCommandInput, cb: (err: any, data?: GetMembersCommandOutput) => void): void;
358
360
  getMembers(args: GetMembersCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetMembersCommandOutput) => void): void;
361
+ /**
362
+ * @see {@link GetSecurityControlDefinitionCommand}
363
+ */
364
+ getSecurityControlDefinition(args: GetSecurityControlDefinitionCommandInput, options?: __HttpHandlerOptions): Promise<GetSecurityControlDefinitionCommandOutput>;
365
+ getSecurityControlDefinition(args: GetSecurityControlDefinitionCommandInput, cb: (err: any, data?: GetSecurityControlDefinitionCommandOutput) => void): void;
366
+ getSecurityControlDefinition(args: GetSecurityControlDefinitionCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetSecurityControlDefinitionCommandOutput) => void): void;
359
367
  /**
360
368
  * @see {@link InviteMembersCommand}
361
369
  */
@@ -458,6 +466,12 @@ export interface SecurityHub {
458
466
  updateOrganizationConfiguration(args: UpdateOrganizationConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<UpdateOrganizationConfigurationCommandOutput>;
459
467
  updateOrganizationConfiguration(args: UpdateOrganizationConfigurationCommandInput, cb: (err: any, data?: UpdateOrganizationConfigurationCommandOutput) => void): void;
460
468
  updateOrganizationConfiguration(args: UpdateOrganizationConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateOrganizationConfigurationCommandOutput) => void): void;
469
+ /**
470
+ * @see {@link UpdateSecurityControlCommand}
471
+ */
472
+ updateSecurityControl(args: UpdateSecurityControlCommandInput, options?: __HttpHandlerOptions): Promise<UpdateSecurityControlCommandOutput>;
473
+ updateSecurityControl(args: UpdateSecurityControlCommandInput, cb: (err: any, data?: UpdateSecurityControlCommandOutput) => void): void;
474
+ updateSecurityControl(args: UpdateSecurityControlCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateSecurityControlCommandOutput) => void): void;
461
475
  /**
462
476
  * @see {@link UpdateSecurityHubConfigurationCommand}
463
477
  */
@@ -56,6 +56,7 @@ import { GetInsightsCommandInput, GetInsightsCommandOutput } from "./commands/Ge
56
56
  import { GetInvitationsCountCommandInput, GetInvitationsCountCommandOutput } from "./commands/GetInvitationsCountCommand";
57
57
  import { GetMasterAccountCommandInput, GetMasterAccountCommandOutput } from "./commands/GetMasterAccountCommand";
58
58
  import { GetMembersCommandInput, GetMembersCommandOutput } from "./commands/GetMembersCommand";
59
+ import { GetSecurityControlDefinitionCommandInput, GetSecurityControlDefinitionCommandOutput } from "./commands/GetSecurityControlDefinitionCommand";
59
60
  import { InviteMembersCommandInput, InviteMembersCommandOutput } from "./commands/InviteMembersCommand";
60
61
  import { ListAutomationRulesCommandInput, ListAutomationRulesCommandOutput } from "./commands/ListAutomationRulesCommand";
61
62
  import { ListEnabledProductsForImportCommandInput, ListEnabledProductsForImportCommandOutput } from "./commands/ListEnabledProductsForImportCommand";
@@ -73,6 +74,7 @@ import { UpdateFindingAggregatorCommandInput, UpdateFindingAggregatorCommandOutp
73
74
  import { UpdateFindingsCommandInput, UpdateFindingsCommandOutput } from "./commands/UpdateFindingsCommand";
74
75
  import { UpdateInsightCommandInput, UpdateInsightCommandOutput } from "./commands/UpdateInsightCommand";
75
76
  import { UpdateOrganizationConfigurationCommandInput, UpdateOrganizationConfigurationCommandOutput } from "./commands/UpdateOrganizationConfigurationCommand";
77
+ import { UpdateSecurityControlCommandInput, UpdateSecurityControlCommandOutput } from "./commands/UpdateSecurityControlCommand";
76
78
  import { UpdateSecurityHubConfigurationCommandInput, UpdateSecurityHubConfigurationCommandOutput } from "./commands/UpdateSecurityHubConfigurationCommand";
77
79
  import { UpdateStandardsControlCommandInput, UpdateStandardsControlCommandOutput } from "./commands/UpdateStandardsControlCommand";
78
80
  import { ClientInputEndpointParameters, ClientResolvedEndpointParameters, EndpointParameters } from "./endpoint/EndpointParameters";
@@ -81,11 +83,11 @@ export { __Client };
81
83
  /**
82
84
  * @public
83
85
  */
84
- export type ServiceInputTypes = AcceptAdministratorInvitationCommandInput | AcceptInvitationCommandInput | BatchDeleteAutomationRulesCommandInput | BatchDisableStandardsCommandInput | BatchEnableStandardsCommandInput | BatchGetAutomationRulesCommandInput | BatchGetSecurityControlsCommandInput | BatchGetStandardsControlAssociationsCommandInput | BatchImportFindingsCommandInput | BatchUpdateAutomationRulesCommandInput | BatchUpdateFindingsCommandInput | BatchUpdateStandardsControlAssociationsCommandInput | CreateActionTargetCommandInput | CreateAutomationRuleCommandInput | CreateFindingAggregatorCommandInput | CreateInsightCommandInput | CreateMembersCommandInput | DeclineInvitationsCommandInput | DeleteActionTargetCommandInput | DeleteFindingAggregatorCommandInput | DeleteInsightCommandInput | DeleteInvitationsCommandInput | DeleteMembersCommandInput | DescribeActionTargetsCommandInput | DescribeHubCommandInput | DescribeOrganizationConfigurationCommandInput | DescribeProductsCommandInput | DescribeStandardsCommandInput | DescribeStandardsControlsCommandInput | DisableImportFindingsForProductCommandInput | DisableOrganizationAdminAccountCommandInput | DisableSecurityHubCommandInput | DisassociateFromAdministratorAccountCommandInput | DisassociateFromMasterAccountCommandInput | DisassociateMembersCommandInput | EnableImportFindingsForProductCommandInput | EnableOrganizationAdminAccountCommandInput | EnableSecurityHubCommandInput | GetAdministratorAccountCommandInput | GetEnabledStandardsCommandInput | GetFindingAggregatorCommandInput | GetFindingHistoryCommandInput | GetFindingsCommandInput | GetInsightResultsCommandInput | GetInsightsCommandInput | GetInvitationsCountCommandInput | GetMasterAccountCommandInput | GetMembersCommandInput | InviteMembersCommandInput | ListAutomationRulesCommandInput | ListEnabledProductsForImportCommandInput | ListFindingAggregatorsCommandInput | ListInvitationsCommandInput | ListMembersCommandInput | ListOrganizationAdminAccountsCommandInput | ListSecurityControlDefinitionsCommandInput | ListStandardsControlAssociationsCommandInput | ListTagsForResourceCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateActionTargetCommandInput | UpdateFindingAggregatorCommandInput | UpdateFindingsCommandInput | UpdateInsightCommandInput | UpdateOrganizationConfigurationCommandInput | UpdateSecurityHubConfigurationCommandInput | UpdateStandardsControlCommandInput;
86
+ export type ServiceInputTypes = AcceptAdministratorInvitationCommandInput | AcceptInvitationCommandInput | BatchDeleteAutomationRulesCommandInput | BatchDisableStandardsCommandInput | BatchEnableStandardsCommandInput | BatchGetAutomationRulesCommandInput | BatchGetSecurityControlsCommandInput | BatchGetStandardsControlAssociationsCommandInput | BatchImportFindingsCommandInput | BatchUpdateAutomationRulesCommandInput | BatchUpdateFindingsCommandInput | BatchUpdateStandardsControlAssociationsCommandInput | CreateActionTargetCommandInput | CreateAutomationRuleCommandInput | CreateFindingAggregatorCommandInput | CreateInsightCommandInput | CreateMembersCommandInput | DeclineInvitationsCommandInput | DeleteActionTargetCommandInput | DeleteFindingAggregatorCommandInput | DeleteInsightCommandInput | DeleteInvitationsCommandInput | DeleteMembersCommandInput | DescribeActionTargetsCommandInput | DescribeHubCommandInput | DescribeOrganizationConfigurationCommandInput | DescribeProductsCommandInput | DescribeStandardsCommandInput | DescribeStandardsControlsCommandInput | DisableImportFindingsForProductCommandInput | DisableOrganizationAdminAccountCommandInput | DisableSecurityHubCommandInput | DisassociateFromAdministratorAccountCommandInput | DisassociateFromMasterAccountCommandInput | DisassociateMembersCommandInput | EnableImportFindingsForProductCommandInput | EnableOrganizationAdminAccountCommandInput | EnableSecurityHubCommandInput | GetAdministratorAccountCommandInput | GetEnabledStandardsCommandInput | GetFindingAggregatorCommandInput | GetFindingHistoryCommandInput | GetFindingsCommandInput | GetInsightResultsCommandInput | GetInsightsCommandInput | GetInvitationsCountCommandInput | GetMasterAccountCommandInput | GetMembersCommandInput | GetSecurityControlDefinitionCommandInput | InviteMembersCommandInput | ListAutomationRulesCommandInput | ListEnabledProductsForImportCommandInput | ListFindingAggregatorsCommandInput | ListInvitationsCommandInput | ListMembersCommandInput | ListOrganizationAdminAccountsCommandInput | ListSecurityControlDefinitionsCommandInput | ListStandardsControlAssociationsCommandInput | ListTagsForResourceCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateActionTargetCommandInput | UpdateFindingAggregatorCommandInput | UpdateFindingsCommandInput | UpdateInsightCommandInput | UpdateOrganizationConfigurationCommandInput | UpdateSecurityControlCommandInput | UpdateSecurityHubConfigurationCommandInput | UpdateStandardsControlCommandInput;
85
87
  /**
86
88
  * @public
87
89
  */
88
- export type ServiceOutputTypes = AcceptAdministratorInvitationCommandOutput | AcceptInvitationCommandOutput | BatchDeleteAutomationRulesCommandOutput | BatchDisableStandardsCommandOutput | BatchEnableStandardsCommandOutput | BatchGetAutomationRulesCommandOutput | BatchGetSecurityControlsCommandOutput | BatchGetStandardsControlAssociationsCommandOutput | BatchImportFindingsCommandOutput | BatchUpdateAutomationRulesCommandOutput | BatchUpdateFindingsCommandOutput | BatchUpdateStandardsControlAssociationsCommandOutput | CreateActionTargetCommandOutput | CreateAutomationRuleCommandOutput | CreateFindingAggregatorCommandOutput | CreateInsightCommandOutput | CreateMembersCommandOutput | DeclineInvitationsCommandOutput | DeleteActionTargetCommandOutput | DeleteFindingAggregatorCommandOutput | DeleteInsightCommandOutput | DeleteInvitationsCommandOutput | DeleteMembersCommandOutput | DescribeActionTargetsCommandOutput | DescribeHubCommandOutput | DescribeOrganizationConfigurationCommandOutput | DescribeProductsCommandOutput | DescribeStandardsCommandOutput | DescribeStandardsControlsCommandOutput | DisableImportFindingsForProductCommandOutput | DisableOrganizationAdminAccountCommandOutput | DisableSecurityHubCommandOutput | DisassociateFromAdministratorAccountCommandOutput | DisassociateFromMasterAccountCommandOutput | DisassociateMembersCommandOutput | EnableImportFindingsForProductCommandOutput | EnableOrganizationAdminAccountCommandOutput | EnableSecurityHubCommandOutput | GetAdministratorAccountCommandOutput | GetEnabledStandardsCommandOutput | GetFindingAggregatorCommandOutput | GetFindingHistoryCommandOutput | GetFindingsCommandOutput | GetInsightResultsCommandOutput | GetInsightsCommandOutput | GetInvitationsCountCommandOutput | GetMasterAccountCommandOutput | GetMembersCommandOutput | InviteMembersCommandOutput | ListAutomationRulesCommandOutput | ListEnabledProductsForImportCommandOutput | ListFindingAggregatorsCommandOutput | ListInvitationsCommandOutput | ListMembersCommandOutput | ListOrganizationAdminAccountsCommandOutput | ListSecurityControlDefinitionsCommandOutput | ListStandardsControlAssociationsCommandOutput | ListTagsForResourceCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateActionTargetCommandOutput | UpdateFindingAggregatorCommandOutput | UpdateFindingsCommandOutput | UpdateInsightCommandOutput | UpdateOrganizationConfigurationCommandOutput | UpdateSecurityHubConfigurationCommandOutput | UpdateStandardsControlCommandOutput;
90
+ export type ServiceOutputTypes = AcceptAdministratorInvitationCommandOutput | AcceptInvitationCommandOutput | BatchDeleteAutomationRulesCommandOutput | BatchDisableStandardsCommandOutput | BatchEnableStandardsCommandOutput | BatchGetAutomationRulesCommandOutput | BatchGetSecurityControlsCommandOutput | BatchGetStandardsControlAssociationsCommandOutput | BatchImportFindingsCommandOutput | BatchUpdateAutomationRulesCommandOutput | BatchUpdateFindingsCommandOutput | BatchUpdateStandardsControlAssociationsCommandOutput | CreateActionTargetCommandOutput | CreateAutomationRuleCommandOutput | CreateFindingAggregatorCommandOutput | CreateInsightCommandOutput | CreateMembersCommandOutput | DeclineInvitationsCommandOutput | DeleteActionTargetCommandOutput | DeleteFindingAggregatorCommandOutput | DeleteInsightCommandOutput | DeleteInvitationsCommandOutput | DeleteMembersCommandOutput | DescribeActionTargetsCommandOutput | DescribeHubCommandOutput | DescribeOrganizationConfigurationCommandOutput | DescribeProductsCommandOutput | DescribeStandardsCommandOutput | DescribeStandardsControlsCommandOutput | DisableImportFindingsForProductCommandOutput | DisableOrganizationAdminAccountCommandOutput | DisableSecurityHubCommandOutput | DisassociateFromAdministratorAccountCommandOutput | DisassociateFromMasterAccountCommandOutput | DisassociateMembersCommandOutput | EnableImportFindingsForProductCommandOutput | EnableOrganizationAdminAccountCommandOutput | EnableSecurityHubCommandOutput | GetAdministratorAccountCommandOutput | GetEnabledStandardsCommandOutput | GetFindingAggregatorCommandOutput | GetFindingHistoryCommandOutput | GetFindingsCommandOutput | GetInsightResultsCommandOutput | GetInsightsCommandOutput | GetInvitationsCountCommandOutput | GetMasterAccountCommandOutput | GetMembersCommandOutput | GetSecurityControlDefinitionCommandOutput | InviteMembersCommandOutput | ListAutomationRulesCommandOutput | ListEnabledProductsForImportCommandOutput | ListFindingAggregatorsCommandOutput | ListInvitationsCommandOutput | ListMembersCommandOutput | ListOrganizationAdminAccountsCommandOutput | ListSecurityControlDefinitionsCommandOutput | ListStandardsControlAssociationsCommandOutput | ListTagsForResourceCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateActionTargetCommandOutput | UpdateFindingAggregatorCommandOutput | UpdateFindingsCommandOutput | UpdateInsightCommandOutput | UpdateOrganizationConfigurationCommandOutput | UpdateSecurityControlCommandOutput | UpdateSecurityHubConfigurationCommandOutput | UpdateStandardsControlCommandOutput;
89
91
  /**
90
92
  * @public
91
93
  */