@aws-sdk/client-securityhub 3.916.0 → 3.917.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 (34) hide show
  1. package/dist-cjs/endpoint/ruleset.js +1 -1
  2. package/dist-cjs/index.js +116 -53
  3. package/dist-es/endpoint/ruleset.js +1 -1
  4. package/dist-es/models/models_2.js +76 -8
  5. package/dist-es/models/models_3.js +35 -46
  6. package/dist-es/protocols/Aws_restJson1.js +8 -3
  7. package/dist-types/commands/BatchUpdateFindingsV2Command.d.ts +1 -1
  8. package/dist-types/commands/CreateAggregatorV2Command.d.ts +1 -1
  9. package/dist-types/commands/CreateAutomationRuleV2Command.d.ts +81 -6
  10. package/dist-types/commands/DeleteAggregatorV2Command.d.ts +1 -1
  11. package/dist-types/commands/DeleteAutomationRuleV2Command.d.ts +1 -1
  12. package/dist-types/commands/DescribeProductsV2Command.d.ts +1 -1
  13. package/dist-types/commands/DescribeSecurityHubV2Command.d.ts +1 -1
  14. package/dist-types/commands/DisableSecurityHubV2Command.d.ts +1 -1
  15. package/dist-types/commands/EnableSecurityHubV2Command.d.ts +1 -1
  16. package/dist-types/commands/GetAggregatorV2Command.d.ts +1 -1
  17. package/dist-types/commands/GetAutomationRuleV2Command.d.ts +81 -6
  18. package/dist-types/commands/GetFindingStatisticsV2Command.d.ts +80 -6
  19. package/dist-types/commands/GetFindingsCommand.d.ts +1 -1
  20. package/dist-types/commands/GetFindingsV2Command.d.ts +79 -5
  21. package/dist-types/commands/GetResourcesStatisticsV2Command.d.ts +56 -6
  22. package/dist-types/commands/GetResourcesV2Command.d.ts +56 -6
  23. package/dist-types/commands/ListAggregatorsV2Command.d.ts +1 -1
  24. package/dist-types/commands/ListAutomationRulesV2Command.d.ts +1 -1
  25. package/dist-types/commands/UpdateAggregatorV2Command.d.ts +1 -1
  26. package/dist-types/commands/UpdateAutomationRuleV2Command.d.ts +79 -5
  27. package/dist-types/models/models_2.d.ts +164 -186
  28. package/dist-types/models/models_3.d.ts +476 -345
  29. package/dist-types/ts3.4/commands/CreateAutomationRuleV2Command.d.ts +2 -4
  30. package/dist-types/ts3.4/commands/GetAutomationRuleV2Command.d.ts +2 -4
  31. package/dist-types/ts3.4/commands/GetFindingsCommand.d.ts +1 -1
  32. package/dist-types/ts3.4/models/models_2.d.ts +92 -55
  33. package/dist-types/ts3.4/models/models_3.d.ts +140 -111
  34. package/package.json +2 -2
@@ -2,122 +2,8 @@ import { ExceptionOptionType as __ExceptionOptionType } from "@smithy/smithy-cli
2
2
  import { DocumentType as __DocumentType } from "@smithy/types";
3
3
  import { AdminAccount, AggregatorV2, AllowedOperators, AssociationFilters, AssociationStatus, AssociationType, AutoEnableStandards, AutomationRulesActionV2, AutomationRulesMetadata, AutomationRulesMetadataV2, ConfigurationPolicyAssociationStatus, DateFilter, MapFilter, NoteUpdate, NumberFilter, RuleStatusV2, StringFilter } from "./models_0";
4
4
  import { RecordState } from "./models_1";
5
- import { AwsSecurityFinding, AwsSecurityFindingFilters, ConfigurationOptions, ConfigurationPolicyAssociationSummary, ConfigurationPolicySummary, ConnectorProviderName, ConnectorStatus, ConnectorSummary, ControlFindingGenerator, ControlStatus, Criteria, FindingAggregator, Invitation, OcsfFindingFilters, OrganizationConfiguration, ParameterConfiguration, Policy, Result, SecurityControlProperty, SecurityHubFeature, SeverityRating, SortCriterion, SortOrder, Target, TargetType } from "./models_2";
5
+ import { AwsSecurityFindingFilters, ConfigurationOptions, ConfigurationPolicyAssociationSummary, ConfigurationPolicySummary, ConnectorProviderName, ConnectorStatus, ConnectorSummary, ControlFindingGenerator, ControlStatus, FindingAggregator, GroupByField, Invitation, OcsfBooleanFilter, OcsfDateFilter, OcsfIpFilter, OcsfMapFilter, OcsfNumberFilter, OcsfStringFilter, OrganizationConfiguration, ParameterConfiguration, Policy, Result, SecurityControlProperty, SecurityHubFeature, SeverityRating, SortCriterion, SortOrder, Target, TargetType } from "./models_2";
6
6
  import { SecurityHubServiceException as __BaseException } from "./SecurityHubServiceException";
