Skip to content

Commit 84afe14

Browse files
author
awstools
committed
feat(client-securityhub): Release 3 layer filter support in GetFindingsV2, GetFindingStatisticsV2, GetResourcesV2,GetResourcesStatisticsV2, AutomationRule V2 APIs. Update filter casing in GetResourcesV2, GetResourcesStatisticsV2 APIs. Add new filters in GetFindingsV2, GetFindingStatisticsV2, AutomationRule V2 APIs.
1 parent 1dd93db commit 84afe14

25 files changed

+1683
-703
lines changed

clients/client-securityhub/src/commands/BatchUpdateFindingsV2Command.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export interface BatchUpdateFindingsV2CommandOutput extends BatchUpdateFindingsV
3333
* Delegated administrator accounts can update findings for their account and their member accounts.
3434
* Member accounts can update findings for their account. <code>BatchUpdateFindings</code> and <code>BatchUpdateFindingV2</code> both use <code>securityhub:BatchUpdateFindings</code> in the <code>Action</code> element of an IAM policy statement.
3535
* You must have permission to perform the <code>securityhub:BatchUpdateFindings</code> action.
36-
* Updates from <code>BatchUpdateFindingsV2</code> don't affect the value of f<code>inding_info.modified_time</code>, <code>finding_info.modified_time_dt</code>, <code>time</code>, <code>time_dt for a finding</code>. This API is in private preview and subject to change.</p>
36+
* Updates from <code>BatchUpdateFindingsV2</code> don't affect the value of f<code>inding_info.modified_time</code>, <code>finding_info.modified_time_dt</code>, <code>time</code>, <code>time_dt for a finding</code>. This API is in public preview and subject to change.</p>
3737
* @example
3838
* Use a bare-bones client and the command you need to make an API call.
3939
* ```javascript

clients/client-securityhub/src/commands/CreateAggregatorV2Command.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export interface CreateAggregatorV2CommandInput extends CreateAggregatorV2Reques
2828
export interface CreateAggregatorV2CommandOutput extends CreateAggregatorV2Response, __MetadataBearer {}
2929

3030
/**
31-
* <p>Enables aggregation across Amazon Web Services Regions. This API is in private preview and subject to change.</p>
31+
* <p>Enables aggregation across Amazon Web Services Regions. This API is in public preview and subject to change.</p>
3232
* @example
3333
* Use a bare-bones client and the command you need to make an API call.
3434
* ```javascript

clients/client-securityhub/src/commands/CreateAutomationRuleV2Command.ts

Lines changed: 81 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ import { Command as $Command } from "@smithy/smithy-client";
55
import { MetadataBearer as __MetadataBearer } from "@smithy/types";
66

