UNPKG

67.9 kBTypeScriptView Raw
1import {Request} from '../lib/request';
2import {Response} from '../lib/response';
3import {AWSError} from '../lib/error';
4import {Service} from '../lib/service';
5import {ServiceConfigurationOptions} from '../lib/service';
6import {ConfigBase as Config} from '../lib/config';
7interface Blob {}
8declare class SecurityHub extends Service {
9 /**
10 * Constructs a service object. This object has one method for each API operation.
11 */
12 constructor(options?: SecurityHub.Types.ClientConfiguration)
13 config: Config & SecurityHub.Types.ClientConfiguration;
14 /**
15 * Accepts the invitation to be monitored by a master SecurityHub account.
16 */
17 acceptInvitation(params: SecurityHub.Types.AcceptInvitationRequest, callback?: (err: AWSError, data: SecurityHub.Types.AcceptInvitationResponse) => void): Request<SecurityHub.Types.AcceptInvitationResponse, AWSError>;
18 /**
19 * Accepts the invitation to be monitored by a master SecurityHub account.
20 */
21 acceptInvitation(callback?: (err: AWSError, data: SecurityHub.Types.AcceptInvitationResponse) => void): Request<SecurityHub.Types.AcceptInvitationResponse, AWSError>;
22 /**
23 * Disables the standards specified by the standards subscription ARNs. In the context of Security Hub, supported standards (for example, CIS AWS Foundations) are automated and continuous checks that help determine your compliance status against security industry (including AWS) best practices.
24 */
25 batchDisableStandards(params: SecurityHub.Types.BatchDisableStandardsRequest, callback?: (err: AWSError, data: SecurityHub.Types.BatchDisableStandardsResponse) => void): Request<SecurityHub.Types.BatchDisableStandardsResponse, AWSError>;
26 /**
27 * Disables the standards specified by the standards subscription ARNs. In the context of Security Hub, supported standards (for example, CIS AWS Foundations) are automated and continuous checks that help determine your compliance status against security industry (including AWS) best practices.
28 */
29 batchDisableStandards(callback?: (err: AWSError, data: SecurityHub.Types.BatchDisableStandardsResponse) => void): Request<SecurityHub.Types.BatchDisableStandardsResponse, AWSError>;
30 /**
31 * Enables the standards specified by the standards ARNs. In the context of Security Hub, supported standards (for example, CIS AWS Foundations) are automated and continuous checks that help determine your compliance status against security industry (including AWS) best practices.
32 */
33 batchEnableStandards(params: SecurityHub.Types.BatchEnableStandardsRequest, callback?: (err: AWSError, data: SecurityHub.Types.BatchEnableStandardsResponse) => void): Request<SecurityHub.Types.BatchEnableStandardsResponse, AWSError>;
34 /**
35 * Enables the standards specified by the standards ARNs. In the context of Security Hub, supported standards (for example, CIS AWS Foundations) are automated and continuous checks that help determine your compliance status against security industry (including AWS) best practices.
36 */
37 batchEnableStandards(callback?: (err: AWSError, data: SecurityHub.Types.BatchEnableStandardsResponse) => void): Request<SecurityHub.Types.BatchEnableStandardsResponse, AWSError>;
38 /**
39 * Imports security findings that are generated by the integrated third-party products into Security Hub.
40 */
41 batchImportFindings(params: SecurityHub.Types.BatchImportFindingsRequest, callback?: (err: AWSError, data: SecurityHub.Types.BatchImportFindingsResponse) => void): Request<SecurityHub.Types.BatchImportFindingsResponse, AWSError>;
42 /**
43 * Imports security findings that are generated by the integrated third-party products into Security Hub.
44 */
45 batchImportFindings(callback?: (err: AWSError, data: SecurityHub.Types.BatchImportFindingsResponse) => void): Request<SecurityHub.Types.BatchImportFindingsResponse, AWSError>;
46 /**
47 * Creates an insight, which is a consolidation of findings that identifies a security area that requires attention or intervention.
48 */
49 createInsight(params: SecurityHub.Types.CreateInsightRequest, callback?: (err: AWSError, data: SecurityHub.Types.CreateInsightResponse) => void): Request<SecurityHub.Types.CreateInsightResponse, AWSError>;
50 /**
51 * Creates an insight, which is a consolidation of findings that identifies a security area that requires attention or intervention.
52 */
53 createInsight(callback?: (err: AWSError, data: SecurityHub.Types.CreateInsightResponse) => void): Request<SecurityHub.Types.CreateInsightResponse, AWSError>;
54 /**
55 * Creates member Security Hub accounts in the current AWS account (which becomes the master Security Hub account) that has Security Hub enabled.
56 */
57 createMembers(params: SecurityHub.Types.CreateMembersRequest, callback?: (err: AWSError, data: SecurityHub.Types.CreateMembersResponse) => void): Request<SecurityHub.Types.CreateMembersResponse, AWSError>;
58 /**
59 * Creates member Security Hub accounts in the current AWS account (which becomes the master Security Hub account) that has Security Hub enabled.
60 */
61 createMembers(callback?: (err: AWSError, data: SecurityHub.Types.CreateMembersResponse) => void): Request<SecurityHub.Types.CreateMembersResponse, AWSError>;
62 /**
63 * Declines invitations that are sent to this AWS account (invitee) by the AWS accounts (inviters) that are specified by the account IDs.
64 */
65 declineInvitations(params: SecurityHub.Types.DeclineInvitationsRequest, callback?: (err: AWSError, data: SecurityHub.Types.DeclineInvitationsResponse) => void): Request<SecurityHub.Types.DeclineInvitationsResponse, AWSError>;
66 /**
67 * Declines invitations that are sent to this AWS account (invitee) by the AWS accounts (inviters) that are specified by the account IDs.
68 */
69 declineInvitations(callback?: (err: AWSError, data: SecurityHub.Types.DeclineInvitationsResponse) => void): Request<SecurityHub.Types.DeclineInvitationsResponse, AWSError>;
70 /**
71 * Deletes an insight that is specified by the insight ARN.
72 */
73 deleteInsight(params: SecurityHub.Types.DeleteInsightRequest, callback?: (err: AWSError, data: SecurityHub.Types.DeleteInsightResponse) => void): Request<SecurityHub.Types.DeleteInsightResponse, AWSError>;
74 /**
75 * Deletes an insight that is specified by the insight ARN.
76 */
77 deleteInsight(callback?: (err: AWSError, data: SecurityHub.Types.DeleteInsightResponse) => void): Request<SecurityHub.Types.DeleteInsightResponse, AWSError>;
78 /**
79 * Deletes invitations that are sent to this AWS account (invitee) by the AWS accounts (inviters) that are specified by their account IDs.
80 */
81 deleteInvitations(params: SecurityHub.Types.DeleteInvitationsRequest, callback?: (err: AWSError, data: SecurityHub.Types.DeleteInvitationsResponse) => void): Request<SecurityHub.Types.DeleteInvitationsResponse, AWSError>;
82 /**
83 * Deletes invitations that are sent to this AWS account (invitee) by the AWS accounts (inviters) that are specified by their account IDs.
84 */
85 deleteInvitations(callback?: (err: AWSError, data: SecurityHub.Types.DeleteInvitationsResponse) => void): Request<SecurityHub.Types.DeleteInvitationsResponse, AWSError>;
86 /**
87 * Deletes the Security Hub member accounts that are specified by the account IDs.
88 */
89 deleteMembers(params: SecurityHub.Types.DeleteMembersRequest, callback?: (err: AWSError, data: SecurityHub.Types.DeleteMembersResponse) => void): Request<SecurityHub.Types.DeleteMembersResponse, AWSError>;
90 /**
91 * Deletes the Security Hub member accounts that are specified by the account IDs.
92 */
93 deleteMembers(callback?: (err: AWSError, data: SecurityHub.Types.DeleteMembersResponse) => void): Request<SecurityHub.Types.DeleteMembersResponse, AWSError>;
94 /**
95 * Stops you from being able to import findings generated by integrated third-party providers into Security Hub.
96 */
97 disableImportFindingsForProduct(params: SecurityHub.Types.DisableImportFindingsForProductRequest, callback?: (err: AWSError, data: SecurityHub.Types.DisableImportFindingsForProductResponse) => void): Request<SecurityHub.Types.DisableImportFindingsForProductResponse, AWSError>;
98 /**
99 * Stops you from being able to import findings generated by integrated third-party providers into Security Hub.
100 */
101 disableImportFindingsForProduct(callback?: (err: AWSError, data: SecurityHub.Types.DisableImportFindingsForProductResponse) => void): Request<SecurityHub.Types.DisableImportFindingsForProductResponse, AWSError>;
102 /**
103 * Disables the AWS Security Hub Service.
104 */
105 disableSecurityHub(params: SecurityHub.Types.DisableSecurityHubRequest, callback?: (err: AWSError, data: SecurityHub.Types.DisableSecurityHubResponse) => void): Request<SecurityHub.Types.DisableSecurityHubResponse, AWSError>;
106 /**
107 * Disables the AWS Security Hub Service.
108 */
109 disableSecurityHub(callback?: (err: AWSError, data: SecurityHub.Types.DisableSecurityHubResponse) => void): Request<SecurityHub.Types.DisableSecurityHubResponse, AWSError>;
110 /**
111 * Disassociates the current Security Hub member account from its master account.
112 */
113 disassociateFromMasterAccount(params: SecurityHub.Types.DisassociateFromMasterAccountRequest, callback?: (err: AWSError, data: SecurityHub.Types.DisassociateFromMasterAccountResponse) => void): Request<SecurityHub.Types.DisassociateFromMasterAccountResponse, AWSError>;
114 /**
115 * Disassociates the current Security Hub member account from its master account.
116 */
117 disassociateFromMasterAccount(callback?: (err: AWSError, data: SecurityHub.Types.DisassociateFromMasterAccountResponse) => void): Request<SecurityHub.Types.DisassociateFromMasterAccountResponse, AWSError>;
118 /**
119 * Disassociates the Security Hub member accounts that are specified by the account IDs from their master account.
120 */
121 disassociateMembers(params: SecurityHub.Types.DisassociateMembersRequest, callback?: (err: AWSError, data: SecurityHub.Types.DisassociateMembersResponse) => void): Request<SecurityHub.Types.DisassociateMembersResponse, AWSError>;
122 /**
123 * Disassociates the Security Hub member accounts that are specified by the account IDs from their master account.
124 */
125 disassociateMembers(callback?: (err: AWSError, data: SecurityHub.Types.DisassociateMembersResponse) => void): Request<SecurityHub.Types.DisassociateMembersResponse, AWSError>;
126 /**
127 * Enables you to import findings generated by integrated third-party providers into Security Hub.
128 */
129 enableImportFindingsForProduct(params: SecurityHub.Types.EnableImportFindingsForProductRequest, callback?: (err: AWSError, data: SecurityHub.Types.EnableImportFindingsForProductResponse) => void): Request<SecurityHub.Types.EnableImportFindingsForProductResponse, AWSError>;
130 /**
131 * Enables you to import findings generated by integrated third-party providers into Security Hub.
132 */
133 enableImportFindingsForProduct(callback?: (err: AWSError, data: SecurityHub.Types.EnableImportFindingsForProductResponse) => void): Request<SecurityHub.Types.EnableImportFindingsForProductResponse, AWSError>;
134 /**
135 * Enables the AWS Security Hub service.
136 */
137 enableSecurityHub(params: SecurityHub.Types.EnableSecurityHubRequest, callback?: (err: AWSError, data: SecurityHub.Types.EnableSecurityHubResponse) => void): Request<SecurityHub.Types.EnableSecurityHubResponse, AWSError>;
138 /**
139 * Enables the AWS Security Hub service.
140 */
141 enableSecurityHub(callback?: (err: AWSError, data: SecurityHub.Types.EnableSecurityHubResponse) => void): Request<SecurityHub.Types.EnableSecurityHubResponse, AWSError>;
142 /**
143 * Lists and describes enabled standards.
144 */
145 getEnabledStandards(params: SecurityHub.Types.GetEnabledStandardsRequest, callback?: (err: AWSError, data: SecurityHub.Types.GetEnabledStandardsResponse) => void): Request<SecurityHub.Types.GetEnabledStandardsResponse, AWSError>;
146 /**
147 * Lists and describes enabled standards.
148 */
149 getEnabledStandards(callback?: (err: AWSError, data: SecurityHub.Types.GetEnabledStandardsResponse) => void): Request<SecurityHub.Types.GetEnabledStandardsResponse, AWSError>;
150 /**
151 * Lists and describes Security Hub-aggregated findings that are specified by filter attributes.
152 */
153 getFindings(params: SecurityHub.Types.GetFindingsRequest, callback?: (err: AWSError, data: SecurityHub.Types.GetFindingsResponse) => void): Request<SecurityHub.Types.GetFindingsResponse, AWSError>;
154 /**
155 * Lists and describes Security Hub-aggregated findings that are specified by filter attributes.
156 */
157 getFindings(callback?: (err: AWSError, data: SecurityHub.Types.GetFindingsResponse) => void): Request<SecurityHub.Types.GetFindingsResponse, AWSError>;
158 /**
159 * Lists the results of the Security Hub insight specified by the insight ARN.
160 */
161 getInsightResults(params: SecurityHub.Types.GetInsightResultsRequest, callback?: (err: AWSError, data: SecurityHub.Types.GetInsightResultsResponse) => void): Request<SecurityHub.Types.GetInsightResultsResponse, AWSError>;
162 /**
163 * Lists the results of the Security Hub insight specified by the insight ARN.
164 */
165 getInsightResults(callback?: (err: AWSError, data: SecurityHub.Types.GetInsightResultsResponse) => void): Request<SecurityHub.Types.GetInsightResultsResponse, AWSError>;
166 /**
167 * Lists and describes insights that are specified by insight ARNs.
168 */
169 getInsights(params: SecurityHub.Types.GetInsightsRequest, callback?: (err: AWSError, data: SecurityHub.Types.GetInsightsResponse) => void): Request<SecurityHub.Types.GetInsightsResponse, AWSError>;
170 /**
171 * Lists and describes insights that are specified by insight ARNs.
172 */
173 getInsights(callback?: (err: AWSError, data: SecurityHub.Types.GetInsightsResponse) => void): Request<SecurityHub.Types.GetInsightsResponse, AWSError>;
174 /**
175 * Returns the count of all Security Hub membership invitations that were sent to the current member account, not including the currently accepted invitation.
176 */
177 getInvitationsCount(params: SecurityHub.Types.GetInvitationsCountRequest, callback?: (err: AWSError, data: SecurityHub.Types.GetInvitationsCountResponse) => void): Request<SecurityHub.Types.GetInvitationsCountResponse, AWSError>;
178 /**
179 * Returns the count of all Security Hub membership invitations that were sent to the current member account, not including the currently accepted invitation.
180 */
181 getInvitationsCount(callback?: (err: AWSError, data: SecurityHub.Types.GetInvitationsCountResponse) => void): Request<SecurityHub.Types.GetInvitationsCountResponse, AWSError>;
182 /**
183 * Provides the details for the Security Hub master account to the current member account.
184 */
185 getMasterAccount(params: SecurityHub.Types.GetMasterAccountRequest, callback?: (err: AWSError, data: SecurityHub.Types.GetMasterAccountResponse) => void): Request<SecurityHub.Types.GetMasterAccountResponse, AWSError>;
186 /**
187 * Provides the details for the Security Hub master account to the current member account.
188 */
189 getMasterAccount(callback?: (err: AWSError, data: SecurityHub.Types.GetMasterAccountResponse) => void): Request<SecurityHub.Types.GetMasterAccountResponse, AWSError>;
190 /**
191 * Returns the details on the Security Hub member accounts that are specified by the account IDs.
192 */
193 getMembers(params: SecurityHub.Types.GetMembersRequest, callback?: (err: AWSError, data: SecurityHub.Types.GetMembersResponse) => void): Request<SecurityHub.Types.GetMembersResponse, AWSError>;
194 /**
195 * Returns the details on the Security Hub member accounts that are specified by the account IDs.
196 */
197 getMembers(callback?: (err: AWSError, data: SecurityHub.Types.GetMembersResponse) => void): Request<SecurityHub.Types.GetMembersResponse, AWSError>;
198 /**
199 * Invites other AWS accounts to enable Security Hub and become Security Hub member accounts. When an account accepts the invitation and becomes a member account, the master account can view Security Hub findings of the member account.
200 */
201 inviteMembers(params: SecurityHub.Types.InviteMembersRequest, callback?: (err: AWSError, data: SecurityHub.Types.InviteMembersResponse) => void): Request<SecurityHub.Types.InviteMembersResponse, AWSError>;
202 /**
203 * Invites other AWS accounts to enable Security Hub and become Security Hub member accounts. When an account accepts the invitation and becomes a member account, the master account can view Security Hub findings of the member account.
204 */
205 inviteMembers(callback?: (err: AWSError, data: SecurityHub.Types.InviteMembersResponse) => void): Request<SecurityHub.Types.InviteMembersResponse, AWSError>;
206 /**
207 * Lists all Security Hub-integrated third-party findings providers.
208 */
209 listEnabledProductsForImport(params: SecurityHub.Types.ListEnabledProductsForImportRequest, callback?: (err: AWSError, data: SecurityHub.Types.ListEnabledProductsForImportResponse) => void): Request<SecurityHub.Types.ListEnabledProductsForImportResponse, AWSError>;
210 /**
211 * Lists all Security Hub-integrated third-party findings providers.
212 */
213 listEnabledProductsForImport(callback?: (err: AWSError, data: SecurityHub.Types.ListEnabledProductsForImportResponse) => void): Request<SecurityHub.Types.ListEnabledProductsForImportResponse, AWSError>;
214 /**
215 * Lists all Security Hub membership invitations that were sent to the current AWS account.
216 */
217 listInvitations(params: SecurityHub.Types.ListInvitationsRequest, callback?: (err: AWSError, data: SecurityHub.Types.ListInvitationsResponse) => void): Request<SecurityHub.Types.ListInvitationsResponse, AWSError>;
218 /**
219 * Lists all Security Hub membership invitations that were sent to the current AWS account.
220 */
221 listInvitations(callback?: (err: AWSError, data: SecurityHub.Types.ListInvitationsResponse) => void): Request<SecurityHub.Types.ListInvitationsResponse, AWSError>;
222 /**
223 * Lists details about all member accounts for the current Security Hub master account.
224 */
225 listMembers(params: SecurityHub.Types.ListMembersRequest, callback?: (err: AWSError, data: SecurityHub.Types.ListMembersResponse) => void): Request<SecurityHub.Types.ListMembersResponse, AWSError>;
226 /**
227 * Lists details about all member accounts for the current Security Hub master account.
228 */
229 listMembers(callback?: (err: AWSError, data: SecurityHub.Types.ListMembersResponse) => void): Request<SecurityHub.Types.ListMembersResponse, AWSError>;
230 /**
231 * Updates the AWS Security Hub-aggregated findings specified by the filter attributes.
232 */
233 updateFindings(params: SecurityHub.Types.UpdateFindingsRequest, callback?: (err: AWSError, data: SecurityHub.Types.UpdateFindingsResponse) => void): Request<SecurityHub.Types.UpdateFindingsResponse, AWSError>;
234 /**
235 * Updates the AWS Security Hub-aggregated findings specified by the filter attributes.
236 */
237 updateFindings(callback?: (err: AWSError, data: SecurityHub.Types.UpdateFindingsResponse) => void): Request<SecurityHub.Types.UpdateFindingsResponse, AWSError>;
238 /**
239 * Updates the AWS Security Hub insight specified by the insight ARN.
240 */
241 updateInsight(params: SecurityHub.Types.UpdateInsightRequest, callback?: (err: AWSError, data: SecurityHub.Types.UpdateInsightResponse) => void): Request<SecurityHub.Types.UpdateInsightResponse, AWSError>;
242 /**
243 * Updates the AWS Security Hub insight specified by the insight ARN.
244 */
245 updateInsight(callback?: (err: AWSError, data: SecurityHub.Types.UpdateInsightResponse) => void): Request<SecurityHub.Types.UpdateInsightResponse, AWSError>;
246}
247declare namespace SecurityHub {
248 export interface AcceptInvitationRequest {
249 /**
250 * The account ID of the master Security Hub account whose invitation you're accepting.
251 */
252 MasterId?: NonEmptyString;
253 /**
254 * The ID of the invitation that is sent to the AWS account by the Security Hub master account.
255 */
256 InvitationId?: NonEmptyString;
257 }
258 export interface AcceptInvitationResponse {
259 }
260 export interface AccountDetails {
261 /**
262 * The ID of an AWS account.
263 */
264 AccountId?: AccountId;
265 /**
266 * The email of an AWS account.
267 */
268 Email?: NonEmptyString;
269 }
270 export type AccountDetailsList = AccountDetails[];
271 export type AccountId = string;
272 export type AccountIdList = NonEmptyString[];
273 export type ArnList = NonEmptyString[];
274 export interface AwsEc2InstanceDetails {
275 /**
276 * The instance type of the instance.
277 */
278 Type?: NonEmptyString;
279 /**
280 * The Amazon Machine Image (AMI) ID of the instance.
281 */
282 ImageId?: NonEmptyString;
283 /**
284 * The IPv4 addresses associated with the instance.
285 */
286 IpV4Addresses?: StringList;
287 /**
288 * The IPv6 addresses associated with the instance.
289 */
290 IpV6Addresses?: StringList;
291 /**
292 * The key name associated with the instance.
293 */
294 KeyName?: NonEmptyString;
295 /**
296 * The IAM profile ARN of the instance.
297 */
298 IamInstanceProfileArn?: NonEmptyString;
299 /**
300 * The identifier of the VPC in which the instance was launched.
301 */
302 VpcId?: NonEmptyString;
303 /**
304 * The identifier of the subnet in which the instance was launched.
305 */
306 SubnetId?: NonEmptyString;
307 /**
308 * The date/time the instance was launched.
309 */
310 LaunchedAt?: NonEmptyString;
311 }
312 export interface AwsIamAccessKeyDetails {
313 /**
314 * The user associated with the IAM access key related to a finding.
315 */
316 UserName?: NonEmptyString;
317 /**
318 * The status of the IAM access key related to a finding.
319 */
320 Status?: AwsIamAccessKeyStatus;
321 /**
322 * The creation date/time of the IAM access key related to a finding.
323 */
324 CreatedAt?: NonEmptyString;
325 }
326 export type AwsIamAccessKeyStatus = "Active"|"Inactive"|string;
327 export interface AwsS3BucketDetails {
328 /**
329 * The canonical user ID of the owner of the S3 bucket.
330 */
331 OwnerId?: NonEmptyString;
332 /**
333 * The display name of the owner of the S3 bucket.
334 */
335 OwnerName?: NonEmptyString;
336 }
337 export interface AwsSecurityFinding {
338 /**
339 * The schema version for which a finding is formatted.
340 */
341 SchemaVersion: NonEmptyString;
342 /**
343 * The security findings provider-specific identifier for a finding.
344 */
345 Id: NonEmptyString;
346 /**
347 * The ARN generated by Security Hub that uniquely identifies a third-party company (security findings provider) once this provider's product (solution that generates findings) is registered with Security Hub.
348 */
349 ProductArn: NonEmptyString;
350 /**
351 * This is the identifier for the solution-specific component (a discrete unit of logic) that generated a finding. In various security findings provider's solutions, this generator can be called a rule, a check, a detector, a plug-in, etc.
352 */
353 GeneratorId: NonEmptyString;
354 /**
355 * The AWS account ID in which a finding is generated.
356 */
357 AwsAccountId: NonEmptyString;
358 /**
359 * One or more finding types in the format of 'namespace/category/classifier' that classify a finding. Valid namespace values are: Software and Configuration Checks | TTPs | Effects | Unusual Behaviors | Sensitive Data Identifications
360 */
361 Types: TypeList;
362 /**
363 * An ISO8601-formatted timestamp that indicates when the potential security issue captured by a finding was first observed by the security findings provider.
364 */
365 FirstObservedAt?: NonEmptyString;
366 /**
367 * An ISO8601-formatted timestamp that indicates when the potential security issue captured by a finding was most recently observed by the security findings provider.
368 */
369 LastObservedAt?: NonEmptyString;
370 /**
371 * An ISO8601-formatted timestamp that indicates when the potential security issue captured by a finding was created by the security findings provider.
372 */
373 CreatedAt: NonEmptyString;
374 /**
375 * An ISO8601-formatted timestamp that indicates when the finding record was last updated by the security findings provider.
376 */
377 UpdatedAt: NonEmptyString;
378 /**
379 * A finding's severity.
380 */
381 Severity: Severity;
382 /**
383 * A finding's confidence. Confidence is defined as the likelihood that a finding accurately identifies the behavior or issue that it was intended to identify. Confidence is scored on a 0-100 basis using a ratio scale. 0 equates zero percent confidence and 100 equates to 100 percent confidence.
384 */
385 Confidence?: Integer;
386 /**
387 * The level of importance assigned to the resources associated with the finding. A score of 0 means the underlying resources have no criticality, and a score of 100 is reserved for the most critical resources.
388 */
389 Criticality?: Integer;
390 /**
391 * A finding's title.
392 */
393 Title?: NonEmptyString;
394 /**
395 * A finding's description.
396 */
397 Description?: NonEmptyString;
398 /**
399 * An data type that describes the remediation options for a finding.
400 */
401 Remediation?: Remediation;
402 /**
403 * A URL that links to a page about the current finding in the security findings provider's solution.
404 */
405 SourceUrl?: NonEmptyString;
406 /**
407 * A data type where security findings providers can include additional solution-specific details that are not part of the defined AwsSecurityFinding format.
408 */
409 ProductFields?: FieldMap;
410 /**
411 * A list of name/value string pairs associated with the finding. These are custom, user-defined fields added to a finding.
412 */
413 UserDefinedFields?: FieldMap;
414 /**
415 * A list of malware related to a finding.
416 */
417 Malware?: MalwareList;
418 /**
419 * The details of network-related information about a finding.
420 */
421 Network?: Network;
422 /**
423 * The details of process-related information about a finding.
424 */
425 Process?: ProcessDetails;
426 /**
427 * Threat intel details related to a finding.
428 */
429 ThreatIntelIndicators?: ThreatIntelIndicatorList;
430 /**
431 * A set of resource data types that describe the resources to which the finding refers.
432 */
433 Resources: ResourceList;
434 /**
435 * This data type is exclusive to findings that are generated as the result of a check run against a specific rule in a supported standard (for example, AWS CIS Foundations). Contains compliance-related finding details.
436 */
437 Compliance?: Compliance;
438 /**
439 * Indicates the veracity of a finding.
440 */
441 VerificationState?: VerificationState;
442 /**
443 * The workflow state of a finding.
444 */
445 WorkflowState?: WorkflowState;
446 /**
447 * The record state of a finding.
448 */
449 RecordState?: RecordState;
450 /**
451 * A list of related findings.
452 */
453 RelatedFindings?: RelatedFindingList;
454 /**
455 * A user-defined note added to a finding.
456 */
457 Note?: Note;
458 }
459 export interface AwsSecurityFindingFilters {
460 /**
461 * The ARN generated by Security Hub that uniquely identifies a third-party company (security findings provider) once this provider's product (solution that generates findings) is registered with Security Hub.
462 */
463 ProductArn?: StringFilterList;
464 /**
465 * The AWS account ID in which a finding is generated.
466 */
467 AwsAccountId?: StringFilterList;
468 /**
469 * The security findings provider-specific identifier for a finding.
470 */
471 Id?: StringFilterList;
472 /**
473 * This is the identifier for the solution-specific component (a discrete unit of logic) that generated a finding. In various security findings provider's solutions, this generator can be called a rule, a check, a detector, a plug-in, etc.
474 */
475 GeneratorId?: StringFilterList;
476 /**
477 * A finding type in the format of 'namespace/category/classifier' that classifies a finding.
478 */
479 Type?: StringFilterList;
480 /**
481 * An ISO8601-formatted timestamp that indicates when the potential security issue captured by a finding was first observed by the security findings provider.
482 */
483 FirstObservedAt?: DateFilterList;
484 /**
485 * An ISO8601-formatted timestamp that indicates when the potential security issue captured by a finding was most recently observed by the security findings provider.
486 */
487 LastObservedAt?: DateFilterList;
488 /**
489 * An ISO8601-formatted timestamp that indicates when the potential security issue captured by a finding was created by the security findings provider.
490 */
491 CreatedAt?: DateFilterList;
492 /**
493 * An ISO8601-formatted timestamp that indicates when the finding record was last updated by the security findings provider.
494 */
495 UpdatedAt?: DateFilterList;
496 /**
497 * The native severity as defined by the security findings provider's solution that generated the finding.
498 */
499 SeverityProduct?: NumberFilterList;
500 /**
501 * The normalized severity of a finding.
502 */
503 SeverityNormalized?: NumberFilterList;
504 /**
505 * The label of a finding's severity.
506 */
507 SeverityLabel?: StringFilterList;
508 /**
509 * A finding's confidence. Confidence is defined as the likelihood that a finding accurately identifies the behavior or issue that it was intended to identify. Confidence is scored on a 0-100 basis using a ratio scale. 0 equates zero percent confidence and 100 equates to 100 percent confidence.
510 */
511 Confidence?: NumberFilterList;
512 /**
513 * The level of importance assigned to the resources associated with the finding. A score of 0 means the underlying resources have no criticality, and a score of 100 is reserved for the most critical resources.
514 */
515 Criticality?: NumberFilterList;
516 /**
517 * A finding's title.
518 */
519 Title?: StringFilterList;
520 /**
521 * A finding's description.
522 */
523 Description?: StringFilterList;
524 /**
525 * The recommendation of what to do about the issue described in a finding.
526 */
527 RecommendationText?: StringFilterList;
528 /**
529 * A URL that links to a page about the current finding in the security findings provider's solution.
530 */
531 SourceUrl?: StringFilterList;
532 /**
533 * A data type where security findings providers can include additional solution-specific details that are not part of the defined AwsSecurityFinding format.
534 */
535 ProductFields?: MapFilterList;
536 /**
537 * The name of the solution (product) that generates findings.
538 */
539 ProductName?: StringFilterList;
540 /**
541 * The name of the findings provider (company) that owns the solution (product) that generates findings.
542 */
543 CompanyName?: StringFilterList;
544 /**
545 * A list of name/value string pairs associated with the finding. These are custom, user-defined fields added to a finding.
546 */
547 UserDefinedFields?: MapFilterList;
548 /**
549 * The name of the malware that was observed.
550 */
551 MalwareName?: StringFilterList;
552 /**
553 * The type of the malware that was observed.
554 */
555 MalwareType?: StringFilterList;
556 /**
557 * The filesystem path of the malware that was observed.
558 */
559 MalwarePath?: StringFilterList;
560 /**
561 * The state of the malware that was observed.
562 */
563 MalwareState?: StringFilterList;
564 /**
565 * Indicates the direction of network traffic associated with a finding.
566 */
567 NetworkDirection?: StringFilterList;
568 /**
569 * The protocol of network-related information about a finding.
570 */
571 NetworkProtocol?: StringFilterList;
572 /**
573 * The source IPv4 address of network-related information about a finding.
574 */
575 NetworkSourceIpV4?: IpFilterList;
576 /**
577 * The source IPv6 address of network-related information about a finding.
578 */
579 NetworkSourceIpV6?: IpFilterList;
580 /**
581 * The source port of network-related information about a finding.
582 */
583 NetworkSourcePort?: NumberFilterList;
584 /**
585 * The source domain of network-related information about a finding.
586 */
587 NetworkSourceDomain?: StringFilterList;
588 /**
589 * The source media access control (MAC) address of network-related information about a finding.
590 */
591 NetworkSourceMac?: StringFilterList;
592 /**
593 * The destination IPv4 address of network-related information about a finding.
594 */
595 NetworkDestinationIpV4?: IpFilterList;
596 /**
597 * The destination IPv6 address of network-related information about a finding.
598 */
599 NetworkDestinationIpV6?: IpFilterList;
600 /**
601 * The destination port of network-related information about a finding.
602 */
603 NetworkDestinationPort?: NumberFilterList;
604 /**
605 * The destination domain of network-related information about a finding.
606 */
607 NetworkDestinationDomain?: StringFilterList;
608 /**
609 * The name of the process.
610 */
611 ProcessName?: StringFilterList;
612 /**
613 * The path to the process executable.
614 */
615 ProcessPath?: StringFilterList;
616 /**
617 * The process ID.
618 */
619 ProcessPid?: NumberFilterList;
620 /**
621 * The parent process ID.
622 */
623 ProcessParentPid?: NumberFilterList;
624 /**
625 * The date/time that the process was launched.
626 */
627 ProcessLaunchedAt?: DateFilterList;
628 /**
629 * The date/time that the process was terminated.
630 */
631 ProcessTerminatedAt?: DateFilterList;
632 /**
633 * The type of a threat intel indicator.
634 */
635 ThreatIntelIndicatorType?: StringFilterList;
636 /**
637 * The value of a threat intel indicator.
638 */
639 ThreatIntelIndicatorValue?: StringFilterList;
640 /**
641 * The category of a threat intel indicator.
642 */
643 ThreatIntelIndicatorCategory?: StringFilterList;
644 /**
645 * The date/time of the last observation of a threat intel indicator.
646 */
647 ThreatIntelIndicatorLastObservedAt?: DateFilterList;
648 /**
649 * The source of the threat intel.
650 */
651 ThreatIntelIndicatorSource?: StringFilterList;
652 /**
653 * The URL for more details from the source of the threat intel.
654 */
655 ThreatIntelIndicatorSourceUrl?: StringFilterList;
656 /**
657 * Specifies the type of the resource for which details are provided.
658 */
659 ResourceType?: StringFilterList;
660 /**
661 * The canonical identifier for the given resource type.
662 */
663 ResourceId?: StringFilterList;
664 /**
665 * The canonical AWS partition name to which the region is assigned.
666 */
667 ResourcePartition?: StringFilterList;
668 /**
669 * The canonical AWS external region name where this resource is located.
670 */
671 ResourceRegion?: StringFilterList;
672 /**
673 * A list of AWS tags associated with a resource at the time the finding was processed.
674 */
675 ResourceTags?: MapFilterList;
676 /**
677 * The instance type of the instance.
678 */
679 ResourceAwsEc2InstanceType?: StringFilterList;
680 /**
681 * The Amazon Machine Image (AMI) ID of the instance.
682 */
683 ResourceAwsEc2InstanceImageId?: StringFilterList;
684 /**
685 * The IPv4 addresses associated with the instance.
686 */
687 ResourceAwsEc2InstanceIpV4Addresses?: IpFilterList;
688 /**
689 * The IPv6 addresses associated with the instance.
690 */
691 ResourceAwsEc2InstanceIpV6Addresses?: IpFilterList;
692 /**
693 * The key name associated with the instance.
694 */
695 ResourceAwsEc2InstanceKeyName?: StringFilterList;
696 /**
697 * The IAM profile ARN of the instance.
698 */
699 ResourceAwsEc2InstanceIamInstanceProfileArn?: StringFilterList;
700 /**
701 * The identifier of the VPC in which the instance was launched.
702 */
703 ResourceAwsEc2InstanceVpcId?: StringFilterList;
704 /**
705 * The identifier of the subnet in which the instance was launched.
706 */
707 ResourceAwsEc2InstanceSubnetId?: StringFilterList;
708 /**
709 * The date/time the instance was launched.
710 */
711 ResourceAwsEc2InstanceLaunchedAt?: DateFilterList;
712 /**
713 * The canonical user ID of the owner of the S3 bucket.
714 */
715 ResourceAwsS3BucketOwnerId?: StringFilterList;
716 /**
717 * The display name of the owner of the S3 bucket.
718 */
719 ResourceAwsS3BucketOwnerName?: StringFilterList;
720 /**
721 * The user associated with the IAM access key related to a finding.
722 */
723 ResourceAwsIamAccessKeyUserName?: StringFilterList;
724 /**
725 * The status of the IAM access key related to a finding.
726 */
727 ResourceAwsIamAccessKeyStatus?: StringFilterList;
728 /**
729 * The creation date/time of the IAM access key related to a finding.
730 */
731 ResourceAwsIamAccessKeyCreatedAt?: DateFilterList;
732 /**
733 * The name of the container related to a finding.
734 */
735 ResourceContainerName?: StringFilterList;
736 /**
737 * The identifier of the image related to a finding.
738 */
739 ResourceContainerImageId?: StringFilterList;
740 /**
741 * The name of the image related to a finding.
742 */
743 ResourceContainerImageName?: StringFilterList;
744 /**
745 * The date/time that the container was started.
746 */
747 ResourceContainerLaunchedAt?: DateFilterList;
748 /**
749 * The details of a resource that does not have a specific sub-field for the resource type defined.
750 */
751 ResourceDetailsOther?: MapFilterList;
752 /**
753 * Exclusive to findings that are generated as the result of a check run against a specific rule in a supported standard (for example, AWS CIS Foundations). Contains compliance-related finding details.
754 */
755 ComplianceStatus?: StringFilterList;
756 /**
757 * Indicates the veracity of a finding.
758 */
759 VerificationState?: StringFilterList;
760 /**
761 * The workflow state of a finding.
762 */
763 WorkflowState?: StringFilterList;
764 /**
765 * The updated record state for the finding.
766 */
767 RecordState?: StringFilterList;
768 /**
769 * The ARN of the solution that generated a related finding.
770 */
771 RelatedFindingsProductArn?: StringFilterList;
772 /**
773 * The solution-generated identifier for a related finding.
774 */
775 RelatedFindingsId?: StringFilterList;
776 /**
777 * The text of a note.
778 */
779 NoteText?: StringFilterList;
780 /**
781 * The timestamp of when the note was updated.
782 */
783 NoteUpdatedAt?: DateFilterList;
784 /**
785 * The principal that created a note.
786 */
787 NoteUpdatedBy?: StringFilterList;
788 /**
789 * A keyword for a finding.
790 */
791 Keyword?: KeywordFilterList;
792 }
793 export type AwsSecurityFindingList = AwsSecurityFinding[];
794 export interface BatchDisableStandardsRequest {
795 /**
796 * The ARNS of the standards subscriptions that you want to disable.
797 */
798 StandardsSubscriptionArns: StandardsSubscriptionArns;
799 }
800 export interface BatchDisableStandardsResponse {
801 /**
802 * The details of the standards subscriptions that were disabled.
803 */
804 StandardsSubscriptions?: StandardsSubscriptions;
805 }
806 export interface BatchEnableStandardsRequest {
807 /**
808 * The list of standards that you want to enable.
809 */
810 StandardsSubscriptionRequests: StandardsSubscriptionRequests;
811 }
812 export interface BatchEnableStandardsResponse {
813 /**
814 * The details of the standards subscriptions that were enabled.
815 */
816 StandardsSubscriptions?: StandardsSubscriptions;
817 }
818 export interface BatchImportFindingsRequest {
819 /**
820 * A list of findings that you want to import. Must be submitted in the AWSSecurityFinding format.
821 */
822 Findings: AwsSecurityFindingList;
823 }
824 export interface BatchImportFindingsResponse {
825 /**
826 * The number of findings that cannot be imported.
827 */
828 FailedCount: Integer;
829 /**
830 * The number of findings that were successfully imported
831 */
832 SuccessCount: Integer;
833 /**
834 * The list of the findings that cannot be imported.
835 */
836 FailedFindings?: ImportFindingsErrorList;
837 }
838 export type Boolean = boolean;
839 export interface Compliance {
840 /**
841 * Indicates the result of a compliance check.
842 */
843 Status?: ComplianceStatus;
844 }
845 export type ComplianceStatus = "PASSED"|"WARNING"|"FAILED"|"NOT_AVAILABLE"|string;
846 export interface ContainerDetails {
847 /**
848 * The name of the container related to a finding.
849 */
850 Name?: NonEmptyString;
851 /**
852 * The identifier of the image related to a finding.
853 */
854 ImageId?: NonEmptyString;
855 /**
856 * The name of the image related to a finding.
857 */
858 ImageName?: NonEmptyString;
859 /**
860 * The date/time that the container was started.
861 */
862 LaunchedAt?: NonEmptyString;
863 }
864 export interface CreateInsightRequest {
865 /**
866 * The user-defined name that identifies the insight that you want to create.
867 */
868 Name: NonEmptyString;
869 /**
870 * A collection of attributes that are applied to all active Security Hub-aggregated findings and that result in a subset of findings that are included in this insight.
871 */
872 Filters: AwsSecurityFindingFilters;
873 /**
874 * The attribute by which the insight's findings are grouped. This attribute is used as a findings aggregator for the purposes of viewing and managing multiple related findings under a single operand.
875 */
876 GroupByAttribute: NonEmptyString;
877 }
878 export interface CreateInsightResponse {
879 /**
880 * The ARN Of the created insight.
881 */
882 InsightArn: NonEmptyString;
883 }
884 export interface CreateMembersRequest {
885 /**
886 * A list of account ID and email address pairs of the accounts that you want to associate with the master Security Hub account.
887 */
888 AccountDetails?: AccountDetailsList;
889 }
890 export interface CreateMembersResponse {
891 /**
892 * A list of account ID and email address pairs of the AWS accounts that could not be processed.
893 */
894 UnprocessedAccounts?: ResultList;
895 }
896 export interface DateFilter {
897 /**
898 * A start date for the date filter.
899 */
900 Start?: NonEmptyString;
901 /**
902 * An end date for the date filter.
903 */
904 End?: NonEmptyString;
905 /**
906 * A date range for the date filter.
907 */
908 DateRange?: DateRange;
909 }
910 export type DateFilterList = DateFilter[];
911 export interface DateRange {
912 /**
913 * A date range value for the date filter.
914 */
915 Value?: Integer;
916 /**
917 * A date range unit for the date filter.
918 */
919 Unit?: DateRangeUnit;
920 }
921 export type DateRangeUnit = "DAYS"|string;
922 export interface DeclineInvitationsRequest {
923 /**
924 * A list of account IDs specifying accounts whose invitations to Security Hub you want to decline.
925 */
926 AccountIds?: AccountIdList;
927 }
928 export interface DeclineInvitationsResponse {
929 /**
930 * A list of account ID and email address pairs of the AWS accounts that could not be processed.
931 */
932 UnprocessedAccounts?: ResultList;
933 }
934 export interface DeleteInsightRequest {
935 /**
936 * The ARN of the insight that you want to delete.
937 */
938 InsightArn: NonEmptyString;
939 }
940 export interface DeleteInsightResponse {
941 /**
942 * The ARN of the insight that was deleted.
943 */
944 InsightArn: NonEmptyString;
945 }
946 export interface DeleteInvitationsRequest {
947 /**
948 * A list of account IDs specifying accounts whose invitations to Security Hub you want to delete.
949 */
950 AccountIds?: AccountIdList;
951 }
952 export interface DeleteInvitationsResponse {
953 /**
954 * A list of account ID and email address pairs of the AWS accounts that could not be processed.
955 */
956 UnprocessedAccounts?: ResultList;
957 }
958 export interface DeleteMembersRequest {
959 /**
960 * A list of account IDs of the Security Hub member accounts that you want to delete.
961 */
962 AccountIds?: AccountIdList;
963 }
964 export interface DeleteMembersResponse {
965 /**
966 * A list of account ID and email address pairs of the AWS accounts that could not be processed.
967 */
968 UnprocessedAccounts?: ResultList;
969 }
970 export interface DisableImportFindingsForProductRequest {
971 /**
972 * The ARN of a resource that represents your subscription to a supported product.
973 */
974 ProductSubscriptionArn: NonEmptyString;
975 }
976 export interface DisableImportFindingsForProductResponse {
977 }
978 export interface DisableSecurityHubRequest {
979 }
980 export interface DisableSecurityHubResponse {
981 }
982 export interface DisassociateFromMasterAccountRequest {
983 }
984 export interface DisassociateFromMasterAccountResponse {
985 }
986 export interface DisassociateMembersRequest {
987 /**
988 * The account IDs of the member accounts that you want to disassociate from the master account.
989 */
990 AccountIds?: AccountIdList;
991 }
992 export interface DisassociateMembersResponse {
993 }
994 export type Double = number;
995 export interface EnableImportFindingsForProductRequest {
996 /**
997 * The ARN of the product that generates findings that you want to import into Security Hub.
998 */
999 ProductArn: NonEmptyString;
1000 }
1001 export interface EnableImportFindingsForProductResponse {
1002 /**
1003 * The ARN of a resource that represents your subscription to the product that generates the findings that you want to import into Security Hub.
1004 */
1005 ProductSubscriptionArn?: NonEmptyString;
1006 }
1007 export interface EnableSecurityHubRequest {
1008 }
1009 export interface EnableSecurityHubResponse {
1010 }
1011 export type FieldMap = {[key: string]: NonEmptyString};
1012 export interface GetEnabledStandardsRequest {
1013 /**
1014 * The list of standards subscription ARNS that you want to list and describe.
1015 */
1016 StandardsSubscriptionArns?: StandardsSubscriptionArns;
1017 /**
1018 * Paginates results. Set the value of this parameter to NULL on your first call to the GetEnabledStandards operation. For subsequent calls to the operation, fill nextToken in the request with the value of nextToken from the previous response to continue listing data.
1019 */
1020 NextToken?: NextToken;
1021 /**
1022 * Indicates the maximum number of items that you want in the response.
1023 */
1024 MaxResults?: MaxResults;
1025 }
1026 export interface GetEnabledStandardsResponse {
1027 /**
1028 * The standards subscription details returned by the operation.
1029 */
1030 StandardsSubscriptions?: StandardsSubscriptions;
1031 /**
1032 * The token that is required for pagination.
1033 */
1034 NextToken?: NextToken;
1035 }
1036 export interface GetFindingsRequest {
1037 /**
1038 * A collection of attributes that is use for querying findings.
1039 */
1040 Filters?: AwsSecurityFindingFilters;
1041 /**
1042 * A collection of attributes used for sorting findings.
1043 */
1044 SortCriteria?: SortCriteria;
1045 /**
1046 * Paginates results. Set the value of this parameter to NULL on your first call to the GetFindings operation. For subsequent calls to the operation, fill nextToken in the request with the value of nextToken from the previous response to continue listing data.
1047 */
1048 NextToken?: NextToken;
1049 /**
1050 * Indicates the maximum number of items that you want in the response.
1051 */
1052 MaxResults?: MaxResults;
1053 }
1054 export interface GetFindingsResponse {
1055 /**
1056 * Findings details returned by the operation.
1057 */
1058 Findings: AwsSecurityFindingList;
1059 /**
1060 * The token that is required for pagination.
1061 */
1062 NextToken?: NextToken;
1063 }
1064 export interface GetInsightResultsRequest {
1065 /**
1066 * The ARN of the insight whose results you want to see.
1067 */
1068 InsightArn: NonEmptyString;
1069 }
1070 export interface GetInsightResultsResponse {
1071 /**
1072 * The insight results returned by the operation.
1073 */
1074 InsightResults: InsightResults;
1075 }
1076 export interface GetInsightsRequest {
1077 /**
1078 * The ARNS of the insights that you want to describe.
1079 */
1080 InsightArns?: ArnList;
1081 /**
1082 * Paginates results. Set the value of this parameter to NULL on your first call to the GetInsights operation. For subsequent calls to the operation, fill nextToken in the request with the value of nextToken from the previous response to continue listing data.
1083 */
1084 NextToken?: NextToken;
1085 /**
1086 * Indicates the maximum number of items that you want in the response.
1087 */
1088 MaxResults?: MaxResults;
1089 }
1090 export interface GetInsightsResponse {
1091 /**
1092 * The insights returned by the operation.
1093 */
1094 Insights: InsightList;
1095 /**
1096 * The token that is required for pagination.
1097 */
1098 NextToken?: NextToken;
1099 }
1100 export interface GetInvitationsCountRequest {
1101 }
1102 export interface GetInvitationsCountResponse {
1103 /**
1104 * The number of all membership invitations sent to this Security Hub member account, not including the currently accepted invitation.
1105 */
1106 InvitationsCount?: Integer;
1107 }
1108 export interface GetMasterAccountRequest {
1109 }
1110 export interface GetMasterAccountResponse {
1111 /**
1112 * A list of details about the Security Hub master account for the current member account.
1113 */
1114 Master?: Invitation;
1115 }
1116 export interface GetMembersRequest {
1117 /**
1118 * A list of account IDs for the Security Hub member accounts on which you want to return the details.
1119 */
1120 AccountIds: AccountIdList;
1121 }
1122 export interface GetMembersResponse {
1123 /**
1124 * A list of details about the Security Hub member accounts.
1125 */
1126 Members?: MemberList;
1127 /**
1128 * A list of account ID and email address pairs of the AWS accounts that could not be processed.
1129 */
1130 UnprocessedAccounts?: ResultList;
1131 }
1132 export interface ImportFindingsError {
1133 /**
1134 * The id of the error made during the BatchImportFindings operation.
1135 */
1136 Id: NonEmptyString;
1137 /**
1138 * The code of the error made during the BatchImportFindings operation.
1139 */
1140 ErrorCode: NonEmptyString;
1141 /**
1142 * The message of the error made during the BatchImportFindings operation.
1143 */
1144 ErrorMessage: NonEmptyString;
1145 }
1146 export type ImportFindingsErrorList = ImportFindingsError[];
1147 export interface Insight {
1148 /**
1149 * The ARN of a Security Hub insight.
1150 */
1151 InsightArn: NonEmptyString;
1152 /**
1153 * The name of a Security Hub insight.
1154 */
1155 Name: NonEmptyString;
1156 /**
1157 * A collection of attributes that are applied to all active Security Hub-aggregated findings and that result in a subset of findings that are included in this insight.
1158 */
1159 Filters: AwsSecurityFindingFilters;
1160 /**
1161 * The attribute by which the insight's findings are grouped. This attribute is used as a findings aggregator for the purposes of viewing and managing multiple related findings under a single operand.
1162 */
1163 GroupByAttribute: NonEmptyString;
1164 }
1165 export type InsightList = Insight[];
1166 export interface InsightResultValue {
1167 /**
1168 * The value of the attribute by which the findings are grouped for the insight's whose results are returned by the GetInsightResults operation.
1169 */
1170 GroupByAttributeValue: NonEmptyString;
1171 /**
1172 * The number of findings returned for each GroupByAttributeValue.
1173 */
1174 Count: Integer;
1175 }
1176 export type InsightResultValueList = InsightResultValue[];
1177 export interface InsightResults {
1178 /**
1179 * The ARN of the insight whose results are returned by the GetInsightResults operation.
1180 */
1181 InsightArn: NonEmptyString;
1182 /**
1183 * The attribute by which the findings are grouped for the insight's whose results are returned by the GetInsightResults operation.
1184 */
1185 GroupByAttribute: NonEmptyString;
1186 /**
1187 * The list of insight result values returned by the GetInsightResults operation.
1188 */
1189 ResultValues: InsightResultValueList;
1190 }
1191 export type Integer = number;
1192 export interface Invitation {
1193 /**
1194 * The account ID of the master Security Hub account who sent the invitation.
1195 */
1196 AccountId?: AccountId;
1197 /**
1198 * The ID of the invitation sent by the master Security Hub account.
1199 */
1200 InvitationId?: NonEmptyString;
1201 /**
1202 * The timestamp of when the invitation was sent.
1203 */
1204 InvitedAt?: Timestamp;
1205 /**
1206 * The current relationship status between the inviter and invitee accounts.
1207 */
1208 MemberStatus?: NonEmptyString;
1209 }
1210 export type InvitationList = Invitation[];
1211 export interface InviteMembersRequest {
1212 /**
1213 * A list of IDs of the AWS accounts that you want to invite to Security Hub as members.
1214 */
1215 AccountIds?: AccountIdList;
1216 }
1217 export interface InviteMembersResponse {
1218 /**
1219 * A list of account ID and email address pairs of the AWS accounts that could not be processed.
1220 */
1221 UnprocessedAccounts?: ResultList;
1222 }
1223 export interface IpFilter {
1224 /**
1225 * Finding's CIDR value.
1226 */
1227 Cidr?: NonEmptyString;
1228 }
1229 export type IpFilterList = IpFilter[];
1230 export interface KeywordFilter {
1231 /**
1232 * A value for the keyword.
1233 */
1234 Value?: NonEmptyString;
1235 }
1236 export type KeywordFilterList = KeywordFilter[];
1237 export interface ListEnabledProductsForImportRequest {
1238 /**
1239 * Paginates results. Set the value of this parameter to NULL on your first call to the ListEnabledProductsForImport operation. For subsequent calls to the operation, fill nextToken in the request with the value of NextToken from the previous response to continue listing data.
1240 */
1241 NextToken?: NextToken;
1242 /**
1243 * Indicates the maximum number of items that you want in the response.
1244 */
1245 MaxResults?: MaxResults;
1246 }
1247 export interface ListEnabledProductsForImportResponse {
1248 /**
1249 * A list of ARNs for the resources that represent your subscriptions to products.
1250 */
1251 ProductSubscriptions?: ProductSubscriptionArnList;
1252 /**
1253 * The token that is required for pagination.
1254 */
1255 NextToken?: NextToken;
1256 }
1257 export interface ListInvitationsRequest {
1258 /**
1259 * Indicates the maximum number of items that you want in the response.
1260 */
1261 MaxResults?: MaxResults;
1262 /**
1263 * Paginates results. Set the value of this parameter to NULL on your first call to the ListInvitations operation. For subsequent calls to the operation, fill nextToken in the request with the value of NextToken from the previous response to continue listing data.
1264 */
1265 NextToken?: NextToken;
1266 }
1267 export interface ListInvitationsResponse {
1268 /**
1269 * The details of the invitations returned by the operation.
1270 */
1271 Invitations?: InvitationList;
1272 /**
1273 * The token that is required for pagination.
1274 */
1275 NextToken?: NonEmptyString;
1276 }
1277 export interface ListMembersRequest {
1278 /**
1279 * Specifies what member accounts the response includes based on their relationship status with the master account. The default value is TRUE. If onlyAssociated is set to TRUE, the response includes member accounts whose relationship status with the master is set to ENABLED or DISABLED. If onlyAssociated is set to FALSE, the response includes all existing member accounts.
1280 */
1281 OnlyAssociated?: Boolean;
1282 /**
1283 * Indicates the maximum number of items that you want in the response.
1284 */
1285 MaxResults?: MaxResults;
1286 /**
1287 * Paginates results. Set the value of this parameter to NULL on your first call to the ListMembers operation. For subsequent calls to the operation, fill nextToken in the request with the value of NextToken from the previous response to continue listing data.
1288 */
1289 NextToken?: NextToken;
1290 }
1291 export interface ListMembersResponse {
1292 /**
1293 * Member details returned by the operation.
1294 */
1295 Members?: MemberList;
1296 /**
1297 * The token that is required for pagination.
1298 */
1299 NextToken?: NonEmptyString;
1300 }
1301 export interface Malware {
1302 /**
1303 * The name of the malware that was observed.
1304 */
1305 Name: NonEmptyString;
1306 /**
1307 * The type of the malware that was observed.
1308 */
1309 Type?: MalwareType;
1310 /**
1311 * The filesystem path of the malware that was observed.
1312 */
1313 Path?: NonEmptyString;
1314 /**
1315 * The state of the malware that was observed.
1316 */
1317 State?: MalwareState;
1318 }
1319 export type MalwareList = Malware[];
1320 export type MalwareState = "OBSERVED"|"REMOVAL_FAILED"|"REMOVED"|string;
1321 export type MalwareType = "ADWARE"|"BLENDED_THREAT"|"BOTNET_AGENT"|"COIN_MINER"|"EXPLOIT_KIT"|"KEYLOGGER"|"MACRO"|"POTENTIALLY_UNWANTED"|"SPYWARE"|"RANSOMWARE"|"REMOTE_ACCESS"|"ROOTKIT"|"TROJAN"|"VIRUS"|"WORM"|string;
1322 export interface MapFilter {
1323 /**
1324 * The key of the map filter.
1325 */
1326 Key?: NonEmptyString;
1327 /**
1328 * The value for the key in the map filter.
1329 */
1330 Value?: NonEmptyString;
1331 /**
1332 * Represents the condition to be applied to a key value when querying for findings with a map filter.
1333 */
1334 Comparison?: MapFilterComparison;
1335 }
1336 export type MapFilterComparison = "CONTAINS"|string;
1337 export type MapFilterList = MapFilter[];
1338 export type MaxResults = number;
1339 export interface Member {
1340 /**
1341 * The AWS account ID of a Security Hub member account.
1342 */
1343 AccountId?: AccountId;
1344 /**
1345 * The email of a Security Hub member account.
1346 */
1347 Email?: NonEmptyString;
1348 /**
1349 * The AWS account ID of the master Security Hub account to this member account.
1350 */
1351 MasterId?: NonEmptyString;
1352 /**
1353 * The status of the relationship between the member account and its master account.
1354 */
1355 MemberStatus?: NonEmptyString;
1356 /**
1357 * Time stamp at which the member account was invited to Security Hub.
1358 */
1359 InvitedAt?: Timestamp;
1360 /**
1361 * Time stamp at which this member account was updated.
1362 */
1363 UpdatedAt?: Timestamp;
1364 }
1365 export type MemberList = Member[];
1366 export interface Network {
1367 /**
1368 * Indicates the direction of network traffic associated with a finding.
1369 */
1370 Direction?: NetworkDirection;
1371 /**
1372 * The protocol of network-related information about a finding.
1373 */
1374 Protocol?: NonEmptyString;
1375 /**
1376 * The source IPv4 address of network-related information about a finding.
1377 */
1378 SourceIpV4?: NonEmptyString;
1379 /**
1380 * The source IPv6 address of network-related information about a finding.
1381 */
1382 SourceIpV6?: NonEmptyString;
1383 /**
1384 * The source port of network-related information about a finding.
1385 */
1386 SourcePort?: Integer;
1387 /**
1388 * The source domain of network-related information about a finding.
1389 */
1390 SourceDomain?: NonEmptyString;
1391 /**
1392 * The source media access control (MAC) address of network-related information about a finding.
1393 */
1394 SourceMac?: NonEmptyString;
1395 /**
1396 * The destination IPv4 address of network-related information about a finding.
1397 */
1398 DestinationIpV4?: NonEmptyString;
1399 /**
1400 * The destination IPv6 address of network-related information about a finding.
1401 */
1402 DestinationIpV6?: NonEmptyString;
1403 /**
1404 * The destination port of network-related information about a finding.
1405 */
1406 DestinationPort?: Integer;
1407 /**
1408 * The destination domain of network-related information about a finding.
1409 */
1410 DestinationDomain?: NonEmptyString;
1411 }
1412 export type NetworkDirection = "IN"|"OUT"|string;
1413 export type NextToken = string;
1414 export type NonEmptyString = string;
1415 export interface Note {
1416 /**
1417 * The text of a note.
1418 */
1419 Text: NonEmptyString;
1420 /**
1421 * The principal that created a note.
1422 */
1423 UpdatedBy: NonEmptyString;
1424 /**
1425 * The timestamp of when the note was updated.
1426 */
1427 UpdatedAt: NonEmptyString;
1428 }
1429 export interface NoteUpdate {
1430 /**
1431 * The updated note text.
1432 */
1433 Text: NonEmptyString;
1434 /**
1435 * The principal that updated the note.
1436 */
1437 UpdatedBy: NonEmptyString;
1438 }
1439 export interface NumberFilter {
1440 /**
1441 * Represents the "greater than equal" condition to be applied to a single field when querying for findings.
1442 */
1443 Gte?: Double;
1444 /**
1445 * Represents the "less than equal" condition to be applied to a single field when querying for findings.
1446 */
1447 Lte?: Double;
1448 /**
1449 * Represents the "equal to" condition to be applied to a single field when querying for findings.
1450 */
1451 Eq?: Double;
1452 }
1453 export type NumberFilterList = NumberFilter[];
1454 export type Partition = "aws"|"aws-cn"|"aws-us-gov"|string;
1455 export interface ProcessDetails {
1456 /**
1457 * The name of the process.
1458 */
1459 Name?: NonEmptyString;
1460 /**
1461 * The path to the process executable.
1462 */
1463 Path?: NonEmptyString;
1464 /**
1465 * The process ID.
1466 */
1467 Pid?: Integer;
1468 /**
1469 * The parent process ID.
1470 */
1471 ParentPid?: Integer;
1472 /**
1473 * The date/time that the process was launched.
1474 */
1475 LaunchedAt?: NonEmptyString;
1476 /**
1477 * The date/time that the process was terminated.
1478 */
1479 TerminatedAt?: NonEmptyString;
1480 }
1481 export type ProductSubscriptionArnList = NonEmptyString[];
1482 export interface Recommendation {
1483 /**
1484 * The recommendation of what to do about the issue described in a finding.
1485 */
1486 Text?: NonEmptyString;
1487 /**
1488 * A URL to link to general remediation information for the finding type of a finding.
1489 */
1490 Url?: NonEmptyString;
1491 }
1492 export type RecordState = "ACTIVE"|"ARCHIVED"|string;
1493 export interface RelatedFinding {
1494 /**
1495 * The ARN of the solution that generated a related finding.
1496 */
1497 ProductArn: NonEmptyString;
1498 /**
1499 * The solution-generated identifier for a related finding.
1500 */
1501 Id: NonEmptyString;
1502 }
1503 export type RelatedFindingList = RelatedFinding[];
1504 export interface Remediation {
1505 /**
1506 * Provides a recommendation on how to remediate the issue identified within a finding.
1507 */
1508 Recommendation?: Recommendation;
1509 }
1510 export interface Resource {
1511 /**
1512 * Specifies the type of the resource for which details are provided.
1513 */
1514 Type: NonEmptyString;
1515 /**
1516 * The canonical identifier for the given resource type.
1517 */
1518 Id: NonEmptyString;
1519 /**
1520 * The canonical AWS partition name to which the region is assigned.
1521 */
1522 Partition?: Partition;
1523 /**
1524 * The canonical AWS external region name where this resource is located.
1525 */
1526 Region?: NonEmptyString;
1527 /**
1528 * A list of AWS tags associated with a resource at the time the finding was processed.
1529 */
1530 Tags?: FieldMap;
1531 /**
1532 * Provides additional details about the resource.
1533 */
1534 Details?: ResourceDetails;
1535 }
1536 export interface ResourceDetails {
1537 /**
1538 * The details of an AWS EC2 instance.
1539 */
1540 AwsEc2Instance?: AwsEc2InstanceDetails;
1541 /**
1542 * The details of an AWS S3 Bucket.
1543 */
1544 AwsS3Bucket?: AwsS3BucketDetails;
1545 /**
1546 * AWS IAM access key details related to a finding.
1547 */
1548 AwsIamAccessKey?: AwsIamAccessKeyDetails;
1549 /**
1550 * Container details related to a finding.
1551 */
1552 Container?: ContainerDetails;
1553 /**
1554 * The details of a resource that does not have a specific sub-field for the resource type defined.
1555 */
1556 Other?: FieldMap;
1557 }
1558 export type ResourceList = Resource[];
1559 export interface Result {
1560 /**
1561 * An ID of the AWS account that could not be processed.
1562 */
1563 AccountId?: AccountId;
1564 /**
1565 * The reason for why an account could not be processed.
1566 */
1567 ProcessingResult?: NonEmptyString;
1568 }
1569 export type ResultList = Result[];
1570 export interface Severity {
1571 /**
1572 * The native severity as defined by the security findings provider's solution that generated the finding.
1573 */
1574 Product?: Double;
1575 /**
1576 * The normalized severity of a finding.
1577 */
1578 Normalized: Integer;
1579 }
1580 export type SortCriteria = SortCriterion[];
1581 export interface SortCriterion {
1582 /**
1583 * The finding attribute used for sorting findings.
1584 */
1585 Field?: NonEmptyString;
1586 /**
1587 * The order used for sorting findings.
1588 */
1589 SortOrder?: SortOrder;
1590 }
1591 export type SortOrder = "asc"|"desc"|string;
1592 export type StandardsInputParameterMap = {[key: string]: NonEmptyString};
1593 export type StandardsStatus = "PENDING"|"READY"|"FAILED"|"DELETING"|string;
1594 export interface StandardsSubscription {
1595 /**
1596 * The ARN of a resource that represents your subscription to a supported standard.
1597 */
1598 StandardsSubscriptionArn: NonEmptyString;
1599 /**
1600 * The ARN of a standard.
1601 */
1602 StandardsArn: NonEmptyString;
1603 /**
1604 *
1605 */
1606 StandardsInput: StandardsInputParameterMap;
1607 /**
1608 * The standard's status.
1609 */
1610 StandardsStatus: StandardsStatus;
1611 }
1612 export type StandardsSubscriptionArns = NonEmptyString[];
1613 export interface StandardsSubscriptionRequest {
1614 /**
1615 * The ARN of the standard that you want to enable.
1616 */
1617 StandardsArn: NonEmptyString;
1618 /**
1619 *
1620 */
1621 StandardsInput?: StandardsInputParameterMap;
1622 }
1623 export type StandardsSubscriptionRequests = StandardsSubscriptionRequest[];
1624 export type StandardsSubscriptions = StandardsSubscription[];
1625 export interface StringFilter {
1626 /**
1627 * The string filter value.
1628 */
1629 Value?: NonEmptyString;
1630 /**
1631 * Represents the condition to be applied to a string value when querying for findings.
1632 */
1633 Comparison?: StringFilterComparison;
1634 }
1635 export type StringFilterComparison = "EQUALS"|"CONTAINS"|"PREFIX"|string;
1636 export type StringFilterList = StringFilter[];
1637 export type StringList = NonEmptyString[];
1638 export interface ThreatIntelIndicator {
1639 /**
1640 * The type of a threat intel indicator.
1641 */
1642 Type?: ThreatIntelIndicatorType;
1643 /**
1644 * The value of a threat intel indicator.
1645 */
1646 Value?: NonEmptyString;
1647 /**
1648 * The category of a threat intel indicator.
1649 */
1650 Category?: ThreatIntelIndicatorCategory;
1651 /**
1652 * The date/time of the last observation of a threat intel indicator.
1653 */
1654 LastObservedAt?: NonEmptyString;
1655 /**
1656 * The source of the threat intel.
1657 */
1658 Source?: NonEmptyString;
1659 /**
1660 * The URL for more details from the source of the threat intel.
1661 */
1662 SourceUrl?: NonEmptyString;
1663 }
1664 export type ThreatIntelIndicatorCategory = "BACKDOOR"|"CARD_STEALER"|"COMMAND_AND_CONTROL"|"DROP_SITE"|"EXPLOIT_SITE"|"KEYLOGGER"|string;
1665 export type ThreatIntelIndicatorList = ThreatIntelIndicator[];
1666 export type ThreatIntelIndicatorType = "DOMAIN"|"EMAIL_ADDRESS"|"HASH_MD5"|"HASH_SHA1"|"HASH_SHA256"|"HASH_SHA512"|"IPV4_ADDRESS"|"IPV6_ADDRESS"|"MUTEX"|"PROCESS"|"URL"|string;
1667 export type Timestamp = Date;
1668 export type TypeList = NonEmptyString[];
1669 export interface UpdateFindingsRequest {
1670 /**
1671 * A collection of attributes that specify what findings you want to update.
1672 */
1673 Filters: AwsSecurityFindingFilters;
1674 /**
1675 * The updated note for the finding.
1676 */
1677 Note?: NoteUpdate;
1678 /**
1679 * The updated record state for the finding.
1680 */
1681 RecordState?: RecordState;
1682 }
1683 export interface UpdateFindingsResponse {
1684 }
1685 export interface UpdateInsightRequest {
1686 /**
1687 * The ARN of the insight that you want to update.
1688 */
1689 InsightArn: NonEmptyString;
1690 /**
1691 * The updated name for the insight.
1692 */
1693 Name?: NonEmptyString;
1694 /**
1695 * The updated filters that define this insight.
1696 */
1697 Filters?: AwsSecurityFindingFilters;
1698 /**
1699 * The updated GroupBy attribute that defines this insight.
1700 */
1701 GroupByAttribute?: NonEmptyString;
1702 }
1703 export interface UpdateInsightResponse {
1704 }
1705 export type VerificationState = "UNKNOWN"|"TRUE_POSITIVE"|"FALSE_POSITIVE"|"BENIGN_POSITIVE"|string;
1706 export type WorkflowState = "NEW"|"ASSIGNED"|"IN_PROGRESS"|"DEFERRED"|"RESOLVED"|string;
1707 /**
1708 * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
1709 */
1710 export type apiVersion = "2018-10-26"|"latest"|string;
1711 export interface ClientApiVersions {
1712 /**
1713 * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
1714 */
1715 apiVersion?: apiVersion;
1716 }
1717 export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
1718 /**
1719 * Contains interfaces for use with the SecurityHub client.
1720 */
1721 export import Types = SecurityHub;
1722}
1723export = SecurityHub;