7
- /**
8
- * @public
9
- */
10
- export interface GetFindingsRequest {
11
- /**
12
- * <p>The finding attributes used to define a condition to filter the returned
13
- * findings.</p>
14
- * <p>You can filter by up to 10 finding attributes. For each attribute, you can provide up to
15
- * 20 filter values.</p>
16
- * <p>Note that in the available filter fields, <code>WorkflowState</code> is deprecated. To
17
- * search for a finding based on its workflow status, use <code>WorkflowStatus</code>.</p>
18
- * @public
19
- */
20
- Filters?: AwsSecurityFindingFilters | undefined;
21
- /**
22
- * <p>The finding attributes used to sort the list of returned findings.</p>
23
- * @public
24
- */
25
- SortCriteria?: SortCriterion[] | undefined;
26
- /**
27
- * <p>The token that is required for pagination. On your first call to the
28
- * <code>GetFindings</code> operation, set the value of this parameter to
29
- * <code>NULL</code>.</p>
30
- * <p>For subsequent calls to the operation, to continue listing data, set the value of this
31
- * parameter to the value returned from the previous response.</p>
32
- * @public
33
- */
34
- NextToken?: string | undefined;
35
- /**
36
- * <p>The maximum number of findings to return.</p>
37
- * @public
38
- */
39
- MaxResults?: number | undefined;
40
- }
41
- /**
42
- * @public
43
- */
44
- export interface GetFindingsResponse {
45
- /**
46
- * <p>The findings that matched the filters specified in the request.</p>
47
- * @public
48
- */
49
- Findings: AwsSecurityFinding[] | undefined;
50
- /**
51
- * <p>The pagination token to use to request the next page of results.</p>
52
- * @public
53
- */
54
- NextToken?: string | undefined;
55
- }
56
- /**
57
- * @public
58
- * @enum
59
- */
60
- export declare const GroupByField: {
61
- readonly ACTIVITY_NAME: "activity_name";
62
- readonly CLASS_NAME: "class_name";
63
- readonly CLOUD_ACCOUNT_UID: "cloud.account.uid";
64
- readonly CLOUD_PROVIDER: "cloud.provider";
65
- readonly CLOUD_REGION: "cloud.region";
66
- readonly COMPLIANCE_ASSESSMENTS_NAME: "compliance.assessments.name";
67
- readonly COMPLIANCE_CONTROL: "compliance.control";
68
- readonly COMPLIANCE_STATUS: "compliance.status";
69
- readonly FINDING_INFO_TITLE: "finding_info.title";
70
- readonly FINDING_INFO_TYPES: "finding_info.types";
71
- readonly METADATA_PRODUCT_NAME: "metadata.product.name";
72
- readonly METADATA_PRODUCT_UID: "metadata.product.uid";
73
- readonly RESOURCES_TYPE: "resources.type";
74
- readonly RESOURCES_UID: "resources.uid";
75
- readonly SEVERITY: "severity";
76
- readonly STATUS: "status";
77
- readonly VULNERABILITIES_FIX_COVERAGE: "vulnerabilities.fix_coverage";
78
- };
79
- /**
80
- * @public
81
- */
82
- export type GroupByField = (typeof GroupByField)[keyof typeof GroupByField];
83
- /**
84
- * <p>Defines the how the finding attribute should be grouped.</p>
85
- * @public
86
- */
87
- export interface GroupByRule {
88
- /**
89
- * <p>The criteria used to select which security findings should be included in the grouping operation.</p>
90
- * @public
91
- */
92
- Filters?: OcsfFindingFilters | undefined;
93
- /**
94
- * <p>The attribute by which filtered findings should be grouped.</p>
95
- * @public
96
- */
97
- GroupByField: GroupByField | undefined;
98
- }
99
- /**
100
- * @public
101
- */
102
- export interface GetFindingStatisticsV2Request {
103
- /**
104
- * <p>Specifies how security findings should be aggregated and organized in the statistical analysis.
105
- * It can accept up to 5 <code>groupBy</code> fields in a single call.</p>
106
- * @public
107
- */
108
- GroupByRules: GroupByRule[] | undefined;
109
- /**
110
- * <p>Orders the aggregation count in descending or ascending order.
111
- * Descending order is the default.</p>
112
- * @public
113
- */
114
- SortOrder?: SortOrder | undefined;
115
- /**
116
- * <p>The maximum number of results to be returned.</p>
117
- * @public
118
- */
119
- MaxStatisticResults?: number | undefined;
120
- }
121
7
  /**
122
8
  * <p>Represents individual aggregated results when grouping security findings for each <code>GroupByField</code>.</p>
123
9
  * @public
@@ -160,36 +46,6 @@ export interface GetFindingStatisticsV2Response {
160
46
  */
161
47
  GroupByResults?: GroupByResult[] | undefined;
162
48
  }
163
- /**
164
- * @public
165
- */
166
- export interface GetFindingsV2Request {
167
- /**
168
- * <p>The finding attributes used to define a condition to filter the returned OCSF findings.
169
- * You can filter up to 10 composite filters.
170
- * For each filter type inside of a composite filter, you can provide up to 20 filters.</p>
171
- * @public
172
- */
173
- Filters?: OcsfFindingFilters | undefined;
174
- /**
175
- * <p>The finding attributes used to sort the list of returned findings.</p>
176
- * @public
177
- */
178
- SortCriteria?: SortCriterion[] | undefined;
179
- /**
180
- * <p>
181
- * The token required for pagination.
182
- * On your first call, set the value of this parameter to <code>NULL</code>.
183
- * For subsequent calls, to continue listing data, set the value of this parameter to the value returned in the previous response.</p>
184
- * @public
185
- */
186
- NextToken?: string | undefined;
187
- /**
188
- * <p>The maximum number of results to return.</p>
189
- * @public
190
- */
191
- MaxResults?: number | undefined;
192
- }
193
49
  /**
194
50
  * @public
195
51
  */