77
import { commonParams } from "../endpoint/EndpointParameters";
8-
import { CreateAutomationRuleV2Request, CreateAutomationRuleV2Response } from "../models/models_2";
8+
import { CreateAutomationRuleV2Response } from "../models/models_2";
9+
import { CreateAutomationRuleV2Request } from "../models/models_3";
910
import { de_CreateAutomationRuleV2Command, se_CreateAutomationRuleV2Command } from "../protocols/Aws_restJson1";
1011
import { SecurityHubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SecurityHubClient";
1112

@@ -28,7 +29,7 @@ export interface CreateAutomationRuleV2CommandInput extends CreateAutomationRule
2829
export interface CreateAutomationRuleV2CommandOutput extends CreateAutomationRuleV2Response, __MetadataBearer {}
2930

3031
/**
31-
* <p>Creates a V2 automation rule. This API is in private preview and subject to change.</p>
32+
* <p>Creates a V2 automation rule. This API is in public preview and subject to change.</p>
3233
* @example
3334
* Use a bare-bones client and the command you need to make an API call.
3435
* ```javascript
@@ -48,7 +49,7 @@ export interface CreateAutomationRuleV2CommandOutput extends CreateAutomationRul
4849
* { // CompositeFilter
4950
* StringFilters: [ // OcsfStringFilterList
5051
* { // OcsfStringFilter
51-
* FieldName: "metadata.uid" || "activity_name" || "cloud.account.uid" || "cloud.provider" || "cloud.region" || "compliance.assessments.category" || "compliance.assessments.name" || "compliance.control" || "compliance.status" || "compliance.standards" || "finding_info.desc" || "finding_info.src_url" || "finding_info.title" || "finding_info.types" || "finding_info.uid" || "finding_info.related_events.uid" || "finding_info.related_events.product.uid" || "finding_info.related_events.title" || "metadata.product.name" || "metadata.product.uid" || "metadata.product.vendor_name" || "remediation.desc" || "remediation.references" || "resources.cloud_partition" || "resources.region" || "resources.type" || "resources.uid" || "severity" || "status" || "comment" || "vulnerabilities.fix_coverage" || "class_name",
52+
* FieldName: "metadata.uid" || "activity_name" || "cloud.account.uid" || "cloud.provider" || "cloud.region" || "compliance.assessments.category" || "compliance.assessments.name" || "compliance.control" || "compliance.status" || "compliance.standards" || "finding_info.desc" || "finding_info.src_url" || "finding_info.title" || "finding_info.types" || "finding_info.uid" || "finding_info.related_events.uid" || "finding_info.related_events.product.uid" || "finding_info.related_events.title" || "metadata.product.name" || "metadata.product.uid" || "metadata.product.vendor_name" || "remediation.desc" || "remediation.references" || "resources.cloud_partition" || "resources.region" || "resources.type" || "resources.uid" || "severity" || "status" || "comment" || "vulnerabilities.fix_coverage" || "class_name" || "databucket.encryption_details.algorithm" || "databucket.encryption_details.key_uid" || "databucket.file.data_classifications.classifier_details.type" || "evidences.actor.user.account.uid" || "evidences.api.operation" || "evidences.api.response.error_message" || "evidences.api.service.name" || "evidences.connection_info.direction" || "evidences.connection_info.protocol_name" || "evidences.dst_endpoint.autonomous_system.name" || "evidences.dst_endpoint.location.city" || "evidences.dst_endpoint.location.country" || "evidences.src_endpoint.autonomous_system.name" || "evidences.src_endpoint.hostname" || "evidences.src_endpoint.location.city" || "evidences.src_endpoint.location.country" || "finding_info.analytic.name" || "malware.name" || "malware_scan_info.uid" || "malware.severity" || "resources.cloud_function.layers.uid_alt" || "resources.cloud_function.runtime" || "resources.cloud_function.user.uid" || "resources.device.encryption_details.key_uid" || "resources.device.image.uid" || "resources.image.architecture" || "resources.image.registry_uid" || "resources.image.repository_name" || "resources.image.uid" || "resources.subnet_info.uid" || "resources.vpc_uid" || "vulnerabilities.affected_code.file.path" || "vulnerabilities.affected_packages.name" || "vulnerabilities.cve.epss.score" || "vulnerabilities.cve.uid" || "vulnerabilities.related_vulnerabilities" || "cloud.account.name",
5253
* Filter: { // StringFilter
5354
* Value: "STRING_VALUE",
5455
* Comparison: "EQUALS" || "PREFIX" || "NOT_EQUALS" || "PREFIX_NOT_EQUALS" || "CONTAINS" || "NOT_CONTAINS" || "CONTAINS_WORD",
@@ -57,7 +58,7 @@ export interface CreateAutomationRuleV2CommandOutput extends CreateAutomationRul
5758
* ],
5859
* DateFilters: [ // OcsfDateFilterList
5960
* { // OcsfDateFilter
60-
* FieldName: "finding_info.created_time_dt" || "finding_info.first_seen_time_dt" || "finding_info.last_seen_time_dt" || "finding_info.modified_time_dt",
61+
* FieldName: "finding_info.created_time_dt" || "finding_info.first_seen_time_dt" || "finding_info.last_seen_time_dt" || "finding_info.modified_time_dt" || "resources.image.created_time_dt" || "resources.image.last_used_time_dt" || "resources.modified_time_dt",
6162
* Filter: { // DateFilter
6263
* Start: "STRING_VALUE",
6364
* End: "STRING_VALUE",
@@ -78,7 +79,7 @@ export interface CreateAutomationRuleV2CommandOutput extends CreateAutomationRul
7879
* ],
7980
* NumberFilters: [ // OcsfNumberFilterList
8081
* { // OcsfNumberFilter
81-
* FieldName: "activity_id" || "compliance.status_id" || "confidence_score" || "severity_id" || "status_id" || "finding_info.related_events_count",
82+
* FieldName: "activity_id" || "compliance.status_id" || "confidence_score" || "severity_id" || "status_id" || "finding_info.related_events_count" || "evidences.api.response.code" || "evidences.dst_endpoint.autonomous_system.number" || "evidences.dst_endpoint.port" || "evidences.src_endpoint.autonomous_system.number" || "evidences.src_endpoint.port" || "resources.image.in_use_count",
8283
* Filter: { // NumberFilter
8384
* Gte: Number("double"),
8485
* Lte: Number("double"),
@@ -90,14 +91,88 @@ export interface CreateAutomationRuleV2CommandOutput extends CreateAutomationRul
9091
* ],
9192
* MapFilters: [ // OcsfMapFilterList
9293
* { // OcsfMapFilter
93-
* FieldName: "resources.tags",
94+
* FieldName: "resources.tags" || "compliance.control_parameters" || "databucket.tags" || "finding_info.tags",
9495
* Filter: { // MapFilter
9596
* Key: "STRING_VALUE",
9697
* Value: "STRING_VALUE",
9798
* Comparison: "EQUALS" || "NOT_EQUALS" || "CONTAINS" || "NOT_CONTAINS",
9899
* },
99100
* },
100101
* ],
102+
* IpFilters: [ // OcsfIpFilterList
103+
* { // OcsfIpFilter
104+
* FieldName: "evidences.dst_endpoint.ip" || "evidences.src_endpoint.ip",
105+
* Filter: { // IpFilter
106+
* Cidr: "STRING_VALUE",
107+
* },
108+
* },
109+
* ],
110+
* NestedCompositeFilters: [
111+
* {
112+
* StringFilters: [
113+
* {
114+
* FieldName: "metadata.uid" || "activity_name" || "cloud.account.uid" || "cloud.provider" || "cloud.region" || "compliance.assessments.category" || "compliance.assessments.name" || "compliance.control" || "compliance.status" || "compliance.standards" || "finding_info.desc" || "finding_info.src_url" || "finding_info.title" || "finding_info.types" || "finding_info.uid" || "finding_info.related_events.uid" || "finding_info.related_events.product.uid" || "finding_info.related_events.title" || "metadata.product.name" || "metadata.product.uid" || "metadata.product.vendor_name" || "remediation.desc" || "remediation.references" || "resources.cloud_partition" || "resources.region" || "resources.type" || "resources.uid" || "severity" || "status" || "comment" || "vulnerabilities.fix_coverage" || "class_name" || "databucket.encryption_details.algorithm" || "databucket.encryption_details.key_uid" || "databucket.file.data_classifications.classifier_details.type" || "evidences.actor.user.account.uid" || "evidences.api.operation" || "evidences.api.response.error_message" || "evidences.api.service.name" || "evidences.connection_info.direction" || "evidences.connection_info.protocol_name" || "evidences.dst_endpoint.autonomous_system.name" || "evidences.dst_endpoint.location.city" || "evidences.dst_endpoint.location.country" || "evidences.src_endpoint.autonomous_system.name" || "evidences.src_endpoint.hostname" || "evidences.src_endpoint.location.city" || "evidences.src_endpoint.location.country" || "finding_info.analytic.name" || "malware.name" || "malware_scan_info.uid" || "malware.severity" || "resources.cloud_function.layers.uid_alt" || "resources.cloud_function.runtime" || "resources.cloud_function.user.uid" || "resources.device.encryption_details.key_uid" || "resources.device.image.uid" || "resources.image.architecture" || "resources.image.registry_uid" || "resources.image.repository_name" || "resources.image.uid" || "resources.subnet_info.uid" || "resources.vpc_uid" || "vulnerabilities.affected_code.file.path" || "vulnerabilities.affected_packages.name" || "vulnerabilities.cve.epss.score" || "vulnerabilities.cve.uid" || "vulnerabilities.related_vulnerabilities" || "cloud.account.name",
115+
* Filter: {
116+
* Value: "STRING_VALUE",
117+
* Comparison: "EQUALS" || "PREFIX" || "NOT_EQUALS" || "PREFIX_NOT_EQUALS" || "CONTAINS" || "NOT_CONTAINS" || "CONTAINS_WORD",
118+
* },
119+
* },
120+
* ],
121+
* DateFilters: [
122+
* {
123+
* FieldName: "finding_info.created_time_dt" || "finding_info.first_seen_time_dt" || "finding_info.last_seen_time_dt" || "finding_info.modified_time_dt" || "resources.image.created_time_dt" || "resources.image.last_used_time_dt" || "resources.modified_time_dt",
124+
* Filter: {
125+
* Start: "STRING_VALUE",
126+
* End: "STRING_VALUE",
127+
* DateRange: {
128+
* Value: Number("int"),
129+
* Unit: "DAYS",
130+
* },
131+
* },
132+
* },
133+
* ],
134+
* BooleanFilters: [
135+
* {
136+
* FieldName: "compliance.assessments.meets_criteria" || "vulnerabilities.is_exploit_available" || "vulnerabilities.is_fix_available",
137+
* Filter: {
138+
* Value: true || false,
139+
* },
140+
* },
141+
* ],
142+
* NumberFilters: [
143+
* {
144+
* FieldName: "activity_id" || "compliance.status_id" || "confidence_score" || "severity_id" || "status_id" || "finding_info.related_events_count" || "evidences.api.response.code" || "evidences.dst_endpoint.autonomous_system.number" || "evidences.dst_endpoint.port" || "evidences.src_endpoint.autonomous_system.number" || "evidences.src_endpoint.port" || "resources.image.in_use_count",
145+
* Filter: {
146+
* Gte: Number("double"),
147+
* Lte: Number("double"),
148+
* Eq: Number("double"),
149+
* Gt: Number("double"),
150+
* Lt: Number("double"),
151+
* },
152+
* },
153+
* ],
154+
* MapFilters: [
155+
* {
156+
* FieldName: "resources.tags" || "compliance.control_parameters" || "databucket.tags" || "finding_info.tags",
157+
* Filter: {
158+
* Key: "STRING_VALUE",
159+
* Value: "STRING_VALUE",
160+
* Comparison: "EQUALS" || "NOT_EQUALS" || "CONTAINS" || "NOT_CONTAINS",
161+
* },
162+
* },
163+
* ],
164+
* IpFilters: [
165+
* {
166+
* FieldName: "evidences.dst_endpoint.ip" || "evidences.src_endpoint.ip",
167+
* Filter: {
168+
* Cidr: "STRING_VALUE",
169+
* },
170+
* },
171+
* ],
172+
* NestedCompositeFilters: "<CompositeFilterList>",
173+
* Operator: "AND" || "OR",
174+
* },
175+
* ],
101176
* Operator: "AND" || "OR",
102177
* },
103178
* ],

clients/client-securityhub/src/commands/DeleteAggregatorV2Command.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export interface DeleteAggregatorV2CommandInput extends DeleteAggregatorV2Reques
2828
export interface DeleteAggregatorV2CommandOutput extends DeleteAggregatorV2Response, __MetadataBearer {}
2929

3030
/**
31-
* <p>Deletes the Aggregator V2. This API is in private preview and subject to change.</p>
31+
* <p>Deletes the Aggregator V2. This API is in public preview and subject to change.</p>
3232
* @example
3333
* Use a bare-bones client and the command you need to make an API call.
3434
* ```javascript

clients/client-securityhub/src/commands/DeleteAutomationRuleV2Command.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export interface DeleteAutomationRuleV2CommandInput extends DeleteAutomationRule
2828
export interface DeleteAutomationRuleV2CommandOutput extends DeleteAutomationRuleV2Response, __MetadataBearer {}
2929

3030
/**
31-
* <p>Deletes a V2 automation rule. This API is in private preview and subject to change.</p>
31+
* <p>Deletes a V2 automation rule. This API is in public preview and subject to change.</p>
3232
* @example
3333
* Use a bare-bones client and the command you need to make an API call.
3434
* ```javascript

clients/client-securityhub/src/commands/DescribeProductsV2Command.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export interface DescribeProductsV2CommandInput extends DescribeProductsV2Reques
2828
export interface DescribeProductsV2CommandOutput extends DescribeProductsV2Response, __MetadataBearer {}
2929

3030
/**
31-
* <p>Gets information about the product integration. This API is in private preview and subject to change.</p>
31+
* <p>Gets information about the product integration. This API is in public preview and subject to change.</p>
3232
* @example
3333
* Use a bare-bones client and the command you need to make an API call.
3434
* ```javascript

clients/client-securityhub/src/commands/DescribeSecurityHubV2Command.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export interface DescribeSecurityHubV2CommandInput extends DescribeSecurityHubV2
2828
export interface DescribeSecurityHubV2CommandOutput extends DescribeSecurityHubV2Response, __MetadataBearer {}
2929

3030
/**
31-
* <p>Returns details about the service resource in your account. This API is in private preview and subject to change.</p>
31+
* <p>Returns details about the service resource in your account. This API is in public preview and subject to change.</p>
3232
* @example
3333
* Use a bare-bones client and the command you need to make an API call.
3434
* ```javascript

clients/client-securityhub/src/commands/DisableSecurityHubV2Command.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export interface DisableSecurityHubV2CommandInput extends DisableSecurityHubV2Re
2828
export interface DisableSecurityHubV2CommandOutput extends DisableSecurityHubV2Response, __MetadataBearer {}
2929

3030
/**
31-
* <p>Disable the service for the current Amazon Web Services Region or specified Amazon Web Services Region. This API is in private preview and subject to change.</p>
31+
* <p>Disable the service for the current Amazon Web Services Region or specified Amazon Web Services Region. This API is in public preview and subject to change.</p>
3232
* @example
3333
* Use a bare-bones client and the command you need to make an API call.
3434
* ```javascript

clients/client-securityhub/src/commands/EnableSecurityHubV2Command.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export interface EnableSecurityHubV2CommandInput extends EnableSecurityHubV2Requ
2828
export interface EnableSecurityHubV2CommandOutput extends EnableSecurityHubV2Response, __MetadataBearer {}
2929

3030
/**
31-
* <p>Enables the service in account for the current Amazon Web Services Region or specified Amazon Web Services Region. This API is in private preview and subject to change.</p>
31+
* <p>Enables the service in account for the current Amazon Web Services Region or specified Amazon Web Services Region. This API is in public preview and subject to change.</p>
3232
* @example
3333
* Use a bare-bones client and the command you need to make an API call.
3434
* ```javascript

clients/client-securityhub/src/commands/GetAggregatorV2Command.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export interface GetAggregatorV2CommandInput extends GetAggregatorV2Request {}
2828
export interface GetAggregatorV2CommandOutput extends GetAggregatorV2Response, __MetadataBearer {}
2929

3030
/**
31-
* <p>Returns the configuration of the specified Aggregator V2. This API is in private preview and subject to change.</p>
31+
* <p>Returns the configuration of the specified Aggregator V2. This API is in public preview and subject to change.</p>
3232
* @example
3333
* Use a bare-bones client and the command you need to make an API call.
3434
* ```javascript

0 commit comments

Comments
 (0)