@@ -486,8 +342,8 @@ export interface GetMembersResponse {
486
342
  * @enum
487
343
  */
488
344
  export declare const ResourcesDateField: {
489
- readonly RESOURCE_CREATION_TIME_DT: "resource_creation_time_dt";
490
- readonly RESOURCE_DETAIL_CAPTURE_TIME_DT: "resource_detail_capture_time_dt";
345
+ readonly RESOURCE_CREATION_TIME_DT: "ResourceCreationTime";
346
+ readonly RESOURCE_DETAIL_CAPTURE_TIME_DT: "ResourceDetailCaptureTime";
491
347
  };
492
348
  /**
493
349
  * @public
@@ -514,7 +370,7 @@ export interface ResourcesDateFilter {
514
370
  * @enum
515
371
  */
516
372
  export declare const ResourcesMapField: {
517
- readonly TAG: "tags";
373
+ readonly TAG: "ResourceTags";
518
374
  };
519
375
  /**
520
376
  * @public
@@ -542,15 +398,15 @@ export interface ResourcesMapFilter {
542
398
  * @enum
543
399
  */
544
400
  export declare const ResourcesNumberField: {
545
- readonly SEVERITY_CRITICAL: "findings_summary.severities.critical";
546
- readonly SEVERITY_FATAL: "findings_summary.severities.fatal";
547
- readonly SEVERITY_HIGH: "findings_summary.severities.high";
548
- readonly SEVERITY_INFORMATIONAL: "findings_summary.severities.informational";
549
- readonly SEVERITY_LOW: "findings_summary.severities.low";
550
- readonly SEVERITY_MEDIUM: "findings_summary.severities.medium";
551
- readonly SEVERITY_OTHER: "findings_summary.severities.other";
552
- readonly SEVERITY_UNKNOWN: "findings_summary.severities.unknown";
553
- readonly TOTAL_FINDINGS: "findings_summary.total_findings";
401
+ readonly SEVERITY_CRITICAL: "FindingsSummary.Severities.Critical";
402
+ readonly SEVERITY_FATAL: "FindingsSummary.Severities.Fatal";
403
+ readonly SEVERITY_HIGH: "FindingsSummary.Severities.High";
404
+ readonly SEVERITY_INFORMATIONAL: "FindingsSummary.Severities.Informational";
405
+ readonly SEVERITY_LOW: "FindingsSummary.Severities.Low";
406
+ readonly SEVERITY_MEDIUM: "FindingsSummary.Severities.Medium";
407
+ readonly SEVERITY_OTHER: "FindingsSummary.Severities.Other";
408
+ readonly SEVERITY_UNKNOWN: "FindingsSummary.Severities.Unknown";
409
+ readonly TOTAL_FINDINGS: "FindingsSummary.TotalFindings";
554
410
  };
555
411
  /**
556
412
  * @public
@@ -577,15 +433,15 @@ export interface ResourcesNumberFilter {
577
433
  * @enum
578
434
  */
579
435
  export declare const ResourcesStringField: {
580
- readonly ACCOUNT_ID: "account_id";
581
- readonly FINDING_TYPE: "findings_summary.finding_type";
582
- readonly PRODUCT_NAME: "findings_summary.product_name";
583
- readonly REGION: "region";
584
- readonly RESOURCE_ARN: "resource_arn";
585
- readonly RESOURCE_CATEGORY: "resource_category";
586
- readonly RESOURCE_ID: "resource_id";
587
- readonly RESOURCE_NAME: "resource_name";
588
- readonly RESOURCE_TYPE: "resource_type";
436
+ readonly ACCOUNT_ID: "AccountId";
437
+ readonly FINDING_TYPE: "FindingsSummary.FindingType";
438
+ readonly PRODUCT_NAME: "FindingsSummary.ProductName";
439
+ readonly REGION: "Region";
440
+ readonly RESOURCE_CATEGORY: "ResourceCategory";
441
+ readonly RESOURCE_GUID: "ResourceGuid";
442
+ readonly RESOURCE_ID: "ResourceId";
443
+ readonly RESOURCE_NAME: "ResourceName";
444
+ readonly RESOURCE_TYPE: "ResourceType";
589
445
  };
590
446
  /**
591
447
  * @public
@@ -607,105 +463,22 @@ export interface ResourcesStringFilter {
607
463
  */
608
464
  Filter?: StringFilter | undefined;
609
465
  }
610
- /**
611
- * <p>Enables the creation of criteria for Amazon Web Services resources in Security Hub.</p>
612
- * @public
613
- */
614
- export interface ResourcesCompositeFilter {
615
- /**
616
- * <p>Enables filtering based on string field values.</p>
617
- * @public
618
- */
619
- StringFilters?: ResourcesStringFilter[] | undefined;
620
- /**
621
- * <p>Enables filtering based on date and timestamp field values.</p>
622
- * @public
623
- */
624
- DateFilters?: ResourcesDateFilter[] | undefined;
625
- /**
626
- * <p>Enables filtering based on numerical field values.</p>
627
- * @public
628
- */
629
- NumberFilters?: ResourcesNumberFilter[] | undefined;
630
- /**
631
- * <p>Enables filtering based on map-based field values.</p>
632
- * @public
633
- */
634
- MapFilters?: ResourcesMapFilter[] | undefined;
635
- /**
636
- * <p>The logical operator used to combine multiple filter conditions.</p>
637
- * @public
638
- */
639
- Operator?: AllowedOperators | undefined;
640
- }
641
- /**
642
- * <p>Enables filtering of Amazon Web Services resources based on data.</p>
643
- * @public
644
- */
645
- export interface ResourcesFilters {
646
- /**
647
- * <p>A collection of complex filtering conditions that can be applied to Amazon Web Services resources.</p>
648
- * @public
649
- */
650
- CompositeFilters?: ResourcesCompositeFilter[] | undefined;
651
- /**
652
- * <p>The logical operator used to combine multiple filter conditions in the structure.</p>
653
- * @public
654
- */
655
- CompositeOperator?: AllowedOperators | undefined;
656
- }
657
466
  /**
658
467
  * @public
659
468
  * @enum
660
469
  */
661
470
  export declare const ResourceGroupByField: {
662
- readonly ACCOUNT_ID: "account_id";
663
- readonly FINDING_TYPE: "findings_summary.finding_type";
664
- readonly REGION: "region";
665
- readonly RESOURCE_CATEGORY: "resource_category";
666
- readonly RESOURCE_NAME: "resource_name";
667
- readonly RESOURCE_TYPE: "resource_type";
471
+ readonly ACCOUNT_ID: "AccountId";
472
+ readonly FINDING_TYPE: "FindingsSummary.FindingType";
473
+ readonly REGION: "Region";
474
+ readonly RESOURCE_CATEGORY: "ResourceCategory";
475
+ readonly RESOURCE_NAME: "ResourceName";
476
+ readonly RESOURCE_TYPE: "ResourceType";
668
477
  };
669
478
  /**
670
479
  * @public
671
480
  */
672
481
  export type ResourceGroupByField = (typeof ResourceGroupByField)[keyof typeof ResourceGroupByField];
673
- /**
674
- * <p>Defines the configuration for organizing and categorizing Amazon Web Services resources based on associated security findings.</p>
675
- * @public
676
- */
677
- export interface ResourceGroupByRule {
678
- /**
679
- * <p>Specifies the attribute that resources should be grouped by.</p>
680
- * @public
681
- */
682
- GroupByField: ResourceGroupByField | undefined;
683
- /**
684
- * <p>The criteria used to select resources and associated security findings.</p>
685
- * @public
686
- */
687
- Filters?: ResourcesFilters | undefined;
688
- }
689
- /**
690
- * @public
691
- */
692
- export interface GetResourcesStatisticsV2Request {
693
- /**
694
- * <p>How resource statistics should be aggregated and organized in the response.</p>
695
- * @public
696
- */
697
- GroupByRules: ResourceGroupByRule[] | undefined;
698
- /**
699
- * <p>Sorts aggregated statistics.</p>
700
- * @public
701
- */
702
- SortOrder?: SortOrder | undefined;
703
- /**
704
- * <p>The maximum number of results to be returned.</p>
705
- * @public
706
- */
707
- MaxStatisticResults?: number | undefined;
708
- }
709
482
  /**
710
483
  * @public
711
484
  */
@@ -716,33 +489,6 @@ export interface GetResourcesStatisticsV2Response {
716
489
  */
717
490
  GroupByResults: GroupByResult[] | undefined;
718
491
  }
719
- /**
720
- * @public
721
- */
722
- export interface GetResourcesV2Request {
723
- /**
724
- * <p>Filters resources based on a set of criteria.</p>
725
- * @public
726
- */
727
- Filters?: ResourcesFilters | undefined;
728
- /**
729
- * <p>The finding attributes used to sort the list of returned findings.</p>
730
- * @public
731
- */
732
- SortCriteria?: SortCriterion[] | undefined;
733
- /**
734
- * <p>The token required for pagination.
735
- * On your first call, set the value of this parameter to <code>NULL</code>.
736
- * For subsequent calls, to continue listing data, set the value of this parameter to the value returned in the previous response.</p>
737
- * @public
738
- */
739
- NextToken?: string | undefined;
740
- /**
741
- * <p>The maximum number of results to return.</p>
742
- * @public
743
- */
744
- MaxResults?: number | undefined;
745
- }
746
492
  /**
747
493
  * <p>A comprehensive distribution of security findings by severity level for Amazon Web Services resources.</p>
748
494
  * @public
@@ -855,10 +601,10 @@ export interface ResourceTag {
855
601
  */
856
602
  export interface ResourceResult {
857
603
  /**
858
- * <p>Specifies the ARN that uniquely identifies a resource.</p>
604
+ * <p>The global identifier used to identify a resource.</p>
859
605
  * @public
860
606
  */
861
- ResourceArn?: string | undefined;
607
+ ResourceGuid?: string | undefined;
862
608
  /**
863
609
  * <p>The unique identifier for a resource.</p>
864
610
  * @public
@@ -1976,81 +1722,41 @@ export interface UpdateAggregatorV2Response {
1976
1722
  /**
1977
1723
  * @public
1978
1724
  */
1979
- export interface UpdateAutomationRuleV2Request {
1725
+ export interface UpdateAutomationRuleV2Response {
1726
+ }
1727
+ /**
1728
+ * @public
1729
+ */
1730
+ export interface UpdateConfigurationPolicyRequest {
1980
1731
  /**
1981
- * <p>The ARN of the automation rule.</p>
1732
+ * <p>
1733
+ * The Amazon Resource Name (ARN) or universally unique identifier (UUID) of the configuration policy.
1734
+ * </p>
1982
1735
  * @public
1983
1736
  */
1984
1737
  Identifier: string | undefined;
1985
1738
  /**
1986
- * <p>The status of the automation rule.</p>
1987
- * @public
1988
- */
1989
- RuleStatus?: RuleStatusV2 | undefined;
1990
- /**
1991
- * <p>Represents a value for the rule priority.</p>
1739
+ * <p>
1740
+ * The name of the configuration policy. Alphanumeric characters and the following ASCII characters are permitted:
1741
+ * <code>-, ., !, *, /</code>.
1742
+ * </p>
1992
1743
  * @public
1993
1744
  */
1994
- RuleOrder?: number | undefined;
1745
+ Name?: string | undefined;
1995
1746
  /**
1996
- * <p>A description of the automation rule.</p>
1747
+ * <p>
1748
+ * The description of the configuration policy.
1749
+ * </p>
1997
1750
  * @public
1998
1751
  */
1999
1752
  Description?: string | undefined;
2000
1753
  /**
2001
- * <p>The name of the automation rule.</p>
1754
+ * <p>
1755
+ * The reason for updating the configuration policy.
1756
+ * </p>
2002
1757
  * @public
2003
1758
  */
2004
- RuleName?: string | undefined;
2005
- /**
2006
- * <p>The filtering type and configuration of the automation rule.</p>
2007
- * @public
2008
- */
2009
- Criteria?: Criteria | undefined;
2010
- /**
2011
- * <p>A list of actions to be performed when the rule criteria is met.</p>
2012
- * @public
2013
- */
2014
- Actions?: AutomationRulesActionV2[] | undefined;
2015
- }
2016
- /**
2017
- * @public
2018
- */
2019
- export interface UpdateAutomationRuleV2Response {
2020
- }
2021
- /**
2022
- * @public
2023
- */
2024
- export interface UpdateConfigurationPolicyRequest {
2025
- /**
2026
- * <p>
2027
- * The Amazon Resource Name (ARN) or universally unique identifier (UUID) of the configuration policy.
2028
- * </p>
2029
- * @public
2030
- */
2031
- Identifier: string | undefined;
2032
- /**
2033
- * <p>
2034
- * The name of the configuration policy. Alphanumeric characters and the following ASCII characters are permitted:
2035
- * <code>-, ., !, *, /</code>.
2036
- * </p>
2037
- * @public
2038
- */
2039
- Name?: string | undefined;
2040
- /**
2041
- * <p>
2042
- * The description of the configuration policy.
2043
- * </p>
2044
- * @public
2045
- */
2046
- Description?: string | undefined;
2047
- /**
2048
- * <p>
2049
- * The reason for updating the configuration policy.
2050
- * </p>
2051
- * @public
2052
- */
2053
- UpdatedReason?: string | undefined;
1759
+ UpdatedReason?: string | undefined;
2054
1760
  /**
2055
1761
  * <p>
2056
1762
  * An object that defines how Security Hub is configured. It includes whether Security Hub is enabled or
@@ -2414,6 +2120,431 @@ export interface UpdateStandardsControlRequest {
2414
2120
  */
2415
2121
  export interface UpdateStandardsControlResponse {
2416
2122
  }
2123
+ /**
2124
+ * <p>Enables the creation of filtering criteria for security findings.</p>
2125
+ * @public
2126
+ */
2127
+ export interface CompositeFilter {
2128
+ /**
2129
+ * <p>Enables filtering based on string field values.</p>
2130
+ * @public
2131
+ */
2132
+ StringFilters?: OcsfStringFilter[] | undefined;
2133
+ /**
2134
+ * <p>Enables filtering based on date and timestamp fields.</p>
2135
+ * @public
2136
+ */
2137
+ DateFilters?: OcsfDateFilter[] | undefined;
2138
+ /**
2139
+ * <p>Enables filtering based on boolean field values.</p>
2140
+ * @public
2141
+ */
2142
+ BooleanFilters?: OcsfBooleanFilter[] | undefined;
2143
+ /**
2144
+ * <p>Enables filtering based on numerical field values.</p>
2145
+ * @public
2146
+ */
2147
+ NumberFilters?: OcsfNumberFilter[] | undefined;
2148
+ /**
2149
+ * <p>Enables filtering based on map field values.</p>
2150
+ * @public
2151
+ */
2152
+ MapFilters?: OcsfMapFilter[] | undefined;
2153
+ /**
2154
+ * <p>A list of IP address filters that allowing you to filter findings based on IP address properties.</p>
2155
+ * @public
2156
+ */
2157
+ IpFilters?: OcsfIpFilter[] | undefined;
2158
+ /**
2159
+ * <p>
2160
+ * Provides an additional level of filtering, creating a three-layer nested structure.
2161
+ * The first layer is a <code>CompositeFilters</code> array with a <code>CompositeOperator</code> (<code>AND</code>/<code>OR</code>).
2162
+ * The second layer is a <code>CompositeFilter</code> object that contains direct filters and <code>NestedCompositeFilters</code>.
2163
+ * The third layer is <code>NestedCompositeFilters</code>, which contains additional filter conditions.
2164
+ * </p>
2165
+ * @public
2166
+ */
2167
+ NestedCompositeFilters?: CompositeFilter[] | undefined;
2168
+ /**
2169
+ * <p>The logical operator used to combine multiple filter conditions.</p>
2170
+ * @public
2171
+ */
2172
+ Operator?: AllowedOperators | undefined;
2173
+ }
2174
+ /**
2175
+ * <p>Enables the creation of criteria for Amazon Web Services resources in Security Hub.</p>
2176
+ * @public
2177
+ */
2178
+ export interface ResourcesCompositeFilter {
2179
+ /**
2180
+ * <p>Enables filtering based on string field values.</p>
2181
+ * @public
2182
+ */
2183
+ StringFilters?: ResourcesStringFilter[] | undefined;
2184
+ /**
2185
+ * <p>Enables filtering based on date and timestamp field values.</p>
2186
+ * @public
2187
+ */
2188
+ DateFilters?: ResourcesDateFilter[] | undefined;
2189
+ /**
2190
+ * <p>Enables filtering based on numerical field values.</p>
2191
+ * @public
2192
+ */
2193
+ NumberFilters?: ResourcesNumberFilter[] | undefined;
2194
+ /**
2195
+ * <p>Enables filtering based on map-based field values.</p>
2196
+ * @public
2197
+ */
2198
+ MapFilters?: ResourcesMapFilter[] | undefined;
2199
+ /**
2200
+ * <p>
2201
+ * Provides an additional level of filtering, creating a three-layer nested structure.
2202
+ * The first layer is a <code>CompositeFilters</code> array with a <code>CompositeOperator</code> (<code>AND</code>/<code>OR</code>).
2203
+ * The second layer is a <code>CompositeFilter</code> object that contains direct filters and <code>NestedCompositeFilters</code>.
2204
+ * The third layer is <code>NestedCompositeFilters</code>, which contains additional filter conditions.
2205
+ * </p>
2206
+ * @public
2207
+ */
2208
+ NestedCompositeFilters?: ResourcesCompositeFilter[] | undefined;
2209
+ /**
2210
+ * <p>The logical operator used to combine multiple filter conditions.</p>
2211
+ * @public
2212
+ */
2213
+ Operator?: AllowedOperators | undefined;
2214
+ }
2215
+ /**
2216
+ * <p>Specifies the filtering criteria for security findings using OCSF.</p>
2217
+ * @public
2218
+ */
2219
+ export interface OcsfFindingFilters {
2220
+ /**
2221
+ * <p>Enables the creation of complex filtering conditions by combining filter criteria.</p>
2222
+ * @public
2223
+ */
2224
+ CompositeFilters?: CompositeFilter[] | undefined;
2225
+ /**
2226
+ * <p>The logical operators used to combine the filtering on multiple <code>CompositeFilters</code>.</p>
2227
+ * @public
2228
+ */
2229
+ CompositeOperator?: AllowedOperators | undefined;
2230
+ }
2231
+ /**
2232
+ * <p>Enables filtering of Amazon Web Services resources based on data.</p>
2233
+ * @public
2234
+ */
2235
+ export interface ResourcesFilters {
2236
+ /**
2237
+ * <p>A collection of complex filtering conditions that can be applied to Amazon Web Services resources.</p>
2238
+ * @public
2239
+ */
2240
+ CompositeFilters?: ResourcesCompositeFilter[] | undefined;
2241
+ /**
2242
+ * <p>The logical operator used to combine multiple filter conditions in the structure.</p>
2243
+ * @public
2244
+ */
2245
+ CompositeOperator?: AllowedOperators | undefined;
2246
+ }
2247
+ /**
2248
+ * <p>Defines the parameters and conditions used to evaluate and filter security findings.</p>
2249
+ * @public
2250
+ */
2251
+ export type Criteria = Criteria.OcsfFindingCriteriaMember | Criteria.$UnknownMember;
2252
+ /**
2253
+ * @public
2254
+ */
2255
+ export declare namespace Criteria {
2256
+ /**
2257
+ * <p>The filtering conditions that align with OCSF standards.</p>
2258
+ * @public
2259
+ */
2260
+ interface OcsfFindingCriteriaMember {
2261
+ OcsfFindingCriteria: OcsfFindingFilters;
2262
+ $unknown?: never;
2263
+ }
2264
+ /**
2265
+ * @public
2266
+ */
2267
+ interface $UnknownMember {
2268
+ OcsfFindingCriteria?: never;
2269
+ $unknown: [string, any];
2270
+ }
2271
+ interface Visitor<T> {
2272
+ OcsfFindingCriteria: (value: OcsfFindingFilters) => T;
2273
+ _: (name: string, value: any) => T;
2274
+ }
2275
+ const visit: <T>(value: Criteria, visitor: Visitor<T>) => T;
2276
+ }
2277
+ /**
2278
+ * @public
2279
+ */
2280
+ export interface GetFindingsV2Request {
2281
+ /**
2282
+ * <p>The finding attributes used to define a condition to filter the returned OCSF findings.
2283
+ * You can filter up to 10 composite filters.
2284
+ * For each filter type inside of a composite filter, you can provide up to 20 filters.</p>
2285
+ * @public
2286
+ */
2287
+ Filters?: OcsfFindingFilters | undefined;
2288
+ /**
2289
+ * <p>The finding attributes used to sort the list of returned findings.</p>
2290
+ * @public
2291
+ */
2292
+ SortCriteria?: SortCriterion[] | undefined;
2293
+ /**
2294
+ * <p>
2295
+ * The token required for pagination.
2296
+ * On your first call, set the value of this parameter to <code>NULL</code>.
2297
+ * For subsequent calls, to continue listing data, set the value of this parameter to the value returned in the previous response.</p>
2298
+ * @public
2299
+ */
2300
+ NextToken?: string | undefined;
2301
+ /**
2302
+ * <p>The maximum number of results to return.</p>
2303
+ * @public
2304
+ */
2305
+ MaxResults?: number | undefined;
2306
+ }
2307
+ /**
2308
+ * @public
2309
+ */
2310
+ export interface GetResourcesV2Request {
2311
+ /**
2312
+ * <p>Filters resources based on a set of criteria.</p>
2313
+ * @public
2314
+ */
2315
+ Filters?: ResourcesFilters | undefined;
2316
+ /**
2317
+ * <p>The finding attributes used to sort the list of returned findings.</p>
2318
+ * @public
2319
+ */
2320
+ SortCriteria?: SortCriterion[] | undefined;
2321
+ /**
2322
+ * <p>The token required for pagination.
2323
+ * On your first call, set the value of this parameter to <code>NULL</code>.
2324
+ * For subsequent calls, to continue listing data, set the value of this parameter to the value returned in the previous response.</p>
2325
+ * @public
2326
+ */
2327
+ NextToken?: string | undefined;
2328
+ /**
2329
+ * <p>The maximum number of results to return.</p>
2330
+ * @public
2331
+ */
2332
+ MaxResults?: number | undefined;
2333
+ }
2334
+ /**
2335
+ * <p>Defines the how the finding attribute should be grouped.</p>
2336
+ * @public
2337
+ */
2338
+ export interface GroupByRule {
2339
+ /**
2340
+ * <p>The criteria used to select which security findings should be included in the grouping operation.</p>
2341
+ * @public
2342
+ */
2343
+ Filters?: OcsfFindingFilters | undefined;
2344
+ /**
2345
+ * <p>The attribute by which filtered findings should be grouped.</p>
2346
+ * @public
2347
+ */
2348
+ GroupByField: GroupByField | undefined;
2349
+ }
2350
+ /**
2351
+ * <p>Defines the configuration for organizing and categorizing Amazon Web Services resources based on associated security findings.</p>
2352
+ * @public
2353
+ */
2354
+ export interface ResourceGroupByRule {
2355
+ /**
2356
+ * <p>Specifies the attribute that resources should be grouped by.</p>
2357
+ * @public
2358
+ */
2359
+ GroupByField: ResourceGroupByField | undefined;
2360
+ /**
2361
+ * <p>The criteria used to select resources and associated security findings.</p>
2362
+ * @public
2363
+ */
2364
+ Filters?: ResourcesFilters | undefined;
2365
+ }
2366
+ /**
2367
+ * @public
2368
+ */
2369
+ export interface CreateAutomationRuleV2Request {
2370
+ /**
2371
+ * <p>The name of the V2 automation rule.</p>
2372
+ * @public
2373
+ */
2374
+ RuleName: string | undefined;
2375
+ /**
2376
+ * <p>The status of the V2 automation rule.</p>
2377
+ * @public
2378
+ */
2379
+ RuleStatus?: RuleStatusV2 | undefined;
2380
+ /**
2381
+ * <p>A description of the V2 automation rule.</p>
2382
+ * @public
2383
+ */
2384
+ Description: string | undefined;
2385
+ /**
2386
+ * <p>The value for the rule priority.</p>
2387
+ * @public
2388
+ */
2389
+ RuleOrder: number | undefined;
2390
+ /**
2391
+ * <p>The filtering type and configuration of the automation rule.</p>
2392
+ * @public
2393
+ */
2394
+ Criteria: Criteria | undefined;
2395
+ /**
2396
+ * <p>A list of actions to be performed when the rule criteria is met.</p>
2397
+ * @public
2398
+ */
2399
+ Actions: AutomationRulesActionV2[] | undefined;
2400
+ /**
2401
+ * <p>A list of key-value pairs associated with the V2 automation rule.</p>
2402
+ * @public
2403
+ */
2404
+ Tags?: Record<string, string> | undefined;
2405
+ /**
2406
+ * <p>A unique identifier used to ensure idempotency.</p>
2407
+ * @public
2408
+ */
2409
+ ClientToken?: string | undefined;
2410
+ }
2411
+ /**
2412
+ * @public
2413
+ */
2414
+ export interface GetAutomationRuleV2Response {
2415
+ /**
2416
+ * <p>The ARN of the V2 automation rule.</p>
2417
+ * @public
2418
+ */
2419
+ RuleArn?: string | undefined;
2420
+ /**
2421
+ * <p>The ID of the V2 automation rule.</p>
2422
+ * @public
2423
+ */
2424
+ RuleId?: string | undefined;
2425
+ /**
2426
+ * <p>The value for the rule priority.</p>
2427
+ * @public
2428
+ */
2429
+ RuleOrder?: number | undefined;
2430
+ /**
2431
+ * <p>The name of the V2 automation rule.</p>
2432
+ * @public
2433
+ */
2434
+ RuleName?: string | undefined;
2435
+ /**
2436
+ * <p>The status of the V2 automation automation rule.</p>
2437
+ * @public
2438
+ */
2439
+ RuleStatus?: RuleStatusV2 | undefined;
2440
+ /**
2441
+ * <p>A description of the automation rule.</p>
2442
+ * @public
2443
+ */
2444
+ Description?: string | undefined;
2445
+ /**
2446
+ * <p>The filtering type and configuration of the V2 automation rule.</p>
2447
+ * @public
2448
+ */
2449
+ Criteria?: Criteria | undefined;
2450
+ /**
2451
+ * <p>A list of actions performed when the rule criteria is met.</p>
2452
+ * @public
2453
+ */
2454
+ Actions?: AutomationRulesActionV2[] | undefined;
2455
+ /**
2456
+ * <p>The timestamp when the V2 automation rule was created.</p>
2457
+ * @public
2458
+ */
2459
+ CreatedAt?: Date | undefined;
2460
+ /**
2461
+ * <p>The timestamp when the V2 automation rule was updated.</p>
2462
+ * @public
2463
+ */
2464
+ UpdatedAt?: Date | undefined;
2465
+ }
2466
+ /**
2467
+ * @public
2468
+ */
2469
+ export interface UpdateAutomationRuleV2Request {
2470
+ /**
2471
+ * <p>The ARN of the automation rule.</p>
2472
+ * @public
2473
+ */
2474
+ Identifier: string | undefined;
2475
+ /**
2476
+ * <p>The status of the automation rule.</p>
2477
+ * @public
2478
+ */
2479
+ RuleStatus?: RuleStatusV2 | undefined;
2480
+ /**
2481
+ * <p>Represents a value for the rule priority.</p>
2482
+ * @public
2483
+ */
2484
+ RuleOrder?: number | undefined;
2485
+ /**
2486
+ * <p>A description of the automation rule.</p>
2487
+ * @public
2488
+ */
2489
+ Description?: string | undefined;
2490
+ /**
2491
+ * <p>The name of the automation rule.</p>
2492
+ * @public
2493
+ */
2494
+ RuleName?: string | undefined;
2495
+ /**
2496
+ * <p>The filtering type and configuration of the automation rule.</p>
2497
+ * @public
2498
+ */
2499
+ Criteria?: Criteria | undefined;
2500
+ /**
2501
+ * <p>A list of actions to be performed when the rule criteria is met.</p>
2502
+ * @public
2503
+ */
2504
+ Actions?: AutomationRulesActionV2[] | undefined;
2505
+ }
2506
+ /**
2507
+ * @public
2508
+ */
2509
+ export interface GetFindingStatisticsV2Request {
2510
+ /**
2511
+ * <p>Specifies how security findings should be aggregated and organized in the statistical analysis.
2512
+ * It can accept up to 5 <code>groupBy</code> fields in a single call.</p>
2513
+ * @public
2514
+ */
2515
+ GroupByRules: GroupByRule[] | undefined;
2516
+ /**
2517
+ * <p>Orders the aggregation count in descending or ascending order.
2518
+ * Descending order is the default.</p>
2519
+ * @public
2520
+ */
2521
+ SortOrder?: SortOrder | undefined;
2522
+ /**
2523
+ * <p>The maximum number of results to be returned.</p>
2524
+ * @public
2525
+ */
2526
+ MaxStatisticResults?: number | undefined;
2527
+ }
2528
+ /**
2529
+ * @public
2530
+ */
2531
+ export interface GetResourcesStatisticsV2Request {
2532
+ /**
2533
+ * <p>How resource statistics should be aggregated and organized in the response.</p>
2534
+ * @public
2535
+ */
2536
+ GroupByRules: ResourceGroupByRule[] | undefined;
2537
+ /**
2538
+ * <p>Sorts aggregated statistics.</p>
2539
+ * @public
2540
+ */
2541
+ SortOrder?: SortOrder | undefined;
2542
+ /**
2543
+ * <p>The maximum number of results to be returned.</p>
2544
+ * @public
2545
+ */
2546
+ MaxStatisticResults?: number | undefined;
2547
+ }
2417
2548
  /**
2418
2549
  * @internal
2419
2550
  */