aws-cdk-lib 2.202.0__py3-none-any.whl → 2.203.0__py3-none-any.whl
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.
Potentially problematic release.
This version of aws-cdk-lib might be problematic. Click here for more details.
- aws_cdk/__init__.py +46 -47
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.202.0.jsii.tgz → aws-cdk-lib@2.203.0.jsii.tgz} +0 -0
- aws_cdk/aws_accessanalyzer/__init__.py +310 -4
- aws_cdk/aws_aiops/__init__.py +964 -0
- aws_cdk/aws_amplify/__init__.py +127 -0
- aws_cdk/aws_arczonalshift/__init__.py +8 -8
- aws_cdk/aws_b2bi/__init__.py +782 -3
- aws_cdk/aws_backup/__init__.py +22 -0
- aws_cdk/aws_batch/__init__.py +53 -1
- aws_cdk/aws_bedrock/__init__.py +123 -9
- aws_cdk/aws_cleanrooms/__init__.py +157 -154
- aws_cdk/aws_cloudformation/__init__.py +28 -28
- aws_cdk/aws_cloudfront/__init__.py +61 -18
- aws_cdk/aws_cloudfront/experimental/__init__.py +37 -3
- aws_cdk/aws_cloudwatch/__init__.py +228 -2
- aws_cdk/aws_connect/__init__.py +120 -8
- aws_cdk/aws_connectcampaignsv2/__init__.py +25 -4
- aws_cdk/aws_customerprofiles/__init__.py +140 -20
- aws_cdk/aws_datazone/__init__.py +23 -4
- aws_cdk/aws_deadline/__init__.py +4 -4
- aws_cdk/aws_dsql/__init__.py +148 -0
- aws_cdk/aws_ec2/__init__.py +159 -7
- aws_cdk/aws_ecr/__init__.py +3 -3
- aws_cdk/aws_ecs/__init__.py +48 -13
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +4 -2
- aws_cdk/aws_emrserverless/__init__.py +118 -0
- aws_cdk/aws_fsx/__init__.py +891 -0
- aws_cdk/aws_iam/__init__.py +8 -8
- aws_cdk/aws_inspectorv2/__init__.py +442 -3
- aws_cdk/aws_kendra/__init__.py +10 -5
- aws_cdk/aws_kms/__init__.py +14 -8
- aws_cdk/aws_lambda/__init__.py +191 -24
- aws_cdk/aws_lambda_nodejs/__init__.py +37 -3
- aws_cdk/aws_lex/__init__.py +703 -0
- aws_cdk/aws_logs/__init__.py +144 -0
- aws_cdk/aws_mediatailor/__init__.py +399 -0
- aws_cdk/aws_mpa/__init__.py +1475 -0
- aws_cdk/aws_networkfirewall/__init__.py +4 -2
- aws_cdk/aws_networkmanager/__init__.py +51 -3
- aws_cdk/aws_opsworkscm/__init__.py +44 -2
- aws_cdk/aws_rds/__init__.py +171 -41
- aws_cdk/aws_redshiftserverless/__init__.py +632 -0
- aws_cdk/aws_route53resolver/__init__.py +58 -10
- aws_cdk/aws_s3/__init__.py +3 -1
- aws_cdk/aws_s3tables/__init__.py +230 -0
- aws_cdk/aws_sagemaker/__init__.py +6 -2
- aws_cdk/aws_securityhub/__init__.py +2887 -56
- aws_cdk/aws_synthetics/__init__.py +21 -0
- aws_cdk/aws_vpclattice/__init__.py +6 -4
- aws_cdk/aws_wafv2/__init__.py +156 -51
- aws_cdk/aws_workspacesinstances/__init__.py +3243 -0
- aws_cdk/cloud_assembly_schema/__init__.py +200 -4
- aws_cdk/cx_api/__init__.py +15 -14
- aws_cdk/pipelines/__init__.py +31 -3
- aws_cdk/triggers/__init__.py +41 -4
- {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/METADATA +3 -3
- {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/RECORD +62 -59
- {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/top_level.txt +0 -0
|
@@ -69,6 +69,262 @@ from .. import (
|
|
|
69
69
|
)
|
|
70
70
|
|
|
71
71
|
|
|
72
|
+
@jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
|
|
73
|
+
class CfnAggregatorV2(
|
|
74
|
+
_CfnResource_9df397a6,
|
|
75
|
+
metaclass=jsii.JSIIMeta,
|
|
76
|
+
jsii_type="aws-cdk-lib.aws_securityhub.CfnAggregatorV2",
|
|
77
|
+
):
|
|
78
|
+
'''Enables aggregation across AWS Regions .
|
|
79
|
+
|
|
80
|
+
This API is in private preview and subject to change.
|
|
81
|
+
|
|
82
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-aggregatorv2.html
|
|
83
|
+
:cloudformationResource: AWS::SecurityHub::AggregatorV2
|
|
84
|
+
:exampleMetadata: fixture=_generated
|
|
85
|
+
|
|
86
|
+
Example::
|
|
87
|
+
|
|
88
|
+
# The code below shows an example of how to instantiate this type.
|
|
89
|
+
# The values are placeholders you should change.
|
|
90
|
+
from aws_cdk import aws_securityhub as securityhub
|
|
91
|
+
|
|
92
|
+
cfn_aggregator_v2 = securityhub.CfnAggregatorV2(self, "MyCfnAggregatorV2",
|
|
93
|
+
linked_regions=["linkedRegions"],
|
|
94
|
+
region_linking_mode="regionLinkingMode",
|
|
95
|
+
|
|
96
|
+
# the properties below are optional
|
|
97
|
+
tags={
|
|
98
|
+
"tags_key": "tags"
|
|
99
|
+
}
|
|
100
|
+
)
|
|
101
|
+
'''
|
|
102
|
+
|
|
103
|
+
def __init__(
|
|
104
|
+
self,
|
|
105
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
106
|
+
id: builtins.str,
|
|
107
|
+
*,
|
|
108
|
+
linked_regions: typing.Sequence[builtins.str],
|
|
109
|
+
region_linking_mode: builtins.str,
|
|
110
|
+
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
111
|
+
) -> None:
|
|
112
|
+
'''
|
|
113
|
+
:param scope: Scope in which this resource is defined.
|
|
114
|
+
:param id: Construct identifier for this resource (unique in its scope).
|
|
115
|
+
:param linked_regions: The list of Regions that are linked to the aggregation Region.
|
|
116
|
+
:param region_linking_mode: Determines how Regions are linked to an Aggregator V2.
|
|
117
|
+
:param tags: A list of key-value pairs to be applied to the AggregatorV2.
|
|
118
|
+
'''
|
|
119
|
+
if __debug__:
|
|
120
|
+
type_hints = typing.get_type_hints(_typecheckingstub__a48a2a082be753c7ff9a23ae8720fc6090537bc7754b3949c569c91cc2d97185)
|
|
121
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
122
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
123
|
+
props = CfnAggregatorV2Props(
|
|
124
|
+
linked_regions=linked_regions,
|
|
125
|
+
region_linking_mode=region_linking_mode,
|
|
126
|
+
tags=tags,
|
|
127
|
+
)
|
|
128
|
+
|
|
129
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
130
|
+
|
|
131
|
+
@jsii.member(jsii_name="inspect")
|
|
132
|
+
def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
|
|
133
|
+
'''Examines the CloudFormation resource and discloses attributes.
|
|
134
|
+
|
|
135
|
+
:param inspector: tree inspector to collect and process attributes.
|
|
136
|
+
'''
|
|
137
|
+
if __debug__:
|
|
138
|
+
type_hints = typing.get_type_hints(_typecheckingstub__faa540694e43a0e61feeb3f53848b1f6e9494b6ed7da21b25aac134881132c39)
|
|
139
|
+
check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
|
|
140
|
+
return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
|
|
141
|
+
|
|
142
|
+
@jsii.member(jsii_name="renderProperties")
|
|
143
|
+
def _render_properties(
|
|
144
|
+
self,
|
|
145
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
146
|
+
) -> typing.Mapping[builtins.str, typing.Any]:
|
|
147
|
+
'''
|
|
148
|
+
:param props: -
|
|
149
|
+
'''
|
|
150
|
+
if __debug__:
|
|
151
|
+
type_hints = typing.get_type_hints(_typecheckingstub__e6872b5e370c8e8f4d83602fa651c03fde81b36e7c5bc3b28fa097f66a87ee66)
|
|
152
|
+
check_type(argname="argument props", value=props, expected_type=type_hints["props"])
|
|
153
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
|
|
154
|
+
|
|
155
|
+
@jsii.python.classproperty
|
|
156
|
+
@jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
|
|
157
|
+
def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
|
|
158
|
+
'''The CloudFormation resource type name for this resource class.'''
|
|
159
|
+
return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
|
|
160
|
+
|
|
161
|
+
@builtins.property
|
|
162
|
+
@jsii.member(jsii_name="attrAggregationRegion")
|
|
163
|
+
def attr_aggregation_region(self) -> builtins.str:
|
|
164
|
+
'''The AWS Region where data is aggregated.
|
|
165
|
+
|
|
166
|
+
:cloudformationAttribute: AggregationRegion
|
|
167
|
+
'''
|
|
168
|
+
return typing.cast(builtins.str, jsii.get(self, "attrAggregationRegion"))
|
|
169
|
+
|
|
170
|
+
@builtins.property
|
|
171
|
+
@jsii.member(jsii_name="attrAggregatorV2Arn")
|
|
172
|
+
def attr_aggregator_v2_arn(self) -> builtins.str:
|
|
173
|
+
'''The ARN of the AggregatorV2.
|
|
174
|
+
|
|
175
|
+
:cloudformationAttribute: AggregatorV2Arn
|
|
176
|
+
'''
|
|
177
|
+
return typing.cast(builtins.str, jsii.get(self, "attrAggregatorV2Arn"))
|
|
178
|
+
|
|
179
|
+
@builtins.property
|
|
180
|
+
@jsii.member(jsii_name="cdkTagManager")
|
|
181
|
+
def cdk_tag_manager(self) -> _TagManager_0a598cb3:
|
|
182
|
+
'''Tag Manager which manages the tags for this resource.'''
|
|
183
|
+
return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
|
|
184
|
+
|
|
185
|
+
@builtins.property
|
|
186
|
+
@jsii.member(jsii_name="cfnProperties")
|
|
187
|
+
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
188
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
189
|
+
|
|
190
|
+
@builtins.property
|
|
191
|
+
@jsii.member(jsii_name="linkedRegions")
|
|
192
|
+
def linked_regions(self) -> typing.List[builtins.str]:
|
|
193
|
+
'''The list of Regions that are linked to the aggregation Region.'''
|
|
194
|
+
return typing.cast(typing.List[builtins.str], jsii.get(self, "linkedRegions"))
|
|
195
|
+
|
|
196
|
+
@linked_regions.setter
|
|
197
|
+
def linked_regions(self, value: typing.List[builtins.str]) -> None:
|
|
198
|
+
if __debug__:
|
|
199
|
+
type_hints = typing.get_type_hints(_typecheckingstub__73719aabf2def1251bbcce62564af2561a7db568f2cc383d665c93c84e03855c)
|
|
200
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
201
|
+
jsii.set(self, "linkedRegions", value) # pyright: ignore[reportArgumentType]
|
|
202
|
+
|
|
203
|
+
@builtins.property
|
|
204
|
+
@jsii.member(jsii_name="regionLinkingMode")
|
|
205
|
+
def region_linking_mode(self) -> builtins.str:
|
|
206
|
+
'''Determines how Regions are linked to an Aggregator V2.'''
|
|
207
|
+
return typing.cast(builtins.str, jsii.get(self, "regionLinkingMode"))
|
|
208
|
+
|
|
209
|
+
@region_linking_mode.setter
|
|
210
|
+
def region_linking_mode(self, value: builtins.str) -> None:
|
|
211
|
+
if __debug__:
|
|
212
|
+
type_hints = typing.get_type_hints(_typecheckingstub__3f12f6fa7491c9cf6429ed03592fa2e0b84dd1df61b65fe9caf3ffa327ed324f)
|
|
213
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
214
|
+
jsii.set(self, "regionLinkingMode", value) # pyright: ignore[reportArgumentType]
|
|
215
|
+
|
|
216
|
+
@builtins.property
|
|
217
|
+
@jsii.member(jsii_name="tags")
|
|
218
|
+
def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
|
|
219
|
+
'''A list of key-value pairs to be applied to the AggregatorV2.'''
|
|
220
|
+
return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], jsii.get(self, "tags"))
|
|
221
|
+
|
|
222
|
+
@tags.setter
|
|
223
|
+
def tags(
|
|
224
|
+
self,
|
|
225
|
+
value: typing.Optional[typing.Mapping[builtins.str, builtins.str]],
|
|
226
|
+
) -> None:
|
|
227
|
+
if __debug__:
|
|
228
|
+
type_hints = typing.get_type_hints(_typecheckingstub__e47a206d80ca672182e6fba3a9c614bda1d391a22aa37078d5b442ce9858a656)
|
|
229
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
230
|
+
jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
@jsii.data_type(
|
|
234
|
+
jsii_type="aws-cdk-lib.aws_securityhub.CfnAggregatorV2Props",
|
|
235
|
+
jsii_struct_bases=[],
|
|
236
|
+
name_mapping={
|
|
237
|
+
"linked_regions": "linkedRegions",
|
|
238
|
+
"region_linking_mode": "regionLinkingMode",
|
|
239
|
+
"tags": "tags",
|
|
240
|
+
},
|
|
241
|
+
)
|
|
242
|
+
class CfnAggregatorV2Props:
|
|
243
|
+
def __init__(
|
|
244
|
+
self,
|
|
245
|
+
*,
|
|
246
|
+
linked_regions: typing.Sequence[builtins.str],
|
|
247
|
+
region_linking_mode: builtins.str,
|
|
248
|
+
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
249
|
+
) -> None:
|
|
250
|
+
'''Properties for defining a ``CfnAggregatorV2``.
|
|
251
|
+
|
|
252
|
+
:param linked_regions: The list of Regions that are linked to the aggregation Region.
|
|
253
|
+
:param region_linking_mode: Determines how Regions are linked to an Aggregator V2.
|
|
254
|
+
:param tags: A list of key-value pairs to be applied to the AggregatorV2.
|
|
255
|
+
|
|
256
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-aggregatorv2.html
|
|
257
|
+
:exampleMetadata: fixture=_generated
|
|
258
|
+
|
|
259
|
+
Example::
|
|
260
|
+
|
|
261
|
+
# The code below shows an example of how to instantiate this type.
|
|
262
|
+
# The values are placeholders you should change.
|
|
263
|
+
from aws_cdk import aws_securityhub as securityhub
|
|
264
|
+
|
|
265
|
+
cfn_aggregator_v2_props = securityhub.CfnAggregatorV2Props(
|
|
266
|
+
linked_regions=["linkedRegions"],
|
|
267
|
+
region_linking_mode="regionLinkingMode",
|
|
268
|
+
|
|
269
|
+
# the properties below are optional
|
|
270
|
+
tags={
|
|
271
|
+
"tags_key": "tags"
|
|
272
|
+
}
|
|
273
|
+
)
|
|
274
|
+
'''
|
|
275
|
+
if __debug__:
|
|
276
|
+
type_hints = typing.get_type_hints(_typecheckingstub__ba603e1d6925ab7babf45e555f2f6c66e3573a9e5841cd7b5ebf0d444664667e)
|
|
277
|
+
check_type(argname="argument linked_regions", value=linked_regions, expected_type=type_hints["linked_regions"])
|
|
278
|
+
check_type(argname="argument region_linking_mode", value=region_linking_mode, expected_type=type_hints["region_linking_mode"])
|
|
279
|
+
check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
|
|
280
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
281
|
+
"linked_regions": linked_regions,
|
|
282
|
+
"region_linking_mode": region_linking_mode,
|
|
283
|
+
}
|
|
284
|
+
if tags is not None:
|
|
285
|
+
self._values["tags"] = tags
|
|
286
|
+
|
|
287
|
+
@builtins.property
|
|
288
|
+
def linked_regions(self) -> typing.List[builtins.str]:
|
|
289
|
+
'''The list of Regions that are linked to the aggregation Region.
|
|
290
|
+
|
|
291
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-aggregatorv2.html#cfn-securityhub-aggregatorv2-linkedregions
|
|
292
|
+
'''
|
|
293
|
+
result = self._values.get("linked_regions")
|
|
294
|
+
assert result is not None, "Required property 'linked_regions' is missing"
|
|
295
|
+
return typing.cast(typing.List[builtins.str], result)
|
|
296
|
+
|
|
297
|
+
@builtins.property
|
|
298
|
+
def region_linking_mode(self) -> builtins.str:
|
|
299
|
+
'''Determines how Regions are linked to an Aggregator V2.
|
|
300
|
+
|
|
301
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-aggregatorv2.html#cfn-securityhub-aggregatorv2-regionlinkingmode
|
|
302
|
+
'''
|
|
303
|
+
result = self._values.get("region_linking_mode")
|
|
304
|
+
assert result is not None, "Required property 'region_linking_mode' is missing"
|
|
305
|
+
return typing.cast(builtins.str, result)
|
|
306
|
+
|
|
307
|
+
@builtins.property
|
|
308
|
+
def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
|
|
309
|
+
'''A list of key-value pairs to be applied to the AggregatorV2.
|
|
310
|
+
|
|
311
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-aggregatorv2.html#cfn-securityhub-aggregatorv2-tags
|
|
312
|
+
'''
|
|
313
|
+
result = self._values.get("tags")
|
|
314
|
+
return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
|
|
315
|
+
|
|
316
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
317
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
318
|
+
|
|
319
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
320
|
+
return not (rhs == self)
|
|
321
|
+
|
|
322
|
+
def __repr__(self) -> str:
|
|
323
|
+
return "CfnAggregatorV2Props(%s)" % ", ".join(
|
|
324
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
325
|
+
)
|
|
326
|
+
|
|
327
|
+
|
|
72
328
|
@jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
|
|
73
329
|
class CfnAutomationRule(
|
|
74
330
|
_CfnResource_9df397a6,
|
|
@@ -2352,7 +2608,7 @@ class CfnAutomationRule(
|
|
|
2352
2608
|
def __init__(self, *, comparison: builtins.str, value: builtins.str) -> None:
|
|
2353
2609
|
'''A string filter for filtering AWS Security Hub findings.
|
|
2354
2610
|
|
|
2355
|
-
:param comparison: The condition to apply to a string value when filtering Security Hub findings. To search for values that have the filter value, use one of the following comparison operators: - To search for values that include the filter value, use ``CONTAINS`` . For example, the filter ``Title CONTAINS CloudFront`` matches findings that have a ``Title`` that includes the string CloudFront. - To search for values that exactly match the filter value, use ``EQUALS`` . For example, the filter ``AwsAccountId EQUALS 123456789012`` only matches findings that have an account ID of ``123456789012`` . - To search for values that start with the filter value, use ``PREFIX`` . For example, the filter ``ResourceRegion PREFIX us`` matches findings that have a ``ResourceRegion`` that starts with ``us`` . A ``ResourceRegion`` that starts with a different value, such as ``af`` , ``ap`` , or ``ca`` , doesn't match. ``CONTAINS`` , ``EQUALS`` , and ``PREFIX`` filters on the same field are joined by ``OR`` . A finding matches if it matches any one of those filters. For example, the filters ``Title CONTAINS CloudFront OR Title CONTAINS CloudWatch`` match a finding that includes either ``CloudFront`` , ``CloudWatch`` , or both strings in the title. To search for values that don’t have the filter value, use one of the following comparison operators: - To search for values that exclude the filter value, use ``NOT_CONTAINS`` . For example, the filter ``Title NOT_CONTAINS CloudFront`` matches findings that have a ``Title`` that excludes the string CloudFront. - To search for values other than the filter value, use ``NOT_EQUALS`` . For example, the filter ``AwsAccountId NOT_EQUALS 123456789012`` only matches findings that have an account ID other than ``123456789012`` . - To search for values that don't start with the filter value, use ``PREFIX_NOT_EQUALS`` . For example, the filter ``ResourceRegion PREFIX_NOT_EQUALS us`` matches findings with a ``ResourceRegion`` that starts with a value other than ``us`` . ``NOT_CONTAINS`` , ``NOT_EQUALS`` , and ``PREFIX_NOT_EQUALS`` filters on the same field are joined by ``AND`` . A finding matches only if it matches all of those filters. For example, the filters ``Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch`` match a finding that excludes both ``CloudFront`` and ``CloudWatch`` in the title. You can’t have both a ``CONTAINS`` filter and a ``NOT_CONTAINS`` filter on the same field. Similarly, you can't provide both an ``EQUALS`` filter and a ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filter on the same field. Combining filters in this way returns an error. ``CONTAINS`` filters can only be used with other ``CONTAINS`` filters. ``NOT_CONTAINS`` filters can only be used with other ``NOT_CONTAINS`` filters. You can combine ``PREFIX`` filters with ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filters for the same field. Security Hub first processes the ``PREFIX`` filters, and then the ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filters. For example, for the following filters, Security Hub first identifies findings that have resource types that start with either ``AwsIam`` or ``AwsEc2`` . It then excludes findings that have a resource type of ``AwsIamPolicy`` and findings that have a resource type of ``AwsEc2NetworkInterface`` . - ``ResourceType PREFIX AwsIam`` - ``ResourceType PREFIX AwsEc2`` - ``ResourceType NOT_EQUALS AwsIamPolicy`` - ``ResourceType NOT_EQUALS AwsEc2NetworkInterface`` ``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *AWS Security Hub User Guide* .
|
|
2611
|
+
:param comparison: The condition to apply to a string value when filtering Security Hub findings. To search for values that have the filter value, use one of the following comparison operators: - To search for values that include the filter value, use ``CONTAINS`` . For example, the filter ``Title CONTAINS CloudFront`` matches findings that have a ``Title`` that includes the string CloudFront. - To search for values that exactly match the filter value, use ``EQUALS`` . For example, the filter ``AwsAccountId EQUALS 123456789012`` only matches findings that have an account ID of ``123456789012`` . - To search for values that start with the filter value, use ``PREFIX`` . For example, the filter ``ResourceRegion PREFIX us`` matches findings that have a ``ResourceRegion`` that starts with ``us`` . A ``ResourceRegion`` that starts with a different value, such as ``af`` , ``ap`` , or ``ca`` , doesn't match. ``CONTAINS`` , ``EQUALS`` , and ``PREFIX`` filters on the same field are joined by ``OR`` . A finding matches if it matches any one of those filters. For example, the filters ``Title CONTAINS CloudFront OR Title CONTAINS CloudWatch`` match a finding that includes either ``CloudFront`` , ``CloudWatch`` , or both strings in the title. To search for values that don’t have the filter value, use one of the following comparison operators: - To search for values that exclude the filter value, use ``NOT_CONTAINS`` . For example, the filter ``Title NOT_CONTAINS CloudFront`` matches findings that have a ``Title`` that excludes the string CloudFront. - To search for values other than the filter value, use ``NOT_EQUALS`` . For example, the filter ``AwsAccountId NOT_EQUALS 123456789012`` only matches findings that have an account ID other than ``123456789012`` . - To search for values that don't start with the filter value, use ``PREFIX_NOT_EQUALS`` . For example, the filter ``ResourceRegion PREFIX_NOT_EQUALS us`` matches findings with a ``ResourceRegion`` that starts with a value other than ``us`` . ``NOT_CONTAINS`` , ``NOT_EQUALS`` , and ``PREFIX_NOT_EQUALS`` filters on the same field are joined by ``AND`` . A finding matches only if it matches all of those filters. For example, the filters ``Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch`` match a finding that excludes both ``CloudFront`` and ``CloudWatch`` in the title. You can’t have both a ``CONTAINS`` filter and a ``NOT_CONTAINS`` filter on the same field. Similarly, you can't provide both an ``EQUALS`` filter and a ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filter on the same field. Combining filters in this way returns an error. ``CONTAINS`` filters can only be used with other ``CONTAINS`` filters. ``NOT_CONTAINS`` filters can only be used with other ``NOT_CONTAINS`` filters. You can combine ``PREFIX`` filters with ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filters for the same field. Security Hub first processes the ``PREFIX`` filters, and then the ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filters. For example, for the following filters, Security Hub first identifies findings that have resource types that start with either ``AwsIam`` or ``AwsEc2`` . It then excludes findings that have a resource type of ``AwsIamPolicy`` and findings that have a resource type of ``AwsEc2NetworkInterface`` . - ``ResourceType PREFIX AwsIam`` - ``ResourceType PREFIX AwsEc2`` - ``ResourceType NOT_EQUALS AwsIamPolicy`` - ``ResourceType NOT_EQUALS AwsEc2NetworkInterface`` ``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules V1. ``CONTAINS_WORD`` operator is only supported in ``GetFindingsV2`` , ``GetFindingStatisticsV2`` , ``GetResourcesV2`` , and ``GetResourceStatisticsV2`` APIs. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *AWS Security Hub User Guide* .
|
|
2356
2612
|
:param value: The string filter value. Filter values are case sensitive. For example, the product name for control-based findings is ``Security Hub`` . If you provide ``security hub`` as the filter value, there's no match.
|
|
2357
2613
|
|
|
2358
2614
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-stringfilter.html
|
|
@@ -2409,7 +2665,7 @@ class CfnAutomationRule(
|
|
|
2409
2665
|
- ``ResourceType NOT_EQUALS AwsIamPolicy``
|
|
2410
2666
|
- ``ResourceType NOT_EQUALS AwsEc2NetworkInterface``
|
|
2411
2667
|
|
|
2412
|
-
``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *AWS Security Hub User Guide* .
|
|
2668
|
+
``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules V1. ``CONTAINS_WORD`` operator is only supported in ``GetFindingsV2`` , ``GetFindingStatisticsV2`` , ``GetResourcesV2`` , and ``GetResourceStatisticsV2`` APIs. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *AWS Security Hub User Guide* .
|
|
2413
2669
|
|
|
2414
2670
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-stringfilter.html#cfn-securityhub-automationrule-stringfilter-comparison
|
|
2415
2671
|
'''
|
|
@@ -2888,17 +3144,17 @@ class CfnAutomationRuleProps:
|
|
|
2888
3144
|
|
|
2889
3145
|
|
|
2890
3146
|
@jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
|
|
2891
|
-
class
|
|
3147
|
+
class CfnAutomationRuleV2(
|
|
2892
3148
|
_CfnResource_9df397a6,
|
|
2893
3149
|
metaclass=jsii.JSIIMeta,
|
|
2894
|
-
jsii_type="aws-cdk-lib.aws_securityhub.
|
|
3150
|
+
jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2",
|
|
2895
3151
|
):
|
|
2896
|
-
'''
|
|
3152
|
+
'''Creates a V2 automation rule.
|
|
2897
3153
|
|
|
2898
|
-
|
|
3154
|
+
This API is in private preview and subject to change.
|
|
2899
3155
|
|
|
2900
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-
|
|
2901
|
-
:cloudformationResource: AWS::SecurityHub::
|
|
3156
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrulev2.html
|
|
3157
|
+
:cloudformationResource: AWS::SecurityHub::AutomationRuleV2
|
|
2902
3158
|
:exampleMetadata: fixture=_generated
|
|
2903
3159
|
|
|
2904
3160
|
Example::
|
|
@@ -2907,41 +3163,74 @@ class CfnConfigurationPolicy(
|
|
|
2907
3163
|
# The values are placeholders you should change.
|
|
2908
3164
|
from aws_cdk import aws_securityhub as securityhub
|
|
2909
3165
|
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
enabled_standard_identifiers=["enabledStandardIdentifiers"],
|
|
2914
|
-
security_controls_configuration=securityhub.CfnConfigurationPolicy.SecurityControlsConfigurationProperty(
|
|
2915
|
-
disabled_security_control_identifiers=["disabledSecurityControlIdentifiers"],
|
|
2916
|
-
enabled_security_control_identifiers=["enabledSecurityControlIdentifiers"],
|
|
2917
|
-
security_control_custom_parameters=[securityhub.CfnConfigurationPolicy.SecurityControlCustomParameterProperty(
|
|
2918
|
-
parameters={
|
|
2919
|
-
"parameters_key": securityhub.CfnConfigurationPolicy.ParameterConfigurationProperty(
|
|
2920
|
-
value_type="valueType",
|
|
3166
|
+
cfn_automation_rule_v2 = securityhub.CfnAutomationRuleV2(self, "MyCfnAutomationRuleV2",
|
|
3167
|
+
actions=[securityhub.CfnAutomationRuleV2.AutomationRulesActionV2Property(
|
|
3168
|
+
type="type",
|
|
2921
3169
|
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
|
|
2925
|
-
|
|
2926
|
-
|
|
2927
|
-
|
|
2928
|
-
|
|
2929
|
-
|
|
2930
|
-
|
|
2931
|
-
|
|
2932
|
-
|
|
2933
|
-
|
|
2934
|
-
|
|
2935
|
-
|
|
3170
|
+
# the properties below are optional
|
|
3171
|
+
external_integration_configuration=securityhub.CfnAutomationRuleV2.ExternalIntegrationConfigurationProperty(
|
|
3172
|
+
connector_arn="connectorArn"
|
|
3173
|
+
),
|
|
3174
|
+
finding_fields_update=securityhub.CfnAutomationRuleV2.AutomationRulesFindingFieldsUpdateV2Property(
|
|
3175
|
+
comment="comment",
|
|
3176
|
+
severity_id=123,
|
|
3177
|
+
status_id=123
|
|
3178
|
+
)
|
|
3179
|
+
)],
|
|
3180
|
+
criteria=securityhub.CfnAutomationRuleV2.CriteriaProperty(
|
|
3181
|
+
ocsf_finding_criteria=securityhub.CfnAutomationRuleV2.OcsfFindingFiltersProperty(
|
|
3182
|
+
composite_filters=[securityhub.CfnAutomationRuleV2.CompositeFilterProperty(
|
|
3183
|
+
boolean_filters=[securityhub.CfnAutomationRuleV2.OcsfBooleanFilterProperty(
|
|
3184
|
+
field_name="fieldName",
|
|
3185
|
+
filter=securityhub.CfnAutomationRuleV2.BooleanFilterProperty(
|
|
3186
|
+
value=False
|
|
3187
|
+
)
|
|
3188
|
+
)],
|
|
3189
|
+
date_filters=[securityhub.CfnAutomationRuleV2.OcsfDateFilterProperty(
|
|
3190
|
+
field_name="fieldName",
|
|
3191
|
+
filter=securityhub.CfnAutomationRuleV2.DateFilterProperty(
|
|
3192
|
+
date_range=securityhub.CfnAutomationRuleV2.DateRangeProperty(
|
|
3193
|
+
unit="unit",
|
|
3194
|
+
value=123
|
|
3195
|
+
),
|
|
3196
|
+
end="end",
|
|
3197
|
+
start="start"
|
|
3198
|
+
)
|
|
3199
|
+
)],
|
|
3200
|
+
map_filters=[securityhub.CfnAutomationRuleV2.OcsfMapFilterProperty(
|
|
3201
|
+
field_name="fieldName",
|
|
3202
|
+
filter=securityhub.CfnAutomationRuleV2.MapFilterProperty(
|
|
3203
|
+
comparison="comparison",
|
|
3204
|
+
key="key",
|
|
3205
|
+
value="value"
|
|
3206
|
+
)
|
|
3207
|
+
)],
|
|
3208
|
+
number_filters=[securityhub.CfnAutomationRuleV2.OcsfNumberFilterProperty(
|
|
3209
|
+
field_name="fieldName",
|
|
3210
|
+
filter=securityhub.CfnAutomationRuleV2.NumberFilterProperty(
|
|
3211
|
+
eq=123,
|
|
3212
|
+
gte=123,
|
|
3213
|
+
lte=123
|
|
3214
|
+
)
|
|
3215
|
+
)],
|
|
3216
|
+
operator="operator",
|
|
3217
|
+
string_filters=[securityhub.CfnAutomationRuleV2.OcsfStringFilterProperty(
|
|
3218
|
+
field_name="fieldName",
|
|
3219
|
+
filter=securityhub.CfnAutomationRuleV2.StringFilterProperty(
|
|
3220
|
+
comparison="comparison",
|
|
3221
|
+
value="value"
|
|
3222
|
+
)
|
|
2936
3223
|
)]
|
|
2937
|
-
),
|
|
2938
|
-
|
|
3224
|
+
)],
|
|
3225
|
+
composite_operator="compositeOperator"
|
|
2939
3226
|
)
|
|
2940
3227
|
),
|
|
2941
|
-
|
|
3228
|
+
description="description",
|
|
3229
|
+
rule_name="ruleName",
|
|
3230
|
+
rule_order=123,
|
|
2942
3231
|
|
|
2943
3232
|
# the properties below are optional
|
|
2944
|
-
|
|
3233
|
+
rule_status="ruleStatus",
|
|
2945
3234
|
tags={
|
|
2946
3235
|
"tags_key": "tags"
|
|
2947
3236
|
}
|
|
@@ -2953,21 +3242,2068 @@ class CfnConfigurationPolicy(
|
|
|
2953
3242
|
scope: _constructs_77d1e7e8.Construct,
|
|
2954
3243
|
id: builtins.str,
|
|
2955
3244
|
*,
|
|
2956
|
-
|
|
2957
|
-
|
|
2958
|
-
description:
|
|
3245
|
+
actions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.AutomationRulesActionV2Property", typing.Dict[builtins.str, typing.Any]]]]],
|
|
3246
|
+
criteria: typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.CriteriaProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
3247
|
+
description: builtins.str,
|
|
3248
|
+
rule_name: builtins.str,
|
|
3249
|
+
rule_order: jsii.Number,
|
|
3250
|
+
rule_status: typing.Optional[builtins.str] = None,
|
|
2959
3251
|
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
2960
3252
|
) -> None:
|
|
2961
3253
|
'''
|
|
2962
3254
|
:param scope: Scope in which this resource is defined.
|
|
2963
3255
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
2964
|
-
:param
|
|
2965
|
-
:param
|
|
2966
|
-
:param description:
|
|
2967
|
-
:param
|
|
3256
|
+
:param actions: A list of actions to be performed when the rule criteria is met.
|
|
3257
|
+
:param criteria: The filtering type and configuration of the automation rule.
|
|
3258
|
+
:param description: A description of the V2 automation rule.
|
|
3259
|
+
:param rule_name: The name of the V2 automation rule.
|
|
3260
|
+
:param rule_order: The value for the rule priority.
|
|
3261
|
+
:param rule_status: The status of the V2 automation rule.
|
|
3262
|
+
:param tags: A list of key-value pairs associated with the V2 automation rule.
|
|
2968
3263
|
'''
|
|
2969
3264
|
if __debug__:
|
|
2970
|
-
type_hints = typing.get_type_hints(
|
|
3265
|
+
type_hints = typing.get_type_hints(_typecheckingstub__d67bab57d18f8318b1f3e5e5aee0425c6d6ad2a73c3def328f22c6e22aa173d4)
|
|
3266
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
3267
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
3268
|
+
props = CfnAutomationRuleV2Props(
|
|
3269
|
+
actions=actions,
|
|
3270
|
+
criteria=criteria,
|
|
3271
|
+
description=description,
|
|
3272
|
+
rule_name=rule_name,
|
|
3273
|
+
rule_order=rule_order,
|
|
3274
|
+
rule_status=rule_status,
|
|
3275
|
+
tags=tags,
|
|
3276
|
+
)
|
|
3277
|
+
|
|
3278
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
3279
|
+
|
|
3280
|
+
@jsii.member(jsii_name="inspect")
|
|
3281
|
+
def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
|
|
3282
|
+
'''Examines the CloudFormation resource and discloses attributes.
|
|
3283
|
+
|
|
3284
|
+
:param inspector: tree inspector to collect and process attributes.
|
|
3285
|
+
'''
|
|
3286
|
+
if __debug__:
|
|
3287
|
+
type_hints = typing.get_type_hints(_typecheckingstub__148b5ad52f495a944fc188c33e9ce4790af9aae05ed5382a214fb325dffaf8bb)
|
|
3288
|
+
check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
|
|
3289
|
+
return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
|
|
3290
|
+
|
|
3291
|
+
@jsii.member(jsii_name="renderProperties")
|
|
3292
|
+
def _render_properties(
|
|
3293
|
+
self,
|
|
3294
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
3295
|
+
) -> typing.Mapping[builtins.str, typing.Any]:
|
|
3296
|
+
'''
|
|
3297
|
+
:param props: -
|
|
3298
|
+
'''
|
|
3299
|
+
if __debug__:
|
|
3300
|
+
type_hints = typing.get_type_hints(_typecheckingstub__2f9d1f99336eb3a75c15b25a178234de86a8bfdf4875bf0ce1cd38b114f64593)
|
|
3301
|
+
check_type(argname="argument props", value=props, expected_type=type_hints["props"])
|
|
3302
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
|
|
3303
|
+
|
|
3304
|
+
@jsii.python.classproperty
|
|
3305
|
+
@jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
|
|
3306
|
+
def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
|
|
3307
|
+
'''The CloudFormation resource type name for this resource class.'''
|
|
3308
|
+
return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
|
|
3309
|
+
|
|
3310
|
+
@builtins.property
|
|
3311
|
+
@jsii.member(jsii_name="attrCreatedAt")
|
|
3312
|
+
def attr_created_at(self) -> builtins.str:
|
|
3313
|
+
'''The timestamp when the V2 automation rule was created.
|
|
3314
|
+
|
|
3315
|
+
:cloudformationAttribute: CreatedAt
|
|
3316
|
+
'''
|
|
3317
|
+
return typing.cast(builtins.str, jsii.get(self, "attrCreatedAt"))
|
|
3318
|
+
|
|
3319
|
+
@builtins.property
|
|
3320
|
+
@jsii.member(jsii_name="attrRuleArn")
|
|
3321
|
+
def attr_rule_arn(self) -> builtins.str:
|
|
3322
|
+
'''The ARN of the V2 automation rule.
|
|
3323
|
+
|
|
3324
|
+
:cloudformationAttribute: RuleArn
|
|
3325
|
+
'''
|
|
3326
|
+
return typing.cast(builtins.str, jsii.get(self, "attrRuleArn"))
|
|
3327
|
+
|
|
3328
|
+
@builtins.property
|
|
3329
|
+
@jsii.member(jsii_name="attrRuleId")
|
|
3330
|
+
def attr_rule_id(self) -> builtins.str:
|
|
3331
|
+
'''The ID of the V2 automation rule.
|
|
3332
|
+
|
|
3333
|
+
:cloudformationAttribute: RuleId
|
|
3334
|
+
'''
|
|
3335
|
+
return typing.cast(builtins.str, jsii.get(self, "attrRuleId"))
|
|
3336
|
+
|
|
3337
|
+
@builtins.property
|
|
3338
|
+
@jsii.member(jsii_name="attrUpdatedAt")
|
|
3339
|
+
def attr_updated_at(self) -> builtins.str:
|
|
3340
|
+
'''The timestamp when the V2 automation rule was updated.
|
|
3341
|
+
|
|
3342
|
+
:cloudformationAttribute: UpdatedAt
|
|
3343
|
+
'''
|
|
3344
|
+
return typing.cast(builtins.str, jsii.get(self, "attrUpdatedAt"))
|
|
3345
|
+
|
|
3346
|
+
@builtins.property
|
|
3347
|
+
@jsii.member(jsii_name="cdkTagManager")
|
|
3348
|
+
def cdk_tag_manager(self) -> _TagManager_0a598cb3:
|
|
3349
|
+
'''Tag Manager which manages the tags for this resource.'''
|
|
3350
|
+
return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
|
|
3351
|
+
|
|
3352
|
+
@builtins.property
|
|
3353
|
+
@jsii.member(jsii_name="cfnProperties")
|
|
3354
|
+
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
3355
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
3356
|
+
|
|
3357
|
+
@builtins.property
|
|
3358
|
+
@jsii.member(jsii_name="actions")
|
|
3359
|
+
def actions(
|
|
3360
|
+
self,
|
|
3361
|
+
) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.AutomationRulesActionV2Property"]]]:
|
|
3362
|
+
'''A list of actions to be performed when the rule criteria is met.'''
|
|
3363
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.AutomationRulesActionV2Property"]]], jsii.get(self, "actions"))
|
|
3364
|
+
|
|
3365
|
+
@actions.setter
|
|
3366
|
+
def actions(
|
|
3367
|
+
self,
|
|
3368
|
+
value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.AutomationRulesActionV2Property"]]],
|
|
3369
|
+
) -> None:
|
|
3370
|
+
if __debug__:
|
|
3371
|
+
type_hints = typing.get_type_hints(_typecheckingstub__6347d27f0ba2cf053f67fe33ad975271c9a681e994a3d68259bee4b4cecff923)
|
|
3372
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3373
|
+
jsii.set(self, "actions", value) # pyright: ignore[reportArgumentType]
|
|
3374
|
+
|
|
3375
|
+
@builtins.property
|
|
3376
|
+
@jsii.member(jsii_name="criteria")
|
|
3377
|
+
def criteria(
|
|
3378
|
+
self,
|
|
3379
|
+
) -> typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.CriteriaProperty"]:
|
|
3380
|
+
'''The filtering type and configuration of the automation rule.'''
|
|
3381
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.CriteriaProperty"], jsii.get(self, "criteria"))
|
|
3382
|
+
|
|
3383
|
+
@criteria.setter
|
|
3384
|
+
def criteria(
|
|
3385
|
+
self,
|
|
3386
|
+
value: typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.CriteriaProperty"],
|
|
3387
|
+
) -> None:
|
|
3388
|
+
if __debug__:
|
|
3389
|
+
type_hints = typing.get_type_hints(_typecheckingstub__a5adb921eebdd2ef5c8fd115e4be769f443780102c814dd43fe745285e68ab8e)
|
|
3390
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3391
|
+
jsii.set(self, "criteria", value) # pyright: ignore[reportArgumentType]
|
|
3392
|
+
|
|
3393
|
+
@builtins.property
|
|
3394
|
+
@jsii.member(jsii_name="description")
|
|
3395
|
+
def description(self) -> builtins.str:
|
|
3396
|
+
'''A description of the V2 automation rule.'''
|
|
3397
|
+
return typing.cast(builtins.str, jsii.get(self, "description"))
|
|
3398
|
+
|
|
3399
|
+
@description.setter
|
|
3400
|
+
def description(self, value: builtins.str) -> None:
|
|
3401
|
+
if __debug__:
|
|
3402
|
+
type_hints = typing.get_type_hints(_typecheckingstub__125c937bc05766b550dc71a5d1d56e19a69b4ef80f88b4ef38e2e5e003477882)
|
|
3403
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3404
|
+
jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
|
|
3405
|
+
|
|
3406
|
+
@builtins.property
|
|
3407
|
+
@jsii.member(jsii_name="ruleName")
|
|
3408
|
+
def rule_name(self) -> builtins.str:
|
|
3409
|
+
'''The name of the V2 automation rule.'''
|
|
3410
|
+
return typing.cast(builtins.str, jsii.get(self, "ruleName"))
|
|
3411
|
+
|
|
3412
|
+
@rule_name.setter
|
|
3413
|
+
def rule_name(self, value: builtins.str) -> None:
|
|
3414
|
+
if __debug__:
|
|
3415
|
+
type_hints = typing.get_type_hints(_typecheckingstub__d67119779ecc92e0cdf9224e19bbf9519a8b3464aefe9656b42f750f87734d6a)
|
|
3416
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3417
|
+
jsii.set(self, "ruleName", value) # pyright: ignore[reportArgumentType]
|
|
3418
|
+
|
|
3419
|
+
@builtins.property
|
|
3420
|
+
@jsii.member(jsii_name="ruleOrder")
|
|
3421
|
+
def rule_order(self) -> jsii.Number:
|
|
3422
|
+
'''The value for the rule priority.'''
|
|
3423
|
+
return typing.cast(jsii.Number, jsii.get(self, "ruleOrder"))
|
|
3424
|
+
|
|
3425
|
+
@rule_order.setter
|
|
3426
|
+
def rule_order(self, value: jsii.Number) -> None:
|
|
3427
|
+
if __debug__:
|
|
3428
|
+
type_hints = typing.get_type_hints(_typecheckingstub__0756c118bad7b3ecf44f8e5b333e1b12ae1f8fcc93cfb9994a9b01b1e420c800)
|
|
3429
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3430
|
+
jsii.set(self, "ruleOrder", value) # pyright: ignore[reportArgumentType]
|
|
3431
|
+
|
|
3432
|
+
@builtins.property
|
|
3433
|
+
@jsii.member(jsii_name="ruleStatus")
|
|
3434
|
+
def rule_status(self) -> typing.Optional[builtins.str]:
|
|
3435
|
+
'''The status of the V2 automation rule.'''
|
|
3436
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ruleStatus"))
|
|
3437
|
+
|
|
3438
|
+
@rule_status.setter
|
|
3439
|
+
def rule_status(self, value: typing.Optional[builtins.str]) -> None:
|
|
3440
|
+
if __debug__:
|
|
3441
|
+
type_hints = typing.get_type_hints(_typecheckingstub__9d3ccd09d54183efd7f79c4f4fa028ef4ff9dcf82d873ad68a9b84292b42fca1)
|
|
3442
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3443
|
+
jsii.set(self, "ruleStatus", value) # pyright: ignore[reportArgumentType]
|
|
3444
|
+
|
|
3445
|
+
@builtins.property
|
|
3446
|
+
@jsii.member(jsii_name="tags")
|
|
3447
|
+
def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
|
|
3448
|
+
'''A list of key-value pairs associated with the V2 automation rule.'''
|
|
3449
|
+
return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], jsii.get(self, "tags"))
|
|
3450
|
+
|
|
3451
|
+
@tags.setter
|
|
3452
|
+
def tags(
|
|
3453
|
+
self,
|
|
3454
|
+
value: typing.Optional[typing.Mapping[builtins.str, builtins.str]],
|
|
3455
|
+
) -> None:
|
|
3456
|
+
if __debug__:
|
|
3457
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c4cafeb60a0ac8c7088697f2b7bd61bc6887761dd3405c6d9a418c848d6a35ed)
|
|
3458
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3459
|
+
jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
|
|
3460
|
+
|
|
3461
|
+
@jsii.data_type(
|
|
3462
|
+
jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.AutomationRulesActionV2Property",
|
|
3463
|
+
jsii_struct_bases=[],
|
|
3464
|
+
name_mapping={
|
|
3465
|
+
"type": "type",
|
|
3466
|
+
"external_integration_configuration": "externalIntegrationConfiguration",
|
|
3467
|
+
"finding_fields_update": "findingFieldsUpdate",
|
|
3468
|
+
},
|
|
3469
|
+
)
|
|
3470
|
+
class AutomationRulesActionV2Property:
|
|
3471
|
+
def __init__(
|
|
3472
|
+
self,
|
|
3473
|
+
*,
|
|
3474
|
+
type: builtins.str,
|
|
3475
|
+
external_integration_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.ExternalIntegrationConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3476
|
+
finding_fields_update: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.AutomationRulesFindingFieldsUpdateV2Property", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3477
|
+
) -> None:
|
|
3478
|
+
'''Allows you to configure automated responses.
|
|
3479
|
+
|
|
3480
|
+
:param type: Specifies the type of action that Security Hub takes when a finding matches the defined criteria of a rule.
|
|
3481
|
+
:param external_integration_configuration: The settings for integrating automation rule actions with external systems or service.
|
|
3482
|
+
:param finding_fields_update: Specifies that the automation rule action is an update to a finding field.
|
|
3483
|
+
|
|
3484
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-automationrulesactionv2.html
|
|
3485
|
+
:exampleMetadata: fixture=_generated
|
|
3486
|
+
|
|
3487
|
+
Example::
|
|
3488
|
+
|
|
3489
|
+
# The code below shows an example of how to instantiate this type.
|
|
3490
|
+
# The values are placeholders you should change.
|
|
3491
|
+
from aws_cdk import aws_securityhub as securityhub
|
|
3492
|
+
|
|
3493
|
+
automation_rules_action_v2_property = securityhub.CfnAutomationRuleV2.AutomationRulesActionV2Property(
|
|
3494
|
+
type="type",
|
|
3495
|
+
|
|
3496
|
+
# the properties below are optional
|
|
3497
|
+
external_integration_configuration=securityhub.CfnAutomationRuleV2.ExternalIntegrationConfigurationProperty(
|
|
3498
|
+
connector_arn="connectorArn"
|
|
3499
|
+
),
|
|
3500
|
+
finding_fields_update=securityhub.CfnAutomationRuleV2.AutomationRulesFindingFieldsUpdateV2Property(
|
|
3501
|
+
comment="comment",
|
|
3502
|
+
severity_id=123,
|
|
3503
|
+
status_id=123
|
|
3504
|
+
)
|
|
3505
|
+
)
|
|
3506
|
+
'''
|
|
3507
|
+
if __debug__:
|
|
3508
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c5861ee659ea2189f4b0d18349855ec99f8b11ef0e6bc925783f2b7a3911d61f)
|
|
3509
|
+
check_type(argname="argument type", value=type, expected_type=type_hints["type"])
|
|
3510
|
+
check_type(argname="argument external_integration_configuration", value=external_integration_configuration, expected_type=type_hints["external_integration_configuration"])
|
|
3511
|
+
check_type(argname="argument finding_fields_update", value=finding_fields_update, expected_type=type_hints["finding_fields_update"])
|
|
3512
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
3513
|
+
"type": type,
|
|
3514
|
+
}
|
|
3515
|
+
if external_integration_configuration is not None:
|
|
3516
|
+
self._values["external_integration_configuration"] = external_integration_configuration
|
|
3517
|
+
if finding_fields_update is not None:
|
|
3518
|
+
self._values["finding_fields_update"] = finding_fields_update
|
|
3519
|
+
|
|
3520
|
+
@builtins.property
|
|
3521
|
+
def type(self) -> builtins.str:
|
|
3522
|
+
'''Specifies the type of action that Security Hub takes when a finding matches the defined criteria of a rule.
|
|
3523
|
+
|
|
3524
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-automationrulesactionv2.html#cfn-securityhub-automationrulev2-automationrulesactionv2-type
|
|
3525
|
+
'''
|
|
3526
|
+
result = self._values.get("type")
|
|
3527
|
+
assert result is not None, "Required property 'type' is missing"
|
|
3528
|
+
return typing.cast(builtins.str, result)
|
|
3529
|
+
|
|
3530
|
+
@builtins.property
|
|
3531
|
+
def external_integration_configuration(
|
|
3532
|
+
self,
|
|
3533
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.ExternalIntegrationConfigurationProperty"]]:
|
|
3534
|
+
'''The settings for integrating automation rule actions with external systems or service.
|
|
3535
|
+
|
|
3536
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-automationrulesactionv2.html#cfn-securityhub-automationrulev2-automationrulesactionv2-externalintegrationconfiguration
|
|
3537
|
+
'''
|
|
3538
|
+
result = self._values.get("external_integration_configuration")
|
|
3539
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.ExternalIntegrationConfigurationProperty"]], result)
|
|
3540
|
+
|
|
3541
|
+
@builtins.property
|
|
3542
|
+
def finding_fields_update(
|
|
3543
|
+
self,
|
|
3544
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.AutomationRulesFindingFieldsUpdateV2Property"]]:
|
|
3545
|
+
'''Specifies that the automation rule action is an update to a finding field.
|
|
3546
|
+
|
|
3547
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-automationrulesactionv2.html#cfn-securityhub-automationrulev2-automationrulesactionv2-findingfieldsupdate
|
|
3548
|
+
'''
|
|
3549
|
+
result = self._values.get("finding_fields_update")
|
|
3550
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.AutomationRulesFindingFieldsUpdateV2Property"]], result)
|
|
3551
|
+
|
|
3552
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3553
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
3554
|
+
|
|
3555
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
3556
|
+
return not (rhs == self)
|
|
3557
|
+
|
|
3558
|
+
def __repr__(self) -> str:
|
|
3559
|
+
return "AutomationRulesActionV2Property(%s)" % ", ".join(
|
|
3560
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
3561
|
+
)
|
|
3562
|
+
|
|
3563
|
+
@jsii.data_type(
|
|
3564
|
+
jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.AutomationRulesFindingFieldsUpdateV2Property",
|
|
3565
|
+
jsii_struct_bases=[],
|
|
3566
|
+
name_mapping={
|
|
3567
|
+
"comment": "comment",
|
|
3568
|
+
"severity_id": "severityId",
|
|
3569
|
+
"status_id": "statusId",
|
|
3570
|
+
},
|
|
3571
|
+
)
|
|
3572
|
+
class AutomationRulesFindingFieldsUpdateV2Property:
|
|
3573
|
+
def __init__(
|
|
3574
|
+
self,
|
|
3575
|
+
*,
|
|
3576
|
+
comment: typing.Optional[builtins.str] = None,
|
|
3577
|
+
severity_id: typing.Optional[jsii.Number] = None,
|
|
3578
|
+
status_id: typing.Optional[jsii.Number] = None,
|
|
3579
|
+
) -> None:
|
|
3580
|
+
'''Allows you to define the structure for modifying specific fields in security findings.
|
|
3581
|
+
|
|
3582
|
+
:param comment: Notes or contextual information for findings that are modified by the automation rule.
|
|
3583
|
+
:param severity_id: The severity level to be assigned to findings that match the automation rule criteria.
|
|
3584
|
+
:param status_id: The status to be applied to findings that match automation rule criteria.
|
|
3585
|
+
|
|
3586
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-automationrulesfindingfieldsupdatev2.html
|
|
3587
|
+
:exampleMetadata: fixture=_generated
|
|
3588
|
+
|
|
3589
|
+
Example::
|
|
3590
|
+
|
|
3591
|
+
# The code below shows an example of how to instantiate this type.
|
|
3592
|
+
# The values are placeholders you should change.
|
|
3593
|
+
from aws_cdk import aws_securityhub as securityhub
|
|
3594
|
+
|
|
3595
|
+
automation_rules_finding_fields_update_v2_property = securityhub.CfnAutomationRuleV2.AutomationRulesFindingFieldsUpdateV2Property(
|
|
3596
|
+
comment="comment",
|
|
3597
|
+
severity_id=123,
|
|
3598
|
+
status_id=123
|
|
3599
|
+
)
|
|
3600
|
+
'''
|
|
3601
|
+
if __debug__:
|
|
3602
|
+
type_hints = typing.get_type_hints(_typecheckingstub__4f90f98d77f04ef40f0534b1d8b8660117e52394e43158b5d7f298d3bc8625cc)
|
|
3603
|
+
check_type(argname="argument comment", value=comment, expected_type=type_hints["comment"])
|
|
3604
|
+
check_type(argname="argument severity_id", value=severity_id, expected_type=type_hints["severity_id"])
|
|
3605
|
+
check_type(argname="argument status_id", value=status_id, expected_type=type_hints["status_id"])
|
|
3606
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
3607
|
+
if comment is not None:
|
|
3608
|
+
self._values["comment"] = comment
|
|
3609
|
+
if severity_id is not None:
|
|
3610
|
+
self._values["severity_id"] = severity_id
|
|
3611
|
+
if status_id is not None:
|
|
3612
|
+
self._values["status_id"] = status_id
|
|
3613
|
+
|
|
3614
|
+
@builtins.property
|
|
3615
|
+
def comment(self) -> typing.Optional[builtins.str]:
|
|
3616
|
+
'''Notes or contextual information for findings that are modified by the automation rule.
|
|
3617
|
+
|
|
3618
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-automationrulesfindingfieldsupdatev2.html#cfn-securityhub-automationrulev2-automationrulesfindingfieldsupdatev2-comment
|
|
3619
|
+
'''
|
|
3620
|
+
result = self._values.get("comment")
|
|
3621
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
3622
|
+
|
|
3623
|
+
@builtins.property
|
|
3624
|
+
def severity_id(self) -> typing.Optional[jsii.Number]:
|
|
3625
|
+
'''The severity level to be assigned to findings that match the automation rule criteria.
|
|
3626
|
+
|
|
3627
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-automationrulesfindingfieldsupdatev2.html#cfn-securityhub-automationrulev2-automationrulesfindingfieldsupdatev2-severityid
|
|
3628
|
+
'''
|
|
3629
|
+
result = self._values.get("severity_id")
|
|
3630
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
3631
|
+
|
|
3632
|
+
@builtins.property
|
|
3633
|
+
def status_id(self) -> typing.Optional[jsii.Number]:
|
|
3634
|
+
'''The status to be applied to findings that match automation rule criteria.
|
|
3635
|
+
|
|
3636
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-automationrulesfindingfieldsupdatev2.html#cfn-securityhub-automationrulev2-automationrulesfindingfieldsupdatev2-statusid
|
|
3637
|
+
'''
|
|
3638
|
+
result = self._values.get("status_id")
|
|
3639
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
3640
|
+
|
|
3641
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3642
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
3643
|
+
|
|
3644
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
3645
|
+
return not (rhs == self)
|
|
3646
|
+
|
|
3647
|
+
def __repr__(self) -> str:
|
|
3648
|
+
return "AutomationRulesFindingFieldsUpdateV2Property(%s)" % ", ".join(
|
|
3649
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
3650
|
+
)
|
|
3651
|
+
|
|
3652
|
+
@jsii.data_type(
|
|
3653
|
+
jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.BooleanFilterProperty",
|
|
3654
|
+
jsii_struct_bases=[],
|
|
3655
|
+
name_mapping={"value": "value"},
|
|
3656
|
+
)
|
|
3657
|
+
class BooleanFilterProperty:
|
|
3658
|
+
def __init__(
|
|
3659
|
+
self,
|
|
3660
|
+
*,
|
|
3661
|
+
value: typing.Union[builtins.bool, _IResolvable_da3f097b],
|
|
3662
|
+
) -> None:
|
|
3663
|
+
'''Boolean filter for querying findings.
|
|
3664
|
+
|
|
3665
|
+
:param value: The value of the boolean.
|
|
3666
|
+
|
|
3667
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-booleanfilter.html
|
|
3668
|
+
:exampleMetadata: fixture=_generated
|
|
3669
|
+
|
|
3670
|
+
Example::
|
|
3671
|
+
|
|
3672
|
+
# The code below shows an example of how to instantiate this type.
|
|
3673
|
+
# The values are placeholders you should change.
|
|
3674
|
+
from aws_cdk import aws_securityhub as securityhub
|
|
3675
|
+
|
|
3676
|
+
boolean_filter_property = securityhub.CfnAutomationRuleV2.BooleanFilterProperty(
|
|
3677
|
+
value=False
|
|
3678
|
+
)
|
|
3679
|
+
'''
|
|
3680
|
+
if __debug__:
|
|
3681
|
+
type_hints = typing.get_type_hints(_typecheckingstub__bf1f4033b6ab73724f96c846c6e76e7a50093a23574134c07515d9390346e33b)
|
|
3682
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3683
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
3684
|
+
"value": value,
|
|
3685
|
+
}
|
|
3686
|
+
|
|
3687
|
+
@builtins.property
|
|
3688
|
+
def value(self) -> typing.Union[builtins.bool, _IResolvable_da3f097b]:
|
|
3689
|
+
'''The value of the boolean.
|
|
3690
|
+
|
|
3691
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-booleanfilter.html#cfn-securityhub-automationrulev2-booleanfilter-value
|
|
3692
|
+
'''
|
|
3693
|
+
result = self._values.get("value")
|
|
3694
|
+
assert result is not None, "Required property 'value' is missing"
|
|
3695
|
+
return typing.cast(typing.Union[builtins.bool, _IResolvable_da3f097b], result)
|
|
3696
|
+
|
|
3697
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3698
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
3699
|
+
|
|
3700
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
3701
|
+
return not (rhs == self)
|
|
3702
|
+
|
|
3703
|
+
def __repr__(self) -> str:
|
|
3704
|
+
return "BooleanFilterProperty(%s)" % ", ".join(
|
|
3705
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
3706
|
+
)
|
|
3707
|
+
|
|
3708
|
+
@jsii.data_type(
|
|
3709
|
+
jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.CompositeFilterProperty",
|
|
3710
|
+
jsii_struct_bases=[],
|
|
3711
|
+
name_mapping={
|
|
3712
|
+
"boolean_filters": "booleanFilters",
|
|
3713
|
+
"date_filters": "dateFilters",
|
|
3714
|
+
"map_filters": "mapFilters",
|
|
3715
|
+
"number_filters": "numberFilters",
|
|
3716
|
+
"operator": "operator",
|
|
3717
|
+
"string_filters": "stringFilters",
|
|
3718
|
+
},
|
|
3719
|
+
)
|
|
3720
|
+
class CompositeFilterProperty:
|
|
3721
|
+
def __init__(
|
|
3722
|
+
self,
|
|
3723
|
+
*,
|
|
3724
|
+
boolean_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.OcsfBooleanFilterProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
3725
|
+
date_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.OcsfDateFilterProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
3726
|
+
map_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.OcsfMapFilterProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
3727
|
+
number_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.OcsfNumberFilterProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
3728
|
+
operator: typing.Optional[builtins.str] = None,
|
|
3729
|
+
string_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.OcsfStringFilterProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
3730
|
+
) -> None:
|
|
3731
|
+
'''Enables the creation of filtering criteria for security findings.
|
|
3732
|
+
|
|
3733
|
+
:param boolean_filters: Enables filtering based on boolean field values.
|
|
3734
|
+
:param date_filters: Enables filtering based on date and timestamp fields.
|
|
3735
|
+
:param map_filters: Enables the creation of filtering criteria for security findings.
|
|
3736
|
+
:param number_filters: Enables filtering based on numerical field values.
|
|
3737
|
+
:param operator: The logical operator used to combine multiple filter conditions.
|
|
3738
|
+
:param string_filters: Enables filtering based on string field values.
|
|
3739
|
+
|
|
3740
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-compositefilter.html
|
|
3741
|
+
:exampleMetadata: fixture=_generated
|
|
3742
|
+
|
|
3743
|
+
Example::
|
|
3744
|
+
|
|
3745
|
+
# The code below shows an example of how to instantiate this type.
|
|
3746
|
+
# The values are placeholders you should change.
|
|
3747
|
+
from aws_cdk import aws_securityhub as securityhub
|
|
3748
|
+
|
|
3749
|
+
composite_filter_property = securityhub.CfnAutomationRuleV2.CompositeFilterProperty(
|
|
3750
|
+
boolean_filters=[securityhub.CfnAutomationRuleV2.OcsfBooleanFilterProperty(
|
|
3751
|
+
field_name="fieldName",
|
|
3752
|
+
filter=securityhub.CfnAutomationRuleV2.BooleanFilterProperty(
|
|
3753
|
+
value=False
|
|
3754
|
+
)
|
|
3755
|
+
)],
|
|
3756
|
+
date_filters=[securityhub.CfnAutomationRuleV2.OcsfDateFilterProperty(
|
|
3757
|
+
field_name="fieldName",
|
|
3758
|
+
filter=securityhub.CfnAutomationRuleV2.DateFilterProperty(
|
|
3759
|
+
date_range=securityhub.CfnAutomationRuleV2.DateRangeProperty(
|
|
3760
|
+
unit="unit",
|
|
3761
|
+
value=123
|
|
3762
|
+
),
|
|
3763
|
+
end="end",
|
|
3764
|
+
start="start"
|
|
3765
|
+
)
|
|
3766
|
+
)],
|
|
3767
|
+
map_filters=[securityhub.CfnAutomationRuleV2.OcsfMapFilterProperty(
|
|
3768
|
+
field_name="fieldName",
|
|
3769
|
+
filter=securityhub.CfnAutomationRuleV2.MapFilterProperty(
|
|
3770
|
+
comparison="comparison",
|
|
3771
|
+
key="key",
|
|
3772
|
+
value="value"
|
|
3773
|
+
)
|
|
3774
|
+
)],
|
|
3775
|
+
number_filters=[securityhub.CfnAutomationRuleV2.OcsfNumberFilterProperty(
|
|
3776
|
+
field_name="fieldName",
|
|
3777
|
+
filter=securityhub.CfnAutomationRuleV2.NumberFilterProperty(
|
|
3778
|
+
eq=123,
|
|
3779
|
+
gte=123,
|
|
3780
|
+
lte=123
|
|
3781
|
+
)
|
|
3782
|
+
)],
|
|
3783
|
+
operator="operator",
|
|
3784
|
+
string_filters=[securityhub.CfnAutomationRuleV2.OcsfStringFilterProperty(
|
|
3785
|
+
field_name="fieldName",
|
|
3786
|
+
filter=securityhub.CfnAutomationRuleV2.StringFilterProperty(
|
|
3787
|
+
comparison="comparison",
|
|
3788
|
+
value="value"
|
|
3789
|
+
)
|
|
3790
|
+
)]
|
|
3791
|
+
)
|
|
3792
|
+
'''
|
|
3793
|
+
if __debug__:
|
|
3794
|
+
type_hints = typing.get_type_hints(_typecheckingstub__ef5252b213e349428bc417b1dd29e26751fcc25bde34b016a3eaf19d58151f2e)
|
|
3795
|
+
check_type(argname="argument boolean_filters", value=boolean_filters, expected_type=type_hints["boolean_filters"])
|
|
3796
|
+
check_type(argname="argument date_filters", value=date_filters, expected_type=type_hints["date_filters"])
|
|
3797
|
+
check_type(argname="argument map_filters", value=map_filters, expected_type=type_hints["map_filters"])
|
|
3798
|
+
check_type(argname="argument number_filters", value=number_filters, expected_type=type_hints["number_filters"])
|
|
3799
|
+
check_type(argname="argument operator", value=operator, expected_type=type_hints["operator"])
|
|
3800
|
+
check_type(argname="argument string_filters", value=string_filters, expected_type=type_hints["string_filters"])
|
|
3801
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
3802
|
+
if boolean_filters is not None:
|
|
3803
|
+
self._values["boolean_filters"] = boolean_filters
|
|
3804
|
+
if date_filters is not None:
|
|
3805
|
+
self._values["date_filters"] = date_filters
|
|
3806
|
+
if map_filters is not None:
|
|
3807
|
+
self._values["map_filters"] = map_filters
|
|
3808
|
+
if number_filters is not None:
|
|
3809
|
+
self._values["number_filters"] = number_filters
|
|
3810
|
+
if operator is not None:
|
|
3811
|
+
self._values["operator"] = operator
|
|
3812
|
+
if string_filters is not None:
|
|
3813
|
+
self._values["string_filters"] = string_filters
|
|
3814
|
+
|
|
3815
|
+
@builtins.property
|
|
3816
|
+
def boolean_filters(
|
|
3817
|
+
self,
|
|
3818
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.OcsfBooleanFilterProperty"]]]]:
|
|
3819
|
+
'''Enables filtering based on boolean field values.
|
|
3820
|
+
|
|
3821
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-compositefilter.html#cfn-securityhub-automationrulev2-compositefilter-booleanfilters
|
|
3822
|
+
'''
|
|
3823
|
+
result = self._values.get("boolean_filters")
|
|
3824
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.OcsfBooleanFilterProperty"]]]], result)
|
|
3825
|
+
|
|
3826
|
+
@builtins.property
|
|
3827
|
+
def date_filters(
|
|
3828
|
+
self,
|
|
3829
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.OcsfDateFilterProperty"]]]]:
|
|
3830
|
+
'''Enables filtering based on date and timestamp fields.
|
|
3831
|
+
|
|
3832
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-compositefilter.html#cfn-securityhub-automationrulev2-compositefilter-datefilters
|
|
3833
|
+
'''
|
|
3834
|
+
result = self._values.get("date_filters")
|
|
3835
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.OcsfDateFilterProperty"]]]], result)
|
|
3836
|
+
|
|
3837
|
+
@builtins.property
|
|
3838
|
+
def map_filters(
|
|
3839
|
+
self,
|
|
3840
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.OcsfMapFilterProperty"]]]]:
|
|
3841
|
+
'''Enables the creation of filtering criteria for security findings.
|
|
3842
|
+
|
|
3843
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-compositefilter.html#cfn-securityhub-automationrulev2-compositefilter-mapfilters
|
|
3844
|
+
'''
|
|
3845
|
+
result = self._values.get("map_filters")
|
|
3846
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.OcsfMapFilterProperty"]]]], result)
|
|
3847
|
+
|
|
3848
|
+
@builtins.property
|
|
3849
|
+
def number_filters(
|
|
3850
|
+
self,
|
|
3851
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.OcsfNumberFilterProperty"]]]]:
|
|
3852
|
+
'''Enables filtering based on numerical field values.
|
|
3853
|
+
|
|
3854
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-compositefilter.html#cfn-securityhub-automationrulev2-compositefilter-numberfilters
|
|
3855
|
+
'''
|
|
3856
|
+
result = self._values.get("number_filters")
|
|
3857
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.OcsfNumberFilterProperty"]]]], result)
|
|
3858
|
+
|
|
3859
|
+
@builtins.property
|
|
3860
|
+
def operator(self) -> typing.Optional[builtins.str]:
|
|
3861
|
+
'''The logical operator used to combine multiple filter conditions.
|
|
3862
|
+
|
|
3863
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-compositefilter.html#cfn-securityhub-automationrulev2-compositefilter-operator
|
|
3864
|
+
'''
|
|
3865
|
+
result = self._values.get("operator")
|
|
3866
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
3867
|
+
|
|
3868
|
+
@builtins.property
|
|
3869
|
+
def string_filters(
|
|
3870
|
+
self,
|
|
3871
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.OcsfStringFilterProperty"]]]]:
|
|
3872
|
+
'''Enables filtering based on string field values.
|
|
3873
|
+
|
|
3874
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-compositefilter.html#cfn-securityhub-automationrulev2-compositefilter-stringfilters
|
|
3875
|
+
'''
|
|
3876
|
+
result = self._values.get("string_filters")
|
|
3877
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.OcsfStringFilterProperty"]]]], result)
|
|
3878
|
+
|
|
3879
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3880
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
3881
|
+
|
|
3882
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
3883
|
+
return not (rhs == self)
|
|
3884
|
+
|
|
3885
|
+
def __repr__(self) -> str:
|
|
3886
|
+
return "CompositeFilterProperty(%s)" % ", ".join(
|
|
3887
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
3888
|
+
)
|
|
3889
|
+
|
|
3890
|
+
@jsii.data_type(
|
|
3891
|
+
jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.CriteriaProperty",
|
|
3892
|
+
jsii_struct_bases=[],
|
|
3893
|
+
name_mapping={"ocsf_finding_criteria": "ocsfFindingCriteria"},
|
|
3894
|
+
)
|
|
3895
|
+
class CriteriaProperty:
|
|
3896
|
+
def __init__(
|
|
3897
|
+
self,
|
|
3898
|
+
*,
|
|
3899
|
+
ocsf_finding_criteria: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.OcsfFindingFiltersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3900
|
+
) -> None:
|
|
3901
|
+
'''The filtering type and configuration of the automation rule.
|
|
3902
|
+
|
|
3903
|
+
:param ocsf_finding_criteria: The filtering conditions that align with OCSF standards.
|
|
3904
|
+
|
|
3905
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-criteria.html
|
|
3906
|
+
:exampleMetadata: fixture=_generated
|
|
3907
|
+
|
|
3908
|
+
Example::
|
|
3909
|
+
|
|
3910
|
+
# The code below shows an example of how to instantiate this type.
|
|
3911
|
+
# The values are placeholders you should change.
|
|
3912
|
+
from aws_cdk import aws_securityhub as securityhub
|
|
3913
|
+
|
|
3914
|
+
criteria_property = securityhub.CfnAutomationRuleV2.CriteriaProperty(
|
|
3915
|
+
ocsf_finding_criteria=securityhub.CfnAutomationRuleV2.OcsfFindingFiltersProperty(
|
|
3916
|
+
composite_filters=[securityhub.CfnAutomationRuleV2.CompositeFilterProperty(
|
|
3917
|
+
boolean_filters=[securityhub.CfnAutomationRuleV2.OcsfBooleanFilterProperty(
|
|
3918
|
+
field_name="fieldName",
|
|
3919
|
+
filter=securityhub.CfnAutomationRuleV2.BooleanFilterProperty(
|
|
3920
|
+
value=False
|
|
3921
|
+
)
|
|
3922
|
+
)],
|
|
3923
|
+
date_filters=[securityhub.CfnAutomationRuleV2.OcsfDateFilterProperty(
|
|
3924
|
+
field_name="fieldName",
|
|
3925
|
+
filter=securityhub.CfnAutomationRuleV2.DateFilterProperty(
|
|
3926
|
+
date_range=securityhub.CfnAutomationRuleV2.DateRangeProperty(
|
|
3927
|
+
unit="unit",
|
|
3928
|
+
value=123
|
|
3929
|
+
),
|
|
3930
|
+
end="end",
|
|
3931
|
+
start="start"
|
|
3932
|
+
)
|
|
3933
|
+
)],
|
|
3934
|
+
map_filters=[securityhub.CfnAutomationRuleV2.OcsfMapFilterProperty(
|
|
3935
|
+
field_name="fieldName",
|
|
3936
|
+
filter=securityhub.CfnAutomationRuleV2.MapFilterProperty(
|
|
3937
|
+
comparison="comparison",
|
|
3938
|
+
key="key",
|
|
3939
|
+
value="value"
|
|
3940
|
+
)
|
|
3941
|
+
)],
|
|
3942
|
+
number_filters=[securityhub.CfnAutomationRuleV2.OcsfNumberFilterProperty(
|
|
3943
|
+
field_name="fieldName",
|
|
3944
|
+
filter=securityhub.CfnAutomationRuleV2.NumberFilterProperty(
|
|
3945
|
+
eq=123,
|
|
3946
|
+
gte=123,
|
|
3947
|
+
lte=123
|
|
3948
|
+
)
|
|
3949
|
+
)],
|
|
3950
|
+
operator="operator",
|
|
3951
|
+
string_filters=[securityhub.CfnAutomationRuleV2.OcsfStringFilterProperty(
|
|
3952
|
+
field_name="fieldName",
|
|
3953
|
+
filter=securityhub.CfnAutomationRuleV2.StringFilterProperty(
|
|
3954
|
+
comparison="comparison",
|
|
3955
|
+
value="value"
|
|
3956
|
+
)
|
|
3957
|
+
)]
|
|
3958
|
+
)],
|
|
3959
|
+
composite_operator="compositeOperator"
|
|
3960
|
+
)
|
|
3961
|
+
)
|
|
3962
|
+
'''
|
|
3963
|
+
if __debug__:
|
|
3964
|
+
type_hints = typing.get_type_hints(_typecheckingstub__1ba9d632d542a300365cf2fd23759ae4458525cb9c085d0a969ca6b488962b63)
|
|
3965
|
+
check_type(argname="argument ocsf_finding_criteria", value=ocsf_finding_criteria, expected_type=type_hints["ocsf_finding_criteria"])
|
|
3966
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
3967
|
+
if ocsf_finding_criteria is not None:
|
|
3968
|
+
self._values["ocsf_finding_criteria"] = ocsf_finding_criteria
|
|
3969
|
+
|
|
3970
|
+
@builtins.property
|
|
3971
|
+
def ocsf_finding_criteria(
|
|
3972
|
+
self,
|
|
3973
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.OcsfFindingFiltersProperty"]]:
|
|
3974
|
+
'''The filtering conditions that align with OCSF standards.
|
|
3975
|
+
|
|
3976
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-criteria.html#cfn-securityhub-automationrulev2-criteria-ocsffindingcriteria
|
|
3977
|
+
'''
|
|
3978
|
+
result = self._values.get("ocsf_finding_criteria")
|
|
3979
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.OcsfFindingFiltersProperty"]], result)
|
|
3980
|
+
|
|
3981
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3982
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
3983
|
+
|
|
3984
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
3985
|
+
return not (rhs == self)
|
|
3986
|
+
|
|
3987
|
+
def __repr__(self) -> str:
|
|
3988
|
+
return "CriteriaProperty(%s)" % ", ".join(
|
|
3989
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
3990
|
+
)
|
|
3991
|
+
|
|
3992
|
+
@jsii.data_type(
|
|
3993
|
+
jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.DateFilterProperty",
|
|
3994
|
+
jsii_struct_bases=[],
|
|
3995
|
+
name_mapping={"date_range": "dateRange", "end": "end", "start": "start"},
|
|
3996
|
+
)
|
|
3997
|
+
class DateFilterProperty:
|
|
3998
|
+
def __init__(
|
|
3999
|
+
self,
|
|
4000
|
+
*,
|
|
4001
|
+
date_range: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.DateRangeProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4002
|
+
end: typing.Optional[builtins.str] = None,
|
|
4003
|
+
start: typing.Optional[builtins.str] = None,
|
|
4004
|
+
) -> None:
|
|
4005
|
+
'''A date filter for querying findings.
|
|
4006
|
+
|
|
4007
|
+
:param date_range: A date range for the date filter.
|
|
4008
|
+
:param end: A timestamp that provides the end date for the date filter. For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
|
|
4009
|
+
:param start: A timestamp that provides the start date for the date filter. For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
|
|
4010
|
+
|
|
4011
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-datefilter.html
|
|
4012
|
+
:exampleMetadata: fixture=_generated
|
|
4013
|
+
|
|
4014
|
+
Example::
|
|
4015
|
+
|
|
4016
|
+
# The code below shows an example of how to instantiate this type.
|
|
4017
|
+
# The values are placeholders you should change.
|
|
4018
|
+
from aws_cdk import aws_securityhub as securityhub
|
|
4019
|
+
|
|
4020
|
+
date_filter_property = securityhub.CfnAutomationRuleV2.DateFilterProperty(
|
|
4021
|
+
date_range=securityhub.CfnAutomationRuleV2.DateRangeProperty(
|
|
4022
|
+
unit="unit",
|
|
4023
|
+
value=123
|
|
4024
|
+
),
|
|
4025
|
+
end="end",
|
|
4026
|
+
start="start"
|
|
4027
|
+
)
|
|
4028
|
+
'''
|
|
4029
|
+
if __debug__:
|
|
4030
|
+
type_hints = typing.get_type_hints(_typecheckingstub__3d21b2c9e81f0b05c0b5eae1aed977679e202dd65257b012d2ffca3404d4bce2)
|
|
4031
|
+
check_type(argname="argument date_range", value=date_range, expected_type=type_hints["date_range"])
|
|
4032
|
+
check_type(argname="argument end", value=end, expected_type=type_hints["end"])
|
|
4033
|
+
check_type(argname="argument start", value=start, expected_type=type_hints["start"])
|
|
4034
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
4035
|
+
if date_range is not None:
|
|
4036
|
+
self._values["date_range"] = date_range
|
|
4037
|
+
if end is not None:
|
|
4038
|
+
self._values["end"] = end
|
|
4039
|
+
if start is not None:
|
|
4040
|
+
self._values["start"] = start
|
|
4041
|
+
|
|
4042
|
+
@builtins.property
|
|
4043
|
+
def date_range(
|
|
4044
|
+
self,
|
|
4045
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.DateRangeProperty"]]:
|
|
4046
|
+
'''A date range for the date filter.
|
|
4047
|
+
|
|
4048
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-datefilter.html#cfn-securityhub-automationrulev2-datefilter-daterange
|
|
4049
|
+
'''
|
|
4050
|
+
result = self._values.get("date_range")
|
|
4051
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.DateRangeProperty"]], result)
|
|
4052
|
+
|
|
4053
|
+
@builtins.property
|
|
4054
|
+
def end(self) -> typing.Optional[builtins.str]:
|
|
4055
|
+
'''A timestamp that provides the end date for the date filter.
|
|
4056
|
+
|
|
4057
|
+
For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
|
|
4058
|
+
|
|
4059
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-datefilter.html#cfn-securityhub-automationrulev2-datefilter-end
|
|
4060
|
+
'''
|
|
4061
|
+
result = self._values.get("end")
|
|
4062
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
4063
|
+
|
|
4064
|
+
@builtins.property
|
|
4065
|
+
def start(self) -> typing.Optional[builtins.str]:
|
|
4066
|
+
'''A timestamp that provides the start date for the date filter.
|
|
4067
|
+
|
|
4068
|
+
For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
|
|
4069
|
+
|
|
4070
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-datefilter.html#cfn-securityhub-automationrulev2-datefilter-start
|
|
4071
|
+
'''
|
|
4072
|
+
result = self._values.get("start")
|
|
4073
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
4074
|
+
|
|
4075
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4076
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
4077
|
+
|
|
4078
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
4079
|
+
return not (rhs == self)
|
|
4080
|
+
|
|
4081
|
+
def __repr__(self) -> str:
|
|
4082
|
+
return "DateFilterProperty(%s)" % ", ".join(
|
|
4083
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
4084
|
+
)
|
|
4085
|
+
|
|
4086
|
+
@jsii.data_type(
|
|
4087
|
+
jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.DateRangeProperty",
|
|
4088
|
+
jsii_struct_bases=[],
|
|
4089
|
+
name_mapping={"unit": "unit", "value": "value"},
|
|
4090
|
+
)
|
|
4091
|
+
class DateRangeProperty:
|
|
4092
|
+
def __init__(self, *, unit: builtins.str, value: jsii.Number) -> None:
|
|
4093
|
+
'''A date range for the date filter.
|
|
4094
|
+
|
|
4095
|
+
:param unit: A date range unit for the date filter.
|
|
4096
|
+
:param value: A date range value for the date filter.
|
|
4097
|
+
|
|
4098
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-daterange.html
|
|
4099
|
+
:exampleMetadata: fixture=_generated
|
|
4100
|
+
|
|
4101
|
+
Example::
|
|
4102
|
+
|
|
4103
|
+
# The code below shows an example of how to instantiate this type.
|
|
4104
|
+
# The values are placeholders you should change.
|
|
4105
|
+
from aws_cdk import aws_securityhub as securityhub
|
|
4106
|
+
|
|
4107
|
+
date_range_property = securityhub.CfnAutomationRuleV2.DateRangeProperty(
|
|
4108
|
+
unit="unit",
|
|
4109
|
+
value=123
|
|
4110
|
+
)
|
|
4111
|
+
'''
|
|
4112
|
+
if __debug__:
|
|
4113
|
+
type_hints = typing.get_type_hints(_typecheckingstub__6cd41336e92eb03ceeaab0c8bb04ecdcbaa676b6a22a3cd4a1f8ba069311dc05)
|
|
4114
|
+
check_type(argname="argument unit", value=unit, expected_type=type_hints["unit"])
|
|
4115
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
4116
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
4117
|
+
"unit": unit,
|
|
4118
|
+
"value": value,
|
|
4119
|
+
}
|
|
4120
|
+
|
|
4121
|
+
@builtins.property
|
|
4122
|
+
def unit(self) -> builtins.str:
|
|
4123
|
+
'''A date range unit for the date filter.
|
|
4124
|
+
|
|
4125
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-daterange.html#cfn-securityhub-automationrulev2-daterange-unit
|
|
4126
|
+
'''
|
|
4127
|
+
result = self._values.get("unit")
|
|
4128
|
+
assert result is not None, "Required property 'unit' is missing"
|
|
4129
|
+
return typing.cast(builtins.str, result)
|
|
4130
|
+
|
|
4131
|
+
@builtins.property
|
|
4132
|
+
def value(self) -> jsii.Number:
|
|
4133
|
+
'''A date range value for the date filter.
|
|
4134
|
+
|
|
4135
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-daterange.html#cfn-securityhub-automationrulev2-daterange-value
|
|
4136
|
+
'''
|
|
4137
|
+
result = self._values.get("value")
|
|
4138
|
+
assert result is not None, "Required property 'value' is missing"
|
|
4139
|
+
return typing.cast(jsii.Number, result)
|
|
4140
|
+
|
|
4141
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4142
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
4143
|
+
|
|
4144
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
4145
|
+
return not (rhs == self)
|
|
4146
|
+
|
|
4147
|
+
def __repr__(self) -> str:
|
|
4148
|
+
return "DateRangeProperty(%s)" % ", ".join(
|
|
4149
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
4150
|
+
)
|
|
4151
|
+
|
|
4152
|
+
@jsii.data_type(
|
|
4153
|
+
jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.ExternalIntegrationConfigurationProperty",
|
|
4154
|
+
jsii_struct_bases=[],
|
|
4155
|
+
name_mapping={"connector_arn": "connectorArn"},
|
|
4156
|
+
)
|
|
4157
|
+
class ExternalIntegrationConfigurationProperty:
|
|
4158
|
+
def __init__(
|
|
4159
|
+
self,
|
|
4160
|
+
*,
|
|
4161
|
+
connector_arn: typing.Optional[builtins.str] = None,
|
|
4162
|
+
) -> None:
|
|
4163
|
+
'''The settings for integrating automation rule actions with external systems or service.
|
|
4164
|
+
|
|
4165
|
+
:param connector_arn: The ARN of the connector that establishes the integration.
|
|
4166
|
+
|
|
4167
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-externalintegrationconfiguration.html
|
|
4168
|
+
:exampleMetadata: fixture=_generated
|
|
4169
|
+
|
|
4170
|
+
Example::
|
|
4171
|
+
|
|
4172
|
+
# The code below shows an example of how to instantiate this type.
|
|
4173
|
+
# The values are placeholders you should change.
|
|
4174
|
+
from aws_cdk import aws_securityhub as securityhub
|
|
4175
|
+
|
|
4176
|
+
external_integration_configuration_property = securityhub.CfnAutomationRuleV2.ExternalIntegrationConfigurationProperty(
|
|
4177
|
+
connector_arn="connectorArn"
|
|
4178
|
+
)
|
|
4179
|
+
'''
|
|
4180
|
+
if __debug__:
|
|
4181
|
+
type_hints = typing.get_type_hints(_typecheckingstub__a2fd9a1462ca1711dacb92a0d07d564ed40fe787a40d0cfcdebf274371c09173)
|
|
4182
|
+
check_type(argname="argument connector_arn", value=connector_arn, expected_type=type_hints["connector_arn"])
|
|
4183
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
4184
|
+
if connector_arn is not None:
|
|
4185
|
+
self._values["connector_arn"] = connector_arn
|
|
4186
|
+
|
|
4187
|
+
@builtins.property
|
|
4188
|
+
def connector_arn(self) -> typing.Optional[builtins.str]:
|
|
4189
|
+
'''The ARN of the connector that establishes the integration.
|
|
4190
|
+
|
|
4191
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-externalintegrationconfiguration.html#cfn-securityhub-automationrulev2-externalintegrationconfiguration-connectorarn
|
|
4192
|
+
'''
|
|
4193
|
+
result = self._values.get("connector_arn")
|
|
4194
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
4195
|
+
|
|
4196
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4197
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
4198
|
+
|
|
4199
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
4200
|
+
return not (rhs == self)
|
|
4201
|
+
|
|
4202
|
+
def __repr__(self) -> str:
|
|
4203
|
+
return "ExternalIntegrationConfigurationProperty(%s)" % ", ".join(
|
|
4204
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
4205
|
+
)
|
|
4206
|
+
|
|
4207
|
+
@jsii.data_type(
|
|
4208
|
+
jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.MapFilterProperty",
|
|
4209
|
+
jsii_struct_bases=[],
|
|
4210
|
+
name_mapping={"comparison": "comparison", "key": "key", "value": "value"},
|
|
4211
|
+
)
|
|
4212
|
+
class MapFilterProperty:
|
|
4213
|
+
def __init__(
|
|
4214
|
+
self,
|
|
4215
|
+
*,
|
|
4216
|
+
comparison: builtins.str,
|
|
4217
|
+
key: builtins.str,
|
|
4218
|
+
value: builtins.str,
|
|
4219
|
+
) -> None:
|
|
4220
|
+
'''A map filter for filtering AWS Security Hub findings.
|
|
4221
|
+
|
|
4222
|
+
Each map filter provides the field to check for, the value to check for, and the comparison operator.
|
|
4223
|
+
|
|
4224
|
+
:param comparison: The condition to apply to the key value when filtering Security Hub findings with a map filter. To search for values that have the filter value, use one of the following comparison operators: - To search for values that include the filter value, use ``CONTAINS`` . For example, for the ``ResourceTags`` field, the filter ``Department CONTAINS Security`` matches findings that include the value ``Security`` for the ``Department`` tag. In the same example, a finding with a value of ``Security team`` for the ``Department`` tag is a match. - To search for values that exactly match the filter value, use ``EQUALS`` . For example, for the ``ResourceTags`` field, the filter ``Department EQUALS Security`` matches findings that have the value ``Security`` for the ``Department`` tag. ``CONTAINS`` and ``EQUALS`` filters on the same field are joined by ``OR`` . A finding matches if it matches any one of those filters. For example, the filters ``Department CONTAINS Security OR Department CONTAINS Finance`` match a finding that includes either ``Security`` , ``Finance`` , or both values. To search for values that don't have the filter value, use one of the following comparison operators: - To search for values that exclude the filter value, use ``NOT_CONTAINS`` . For example, for the ``ResourceTags`` field, the filter ``Department NOT_CONTAINS Finance`` matches findings that exclude the value ``Finance`` for the ``Department`` tag. - To search for values other than the filter value, use ``NOT_EQUALS`` . For example, for the ``ResourceTags`` field, the filter ``Department NOT_EQUALS Finance`` matches findings that don’t have the value ``Finance`` for the ``Department`` tag. ``NOT_CONTAINS`` and ``NOT_EQUALS`` filters on the same field are joined by ``AND`` . A finding matches only if it matches all of those filters. For example, the filters ``Department NOT_CONTAINS Security AND Department NOT_CONTAINS Finance`` match a finding that excludes both the ``Security`` and ``Finance`` values. ``CONTAINS`` filters can only be used with other ``CONTAINS`` filters. ``NOT_CONTAINS`` filters can only be used with other ``NOT_CONTAINS`` filters. You can’t have both a ``CONTAINS`` filter and a ``NOT_CONTAINS`` filter on the same field. Similarly, you can’t have both an ``EQUALS`` filter and a ``NOT_EQUALS`` filter on the same field. Combining filters in this way returns an error. ``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *AWS Security Hub User Guide* .
|
|
4225
|
+
:param key: The key of the map filter. For example, for ``ResourceTags`` , ``Key`` identifies the name of the tag. For ``UserDefinedFields`` , ``Key`` is the name of the field.
|
|
4226
|
+
:param value: The value for the key in the map filter. Filter values are case sensitive. For example, one of the values for a tag called ``Department`` might be ``Security`` . If you provide ``security`` as the filter value, then there's no match.
|
|
4227
|
+
|
|
4228
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-mapfilter.html
|
|
4229
|
+
:exampleMetadata: fixture=_generated
|
|
4230
|
+
|
|
4231
|
+
Example::
|
|
4232
|
+
|
|
4233
|
+
# The code below shows an example of how to instantiate this type.
|
|
4234
|
+
# The values are placeholders you should change.
|
|
4235
|
+
from aws_cdk import aws_securityhub as securityhub
|
|
4236
|
+
|
|
4237
|
+
map_filter_property = securityhub.CfnAutomationRuleV2.MapFilterProperty(
|
|
4238
|
+
comparison="comparison",
|
|
4239
|
+
key="key",
|
|
4240
|
+
value="value"
|
|
4241
|
+
)
|
|
4242
|
+
'''
|
|
4243
|
+
if __debug__:
|
|
4244
|
+
type_hints = typing.get_type_hints(_typecheckingstub__3ce382a730a7d946b88f0a9bbc8ee839e8cc4048403520f61f9601274312c198)
|
|
4245
|
+
check_type(argname="argument comparison", value=comparison, expected_type=type_hints["comparison"])
|
|
4246
|
+
check_type(argname="argument key", value=key, expected_type=type_hints["key"])
|
|
4247
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
4248
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
4249
|
+
"comparison": comparison,
|
|
4250
|
+
"key": key,
|
|
4251
|
+
"value": value,
|
|
4252
|
+
}
|
|
4253
|
+
|
|
4254
|
+
@builtins.property
|
|
4255
|
+
def comparison(self) -> builtins.str:
|
|
4256
|
+
'''The condition to apply to the key value when filtering Security Hub findings with a map filter.
|
|
4257
|
+
|
|
4258
|
+
To search for values that have the filter value, use one of the following comparison operators:
|
|
4259
|
+
|
|
4260
|
+
- To search for values that include the filter value, use ``CONTAINS`` . For example, for the ``ResourceTags`` field, the filter ``Department CONTAINS Security`` matches findings that include the value ``Security`` for the ``Department`` tag. In the same example, a finding with a value of ``Security team`` for the ``Department`` tag is a match.
|
|
4261
|
+
- To search for values that exactly match the filter value, use ``EQUALS`` . For example, for the ``ResourceTags`` field, the filter ``Department EQUALS Security`` matches findings that have the value ``Security`` for the ``Department`` tag.
|
|
4262
|
+
|
|
4263
|
+
``CONTAINS`` and ``EQUALS`` filters on the same field are joined by ``OR`` . A finding matches if it matches any one of those filters. For example, the filters ``Department CONTAINS Security OR Department CONTAINS Finance`` match a finding that includes either ``Security`` , ``Finance`` , or both values.
|
|
4264
|
+
|
|
4265
|
+
To search for values that don't have the filter value, use one of the following comparison operators:
|
|
4266
|
+
|
|
4267
|
+
- To search for values that exclude the filter value, use ``NOT_CONTAINS`` . For example, for the ``ResourceTags`` field, the filter ``Department NOT_CONTAINS Finance`` matches findings that exclude the value ``Finance`` for the ``Department`` tag.
|
|
4268
|
+
- To search for values other than the filter value, use ``NOT_EQUALS`` . For example, for the ``ResourceTags`` field, the filter ``Department NOT_EQUALS Finance`` matches findings that don’t have the value ``Finance`` for the ``Department`` tag.
|
|
4269
|
+
|
|
4270
|
+
``NOT_CONTAINS`` and ``NOT_EQUALS`` filters on the same field are joined by ``AND`` . A finding matches only if it matches all of those filters. For example, the filters ``Department NOT_CONTAINS Security AND Department NOT_CONTAINS Finance`` match a finding that excludes both the ``Security`` and ``Finance`` values.
|
|
4271
|
+
|
|
4272
|
+
``CONTAINS`` filters can only be used with other ``CONTAINS`` filters. ``NOT_CONTAINS`` filters can only be used with other ``NOT_CONTAINS`` filters.
|
|
4273
|
+
|
|
4274
|
+
You can’t have both a ``CONTAINS`` filter and a ``NOT_CONTAINS`` filter on the same field. Similarly, you can’t have both an ``EQUALS`` filter and a ``NOT_EQUALS`` filter on the same field. Combining filters in this way returns an error.
|
|
4275
|
+
|
|
4276
|
+
``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *AWS Security Hub User Guide* .
|
|
4277
|
+
|
|
4278
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-mapfilter.html#cfn-securityhub-automationrulev2-mapfilter-comparison
|
|
4279
|
+
'''
|
|
4280
|
+
result = self._values.get("comparison")
|
|
4281
|
+
assert result is not None, "Required property 'comparison' is missing"
|
|
4282
|
+
return typing.cast(builtins.str, result)
|
|
4283
|
+
|
|
4284
|
+
@builtins.property
|
|
4285
|
+
def key(self) -> builtins.str:
|
|
4286
|
+
'''The key of the map filter.
|
|
4287
|
+
|
|
4288
|
+
For example, for ``ResourceTags`` , ``Key`` identifies the name of the tag. For ``UserDefinedFields`` , ``Key`` is the name of the field.
|
|
4289
|
+
|
|
4290
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-mapfilter.html#cfn-securityhub-automationrulev2-mapfilter-key
|
|
4291
|
+
'''
|
|
4292
|
+
result = self._values.get("key")
|
|
4293
|
+
assert result is not None, "Required property 'key' is missing"
|
|
4294
|
+
return typing.cast(builtins.str, result)
|
|
4295
|
+
|
|
4296
|
+
@builtins.property
|
|
4297
|
+
def value(self) -> builtins.str:
|
|
4298
|
+
'''The value for the key in the map filter.
|
|
4299
|
+
|
|
4300
|
+
Filter values are case sensitive. For example, one of the values for a tag called ``Department`` might be ``Security`` . If you provide ``security`` as the filter value, then there's no match.
|
|
4301
|
+
|
|
4302
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-mapfilter.html#cfn-securityhub-automationrulev2-mapfilter-value
|
|
4303
|
+
'''
|
|
4304
|
+
result = self._values.get("value")
|
|
4305
|
+
assert result is not None, "Required property 'value' is missing"
|
|
4306
|
+
return typing.cast(builtins.str, result)
|
|
4307
|
+
|
|
4308
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4309
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
4310
|
+
|
|
4311
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
4312
|
+
return not (rhs == self)
|
|
4313
|
+
|
|
4314
|
+
def __repr__(self) -> str:
|
|
4315
|
+
return "MapFilterProperty(%s)" % ", ".join(
|
|
4316
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
4317
|
+
)
|
|
4318
|
+
|
|
4319
|
+
@jsii.data_type(
|
|
4320
|
+
jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.NumberFilterProperty",
|
|
4321
|
+
jsii_struct_bases=[],
|
|
4322
|
+
name_mapping={"eq": "eq", "gte": "gte", "lte": "lte"},
|
|
4323
|
+
)
|
|
4324
|
+
class NumberFilterProperty:
|
|
4325
|
+
def __init__(
|
|
4326
|
+
self,
|
|
4327
|
+
*,
|
|
4328
|
+
eq: typing.Optional[jsii.Number] = None,
|
|
4329
|
+
gte: typing.Optional[jsii.Number] = None,
|
|
4330
|
+
lte: typing.Optional[jsii.Number] = None,
|
|
4331
|
+
) -> None:
|
|
4332
|
+
'''A number filter for querying findings.
|
|
4333
|
+
|
|
4334
|
+
:param eq: The equal-to condition to be applied to a single field when querying for findings.
|
|
4335
|
+
:param gte: The greater-than-equal condition to be applied to a single field when querying for findings.
|
|
4336
|
+
:param lte: The less-than-equal condition to be applied to a single field when querying for findings.
|
|
4337
|
+
|
|
4338
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-numberfilter.html
|
|
4339
|
+
:exampleMetadata: fixture=_generated
|
|
4340
|
+
|
|
4341
|
+
Example::
|
|
4342
|
+
|
|
4343
|
+
# The code below shows an example of how to instantiate this type.
|
|
4344
|
+
# The values are placeholders you should change.
|
|
4345
|
+
from aws_cdk import aws_securityhub as securityhub
|
|
4346
|
+
|
|
4347
|
+
number_filter_property = securityhub.CfnAutomationRuleV2.NumberFilterProperty(
|
|
4348
|
+
eq=123,
|
|
4349
|
+
gte=123,
|
|
4350
|
+
lte=123
|
|
4351
|
+
)
|
|
4352
|
+
'''
|
|
4353
|
+
if __debug__:
|
|
4354
|
+
type_hints = typing.get_type_hints(_typecheckingstub__647dc97c620209dca2753ac34dae13a3a6afc9916dad52290296e2565ad48048)
|
|
4355
|
+
check_type(argname="argument eq", value=eq, expected_type=type_hints["eq"])
|
|
4356
|
+
check_type(argname="argument gte", value=gte, expected_type=type_hints["gte"])
|
|
4357
|
+
check_type(argname="argument lte", value=lte, expected_type=type_hints["lte"])
|
|
4358
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
4359
|
+
if eq is not None:
|
|
4360
|
+
self._values["eq"] = eq
|
|
4361
|
+
if gte is not None:
|
|
4362
|
+
self._values["gte"] = gte
|
|
4363
|
+
if lte is not None:
|
|
4364
|
+
self._values["lte"] = lte
|
|
4365
|
+
|
|
4366
|
+
@builtins.property
|
|
4367
|
+
def eq(self) -> typing.Optional[jsii.Number]:
|
|
4368
|
+
'''The equal-to condition to be applied to a single field when querying for findings.
|
|
4369
|
+
|
|
4370
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-numberfilter.html#cfn-securityhub-automationrulev2-numberfilter-eq
|
|
4371
|
+
'''
|
|
4372
|
+
result = self._values.get("eq")
|
|
4373
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
4374
|
+
|
|
4375
|
+
@builtins.property
|
|
4376
|
+
def gte(self) -> typing.Optional[jsii.Number]:
|
|
4377
|
+
'''The greater-than-equal condition to be applied to a single field when querying for findings.
|
|
4378
|
+
|
|
4379
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-numberfilter.html#cfn-securityhub-automationrulev2-numberfilter-gte
|
|
4380
|
+
'''
|
|
4381
|
+
result = self._values.get("gte")
|
|
4382
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
4383
|
+
|
|
4384
|
+
@builtins.property
|
|
4385
|
+
def lte(self) -> typing.Optional[jsii.Number]:
|
|
4386
|
+
'''The less-than-equal condition to be applied to a single field when querying for findings.
|
|
4387
|
+
|
|
4388
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-numberfilter.html#cfn-securityhub-automationrulev2-numberfilter-lte
|
|
4389
|
+
'''
|
|
4390
|
+
result = self._values.get("lte")
|
|
4391
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
4392
|
+
|
|
4393
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4394
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
4395
|
+
|
|
4396
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
4397
|
+
return not (rhs == self)
|
|
4398
|
+
|
|
4399
|
+
def __repr__(self) -> str:
|
|
4400
|
+
return "NumberFilterProperty(%s)" % ", ".join(
|
|
4401
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
4402
|
+
)
|
|
4403
|
+
|
|
4404
|
+
@jsii.data_type(
|
|
4405
|
+
jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.OcsfBooleanFilterProperty",
|
|
4406
|
+
jsii_struct_bases=[],
|
|
4407
|
+
name_mapping={"field_name": "fieldName", "filter": "filter"},
|
|
4408
|
+
)
|
|
4409
|
+
class OcsfBooleanFilterProperty:
|
|
4410
|
+
def __init__(
|
|
4411
|
+
self,
|
|
4412
|
+
*,
|
|
4413
|
+
field_name: builtins.str,
|
|
4414
|
+
filter: typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.BooleanFilterProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
4415
|
+
) -> None:
|
|
4416
|
+
'''Enables filtering of security findings based on boolean field values in OCSF.
|
|
4417
|
+
|
|
4418
|
+
:param field_name: The name of the field.
|
|
4419
|
+
:param filter: Enables filtering of security findings based on boolean field values in OCSF.
|
|
4420
|
+
|
|
4421
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfbooleanfilter.html
|
|
4422
|
+
:exampleMetadata: fixture=_generated
|
|
4423
|
+
|
|
4424
|
+
Example::
|
|
4425
|
+
|
|
4426
|
+
# The code below shows an example of how to instantiate this type.
|
|
4427
|
+
# The values are placeholders you should change.
|
|
4428
|
+
from aws_cdk import aws_securityhub as securityhub
|
|
4429
|
+
|
|
4430
|
+
ocsf_boolean_filter_property = securityhub.CfnAutomationRuleV2.OcsfBooleanFilterProperty(
|
|
4431
|
+
field_name="fieldName",
|
|
4432
|
+
filter=securityhub.CfnAutomationRuleV2.BooleanFilterProperty(
|
|
4433
|
+
value=False
|
|
4434
|
+
)
|
|
4435
|
+
)
|
|
4436
|
+
'''
|
|
4437
|
+
if __debug__:
|
|
4438
|
+
type_hints = typing.get_type_hints(_typecheckingstub__a42eba30c4eef0c19b5165ead711c40b18983e8c78c7eaafba9deb680ec94bfd)
|
|
4439
|
+
check_type(argname="argument field_name", value=field_name, expected_type=type_hints["field_name"])
|
|
4440
|
+
check_type(argname="argument filter", value=filter, expected_type=type_hints["filter"])
|
|
4441
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
4442
|
+
"field_name": field_name,
|
|
4443
|
+
"filter": filter,
|
|
4444
|
+
}
|
|
4445
|
+
|
|
4446
|
+
@builtins.property
|
|
4447
|
+
def field_name(self) -> builtins.str:
|
|
4448
|
+
'''The name of the field.
|
|
4449
|
+
|
|
4450
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfbooleanfilter.html#cfn-securityhub-automationrulev2-ocsfbooleanfilter-fieldname
|
|
4451
|
+
'''
|
|
4452
|
+
result = self._values.get("field_name")
|
|
4453
|
+
assert result is not None, "Required property 'field_name' is missing"
|
|
4454
|
+
return typing.cast(builtins.str, result)
|
|
4455
|
+
|
|
4456
|
+
@builtins.property
|
|
4457
|
+
def filter(
|
|
4458
|
+
self,
|
|
4459
|
+
) -> typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.BooleanFilterProperty"]:
|
|
4460
|
+
'''Enables filtering of security findings based on boolean field values in OCSF.
|
|
4461
|
+
|
|
4462
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfbooleanfilter.html#cfn-securityhub-automationrulev2-ocsfbooleanfilter-filter
|
|
4463
|
+
'''
|
|
4464
|
+
result = self._values.get("filter")
|
|
4465
|
+
assert result is not None, "Required property 'filter' is missing"
|
|
4466
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.BooleanFilterProperty"], result)
|
|
4467
|
+
|
|
4468
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4469
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
4470
|
+
|
|
4471
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
4472
|
+
return not (rhs == self)
|
|
4473
|
+
|
|
4474
|
+
def __repr__(self) -> str:
|
|
4475
|
+
return "OcsfBooleanFilterProperty(%s)" % ", ".join(
|
|
4476
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
4477
|
+
)
|
|
4478
|
+
|
|
4479
|
+
@jsii.data_type(
|
|
4480
|
+
jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.OcsfDateFilterProperty",
|
|
4481
|
+
jsii_struct_bases=[],
|
|
4482
|
+
name_mapping={"field_name": "fieldName", "filter": "filter"},
|
|
4483
|
+
)
|
|
4484
|
+
class OcsfDateFilterProperty:
|
|
4485
|
+
def __init__(
|
|
4486
|
+
self,
|
|
4487
|
+
*,
|
|
4488
|
+
field_name: builtins.str,
|
|
4489
|
+
filter: typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.DateFilterProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
4490
|
+
) -> None:
|
|
4491
|
+
'''Enables filtering of security findings based on date and timestamp fields in OCSF.
|
|
4492
|
+
|
|
4493
|
+
:param field_name: The name of the field.
|
|
4494
|
+
:param filter: Enables filtering of security findings based on date and timestamp fields in OCSF.
|
|
4495
|
+
|
|
4496
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfdatefilter.html
|
|
4497
|
+
:exampleMetadata: fixture=_generated
|
|
4498
|
+
|
|
4499
|
+
Example::
|
|
4500
|
+
|
|
4501
|
+
# The code below shows an example of how to instantiate this type.
|
|
4502
|
+
# The values are placeholders you should change.
|
|
4503
|
+
from aws_cdk import aws_securityhub as securityhub
|
|
4504
|
+
|
|
4505
|
+
ocsf_date_filter_property = securityhub.CfnAutomationRuleV2.OcsfDateFilterProperty(
|
|
4506
|
+
field_name="fieldName",
|
|
4507
|
+
filter=securityhub.CfnAutomationRuleV2.DateFilterProperty(
|
|
4508
|
+
date_range=securityhub.CfnAutomationRuleV2.DateRangeProperty(
|
|
4509
|
+
unit="unit",
|
|
4510
|
+
value=123
|
|
4511
|
+
),
|
|
4512
|
+
end="end",
|
|
4513
|
+
start="start"
|
|
4514
|
+
)
|
|
4515
|
+
)
|
|
4516
|
+
'''
|
|
4517
|
+
if __debug__:
|
|
4518
|
+
type_hints = typing.get_type_hints(_typecheckingstub__0835da7838d6730412395869f245eb4865e7ae2b63a637022d4a3475231c342f)
|
|
4519
|
+
check_type(argname="argument field_name", value=field_name, expected_type=type_hints["field_name"])
|
|
4520
|
+
check_type(argname="argument filter", value=filter, expected_type=type_hints["filter"])
|
|
4521
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
4522
|
+
"field_name": field_name,
|
|
4523
|
+
"filter": filter,
|
|
4524
|
+
}
|
|
4525
|
+
|
|
4526
|
+
@builtins.property
|
|
4527
|
+
def field_name(self) -> builtins.str:
|
|
4528
|
+
'''The name of the field.
|
|
4529
|
+
|
|
4530
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfdatefilter.html#cfn-securityhub-automationrulev2-ocsfdatefilter-fieldname
|
|
4531
|
+
'''
|
|
4532
|
+
result = self._values.get("field_name")
|
|
4533
|
+
assert result is not None, "Required property 'field_name' is missing"
|
|
4534
|
+
return typing.cast(builtins.str, result)
|
|
4535
|
+
|
|
4536
|
+
@builtins.property
|
|
4537
|
+
def filter(
|
|
4538
|
+
self,
|
|
4539
|
+
) -> typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.DateFilterProperty"]:
|
|
4540
|
+
'''Enables filtering of security findings based on date and timestamp fields in OCSF.
|
|
4541
|
+
|
|
4542
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfdatefilter.html#cfn-securityhub-automationrulev2-ocsfdatefilter-filter
|
|
4543
|
+
'''
|
|
4544
|
+
result = self._values.get("filter")
|
|
4545
|
+
assert result is not None, "Required property 'filter' is missing"
|
|
4546
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.DateFilterProperty"], result)
|
|
4547
|
+
|
|
4548
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4549
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
4550
|
+
|
|
4551
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
4552
|
+
return not (rhs == self)
|
|
4553
|
+
|
|
4554
|
+
def __repr__(self) -> str:
|
|
4555
|
+
return "OcsfDateFilterProperty(%s)" % ", ".join(
|
|
4556
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
4557
|
+
)
|
|
4558
|
+
|
|
4559
|
+
@jsii.data_type(
|
|
4560
|
+
jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.OcsfFindingFiltersProperty",
|
|
4561
|
+
jsii_struct_bases=[],
|
|
4562
|
+
name_mapping={
|
|
4563
|
+
"composite_filters": "compositeFilters",
|
|
4564
|
+
"composite_operator": "compositeOperator",
|
|
4565
|
+
},
|
|
4566
|
+
)
|
|
4567
|
+
class OcsfFindingFiltersProperty:
|
|
4568
|
+
def __init__(
|
|
4569
|
+
self,
|
|
4570
|
+
*,
|
|
4571
|
+
composite_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.CompositeFilterProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
4572
|
+
composite_operator: typing.Optional[builtins.str] = None,
|
|
4573
|
+
) -> None:
|
|
4574
|
+
'''Specifies the filtering criteria for security findings using OCSF.
|
|
4575
|
+
|
|
4576
|
+
:param composite_filters: Enables the creation of complex filtering conditions by combining filter criteria.
|
|
4577
|
+
:param composite_operator: The logical operators used to combine the filtering on multiple ``CompositeFilters`` .
|
|
4578
|
+
|
|
4579
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsffindingfilters.html
|
|
4580
|
+
:exampleMetadata: fixture=_generated
|
|
4581
|
+
|
|
4582
|
+
Example::
|
|
4583
|
+
|
|
4584
|
+
# The code below shows an example of how to instantiate this type.
|
|
4585
|
+
# The values are placeholders you should change.
|
|
4586
|
+
from aws_cdk import aws_securityhub as securityhub
|
|
4587
|
+
|
|
4588
|
+
ocsf_finding_filters_property = securityhub.CfnAutomationRuleV2.OcsfFindingFiltersProperty(
|
|
4589
|
+
composite_filters=[securityhub.CfnAutomationRuleV2.CompositeFilterProperty(
|
|
4590
|
+
boolean_filters=[securityhub.CfnAutomationRuleV2.OcsfBooleanFilterProperty(
|
|
4591
|
+
field_name="fieldName",
|
|
4592
|
+
filter=securityhub.CfnAutomationRuleV2.BooleanFilterProperty(
|
|
4593
|
+
value=False
|
|
4594
|
+
)
|
|
4595
|
+
)],
|
|
4596
|
+
date_filters=[securityhub.CfnAutomationRuleV2.OcsfDateFilterProperty(
|
|
4597
|
+
field_name="fieldName",
|
|
4598
|
+
filter=securityhub.CfnAutomationRuleV2.DateFilterProperty(
|
|
4599
|
+
date_range=securityhub.CfnAutomationRuleV2.DateRangeProperty(
|
|
4600
|
+
unit="unit",
|
|
4601
|
+
value=123
|
|
4602
|
+
),
|
|
4603
|
+
end="end",
|
|
4604
|
+
start="start"
|
|
4605
|
+
)
|
|
4606
|
+
)],
|
|
4607
|
+
map_filters=[securityhub.CfnAutomationRuleV2.OcsfMapFilterProperty(
|
|
4608
|
+
field_name="fieldName",
|
|
4609
|
+
filter=securityhub.CfnAutomationRuleV2.MapFilterProperty(
|
|
4610
|
+
comparison="comparison",
|
|
4611
|
+
key="key",
|
|
4612
|
+
value="value"
|
|
4613
|
+
)
|
|
4614
|
+
)],
|
|
4615
|
+
number_filters=[securityhub.CfnAutomationRuleV2.OcsfNumberFilterProperty(
|
|
4616
|
+
field_name="fieldName",
|
|
4617
|
+
filter=securityhub.CfnAutomationRuleV2.NumberFilterProperty(
|
|
4618
|
+
eq=123,
|
|
4619
|
+
gte=123,
|
|
4620
|
+
lte=123
|
|
4621
|
+
)
|
|
4622
|
+
)],
|
|
4623
|
+
operator="operator",
|
|
4624
|
+
string_filters=[securityhub.CfnAutomationRuleV2.OcsfStringFilterProperty(
|
|
4625
|
+
field_name="fieldName",
|
|
4626
|
+
filter=securityhub.CfnAutomationRuleV2.StringFilterProperty(
|
|
4627
|
+
comparison="comparison",
|
|
4628
|
+
value="value"
|
|
4629
|
+
)
|
|
4630
|
+
)]
|
|
4631
|
+
)],
|
|
4632
|
+
composite_operator="compositeOperator"
|
|
4633
|
+
)
|
|
4634
|
+
'''
|
|
4635
|
+
if __debug__:
|
|
4636
|
+
type_hints = typing.get_type_hints(_typecheckingstub__67b27a03af9c079f8cc42cdfa5f8df4adc151b555e1080317dfc2e8c5873519c)
|
|
4637
|
+
check_type(argname="argument composite_filters", value=composite_filters, expected_type=type_hints["composite_filters"])
|
|
4638
|
+
check_type(argname="argument composite_operator", value=composite_operator, expected_type=type_hints["composite_operator"])
|
|
4639
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
4640
|
+
if composite_filters is not None:
|
|
4641
|
+
self._values["composite_filters"] = composite_filters
|
|
4642
|
+
if composite_operator is not None:
|
|
4643
|
+
self._values["composite_operator"] = composite_operator
|
|
4644
|
+
|
|
4645
|
+
@builtins.property
|
|
4646
|
+
def composite_filters(
|
|
4647
|
+
self,
|
|
4648
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.CompositeFilterProperty"]]]]:
|
|
4649
|
+
'''Enables the creation of complex filtering conditions by combining filter criteria.
|
|
4650
|
+
|
|
4651
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsffindingfilters.html#cfn-securityhub-automationrulev2-ocsffindingfilters-compositefilters
|
|
4652
|
+
'''
|
|
4653
|
+
result = self._values.get("composite_filters")
|
|
4654
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.CompositeFilterProperty"]]]], result)
|
|
4655
|
+
|
|
4656
|
+
@builtins.property
|
|
4657
|
+
def composite_operator(self) -> typing.Optional[builtins.str]:
|
|
4658
|
+
'''The logical operators used to combine the filtering on multiple ``CompositeFilters`` .
|
|
4659
|
+
|
|
4660
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsffindingfilters.html#cfn-securityhub-automationrulev2-ocsffindingfilters-compositeoperator
|
|
4661
|
+
'''
|
|
4662
|
+
result = self._values.get("composite_operator")
|
|
4663
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
4664
|
+
|
|
4665
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4666
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
4667
|
+
|
|
4668
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
4669
|
+
return not (rhs == self)
|
|
4670
|
+
|
|
4671
|
+
def __repr__(self) -> str:
|
|
4672
|
+
return "OcsfFindingFiltersProperty(%s)" % ", ".join(
|
|
4673
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
4674
|
+
)
|
|
4675
|
+
|
|
4676
|
+
@jsii.data_type(
|
|
4677
|
+
jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.OcsfMapFilterProperty",
|
|
4678
|
+
jsii_struct_bases=[],
|
|
4679
|
+
name_mapping={"field_name": "fieldName", "filter": "filter"},
|
|
4680
|
+
)
|
|
4681
|
+
class OcsfMapFilterProperty:
|
|
4682
|
+
def __init__(
|
|
4683
|
+
self,
|
|
4684
|
+
*,
|
|
4685
|
+
field_name: builtins.str,
|
|
4686
|
+
filter: typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.MapFilterProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
4687
|
+
) -> None:
|
|
4688
|
+
'''Enables filtering of security findings based on map field values in OCSF.
|
|
4689
|
+
|
|
4690
|
+
:param field_name: The name of the field.
|
|
4691
|
+
:param filter: Enables filtering of security findings based on map field values in OCSF.
|
|
4692
|
+
|
|
4693
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfmapfilter.html
|
|
4694
|
+
:exampleMetadata: fixture=_generated
|
|
4695
|
+
|
|
4696
|
+
Example::
|
|
4697
|
+
|
|
4698
|
+
# The code below shows an example of how to instantiate this type.
|
|
4699
|
+
# The values are placeholders you should change.
|
|
4700
|
+
from aws_cdk import aws_securityhub as securityhub
|
|
4701
|
+
|
|
4702
|
+
ocsf_map_filter_property = securityhub.CfnAutomationRuleV2.OcsfMapFilterProperty(
|
|
4703
|
+
field_name="fieldName",
|
|
4704
|
+
filter=securityhub.CfnAutomationRuleV2.MapFilterProperty(
|
|
4705
|
+
comparison="comparison",
|
|
4706
|
+
key="key",
|
|
4707
|
+
value="value"
|
|
4708
|
+
)
|
|
4709
|
+
)
|
|
4710
|
+
'''
|
|
4711
|
+
if __debug__:
|
|
4712
|
+
type_hints = typing.get_type_hints(_typecheckingstub__b733ec921abf18e15f42cbdb443df518e81d6c48b4cf4b2397f4812a20240777)
|
|
4713
|
+
check_type(argname="argument field_name", value=field_name, expected_type=type_hints["field_name"])
|
|
4714
|
+
check_type(argname="argument filter", value=filter, expected_type=type_hints["filter"])
|
|
4715
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
4716
|
+
"field_name": field_name,
|
|
4717
|
+
"filter": filter,
|
|
4718
|
+
}
|
|
4719
|
+
|
|
4720
|
+
@builtins.property
|
|
4721
|
+
def field_name(self) -> builtins.str:
|
|
4722
|
+
'''The name of the field.
|
|
4723
|
+
|
|
4724
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfmapfilter.html#cfn-securityhub-automationrulev2-ocsfmapfilter-fieldname
|
|
4725
|
+
'''
|
|
4726
|
+
result = self._values.get("field_name")
|
|
4727
|
+
assert result is not None, "Required property 'field_name' is missing"
|
|
4728
|
+
return typing.cast(builtins.str, result)
|
|
4729
|
+
|
|
4730
|
+
@builtins.property
|
|
4731
|
+
def filter(
|
|
4732
|
+
self,
|
|
4733
|
+
) -> typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.MapFilterProperty"]:
|
|
4734
|
+
'''Enables filtering of security findings based on map field values in OCSF.
|
|
4735
|
+
|
|
4736
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfmapfilter.html#cfn-securityhub-automationrulev2-ocsfmapfilter-filter
|
|
4737
|
+
'''
|
|
4738
|
+
result = self._values.get("filter")
|
|
4739
|
+
assert result is not None, "Required property 'filter' is missing"
|
|
4740
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.MapFilterProperty"], result)
|
|
4741
|
+
|
|
4742
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4743
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
4744
|
+
|
|
4745
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
4746
|
+
return not (rhs == self)
|
|
4747
|
+
|
|
4748
|
+
def __repr__(self) -> str:
|
|
4749
|
+
return "OcsfMapFilterProperty(%s)" % ", ".join(
|
|
4750
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
4751
|
+
)
|
|
4752
|
+
|
|
4753
|
+
@jsii.data_type(
|
|
4754
|
+
jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.OcsfNumberFilterProperty",
|
|
4755
|
+
jsii_struct_bases=[],
|
|
4756
|
+
name_mapping={"field_name": "fieldName", "filter": "filter"},
|
|
4757
|
+
)
|
|
4758
|
+
class OcsfNumberFilterProperty:
|
|
4759
|
+
def __init__(
|
|
4760
|
+
self,
|
|
4761
|
+
*,
|
|
4762
|
+
field_name: builtins.str,
|
|
4763
|
+
filter: typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.NumberFilterProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
4764
|
+
) -> None:
|
|
4765
|
+
'''Enables filtering of security findings based on numerical field values in OCSF.
|
|
4766
|
+
|
|
4767
|
+
:param field_name: The name of the field.
|
|
4768
|
+
:param filter: Enables filtering of security findings based on numerical field values in OCSF.
|
|
4769
|
+
|
|
4770
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfnumberfilter.html
|
|
4771
|
+
:exampleMetadata: fixture=_generated
|
|
4772
|
+
|
|
4773
|
+
Example::
|
|
4774
|
+
|
|
4775
|
+
# The code below shows an example of how to instantiate this type.
|
|
4776
|
+
# The values are placeholders you should change.
|
|
4777
|
+
from aws_cdk import aws_securityhub as securityhub
|
|
4778
|
+
|
|
4779
|
+
ocsf_number_filter_property = securityhub.CfnAutomationRuleV2.OcsfNumberFilterProperty(
|
|
4780
|
+
field_name="fieldName",
|
|
4781
|
+
filter=securityhub.CfnAutomationRuleV2.NumberFilterProperty(
|
|
4782
|
+
eq=123,
|
|
4783
|
+
gte=123,
|
|
4784
|
+
lte=123
|
|
4785
|
+
)
|
|
4786
|
+
)
|
|
4787
|
+
'''
|
|
4788
|
+
if __debug__:
|
|
4789
|
+
type_hints = typing.get_type_hints(_typecheckingstub__96733fb6348f5b5cd478197a8fee3f33665015a9b17eb4ce28d9ca28862964c7)
|
|
4790
|
+
check_type(argname="argument field_name", value=field_name, expected_type=type_hints["field_name"])
|
|
4791
|
+
check_type(argname="argument filter", value=filter, expected_type=type_hints["filter"])
|
|
4792
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
4793
|
+
"field_name": field_name,
|
|
4794
|
+
"filter": filter,
|
|
4795
|
+
}
|
|
4796
|
+
|
|
4797
|
+
@builtins.property
|
|
4798
|
+
def field_name(self) -> builtins.str:
|
|
4799
|
+
'''The name of the field.
|
|
4800
|
+
|
|
4801
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfnumberfilter.html#cfn-securityhub-automationrulev2-ocsfnumberfilter-fieldname
|
|
4802
|
+
'''
|
|
4803
|
+
result = self._values.get("field_name")
|
|
4804
|
+
assert result is not None, "Required property 'field_name' is missing"
|
|
4805
|
+
return typing.cast(builtins.str, result)
|
|
4806
|
+
|
|
4807
|
+
@builtins.property
|
|
4808
|
+
def filter(
|
|
4809
|
+
self,
|
|
4810
|
+
) -> typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.NumberFilterProperty"]:
|
|
4811
|
+
'''Enables filtering of security findings based on numerical field values in OCSF.
|
|
4812
|
+
|
|
4813
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfnumberfilter.html#cfn-securityhub-automationrulev2-ocsfnumberfilter-filter
|
|
4814
|
+
'''
|
|
4815
|
+
result = self._values.get("filter")
|
|
4816
|
+
assert result is not None, "Required property 'filter' is missing"
|
|
4817
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.NumberFilterProperty"], result)
|
|
4818
|
+
|
|
4819
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4820
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
4821
|
+
|
|
4822
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
4823
|
+
return not (rhs == self)
|
|
4824
|
+
|
|
4825
|
+
def __repr__(self) -> str:
|
|
4826
|
+
return "OcsfNumberFilterProperty(%s)" % ", ".join(
|
|
4827
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
4828
|
+
)
|
|
4829
|
+
|
|
4830
|
+
@jsii.data_type(
|
|
4831
|
+
jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.OcsfStringFilterProperty",
|
|
4832
|
+
jsii_struct_bases=[],
|
|
4833
|
+
name_mapping={"field_name": "fieldName", "filter": "filter"},
|
|
4834
|
+
)
|
|
4835
|
+
class OcsfStringFilterProperty:
|
|
4836
|
+
def __init__(
|
|
4837
|
+
self,
|
|
4838
|
+
*,
|
|
4839
|
+
field_name: builtins.str,
|
|
4840
|
+
filter: typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.StringFilterProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
4841
|
+
) -> None:
|
|
4842
|
+
'''Enables filtering of security findings based on string field values in OCSF.
|
|
4843
|
+
|
|
4844
|
+
:param field_name: The name of the field.
|
|
4845
|
+
:param filter: Enables filtering of security findings based on string field values in OCSF.
|
|
4846
|
+
|
|
4847
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfstringfilter.html
|
|
4848
|
+
:exampleMetadata: fixture=_generated
|
|
4849
|
+
|
|
4850
|
+
Example::
|
|
4851
|
+
|
|
4852
|
+
# The code below shows an example of how to instantiate this type.
|
|
4853
|
+
# The values are placeholders you should change.
|
|
4854
|
+
from aws_cdk import aws_securityhub as securityhub
|
|
4855
|
+
|
|
4856
|
+
ocsf_string_filter_property = securityhub.CfnAutomationRuleV2.OcsfStringFilterProperty(
|
|
4857
|
+
field_name="fieldName",
|
|
4858
|
+
filter=securityhub.CfnAutomationRuleV2.StringFilterProperty(
|
|
4859
|
+
comparison="comparison",
|
|
4860
|
+
value="value"
|
|
4861
|
+
)
|
|
4862
|
+
)
|
|
4863
|
+
'''
|
|
4864
|
+
if __debug__:
|
|
4865
|
+
type_hints = typing.get_type_hints(_typecheckingstub__664006d14466473dd08a13af9d06be4f13672817d578a3e7b6c2e476b7e219f0)
|
|
4866
|
+
check_type(argname="argument field_name", value=field_name, expected_type=type_hints["field_name"])
|
|
4867
|
+
check_type(argname="argument filter", value=filter, expected_type=type_hints["filter"])
|
|
4868
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
4869
|
+
"field_name": field_name,
|
|
4870
|
+
"filter": filter,
|
|
4871
|
+
}
|
|
4872
|
+
|
|
4873
|
+
@builtins.property
|
|
4874
|
+
def field_name(self) -> builtins.str:
|
|
4875
|
+
'''The name of the field.
|
|
4876
|
+
|
|
4877
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfstringfilter.html#cfn-securityhub-automationrulev2-ocsfstringfilter-fieldname
|
|
4878
|
+
'''
|
|
4879
|
+
result = self._values.get("field_name")
|
|
4880
|
+
assert result is not None, "Required property 'field_name' is missing"
|
|
4881
|
+
return typing.cast(builtins.str, result)
|
|
4882
|
+
|
|
4883
|
+
@builtins.property
|
|
4884
|
+
def filter(
|
|
4885
|
+
self,
|
|
4886
|
+
) -> typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.StringFilterProperty"]:
|
|
4887
|
+
'''Enables filtering of security findings based on string field values in OCSF.
|
|
4888
|
+
|
|
4889
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfstringfilter.html#cfn-securityhub-automationrulev2-ocsfstringfilter-filter
|
|
4890
|
+
'''
|
|
4891
|
+
result = self._values.get("filter")
|
|
4892
|
+
assert result is not None, "Required property 'filter' is missing"
|
|
4893
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.StringFilterProperty"], result)
|
|
4894
|
+
|
|
4895
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4896
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
4897
|
+
|
|
4898
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
4899
|
+
return not (rhs == self)
|
|
4900
|
+
|
|
4901
|
+
def __repr__(self) -> str:
|
|
4902
|
+
return "OcsfStringFilterProperty(%s)" % ", ".join(
|
|
4903
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
4904
|
+
)
|
|
4905
|
+
|
|
4906
|
+
@jsii.data_type(
|
|
4907
|
+
jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.StringFilterProperty",
|
|
4908
|
+
jsii_struct_bases=[],
|
|
4909
|
+
name_mapping={"comparison": "comparison", "value": "value"},
|
|
4910
|
+
)
|
|
4911
|
+
class StringFilterProperty:
|
|
4912
|
+
def __init__(self, *, comparison: builtins.str, value: builtins.str) -> None:
|
|
4913
|
+
'''A string filter for filtering AWS Security Hub findings.
|
|
4914
|
+
|
|
4915
|
+
:param comparison: The condition to apply to a string value when filtering Security Hub findings. To search for values that have the filter value, use one of the following comparison operators: - To search for values that include the filter value, use ``CONTAINS`` . For example, the filter ``Title CONTAINS CloudFront`` matches findings that have a ``Title`` that includes the string CloudFront. - To search for values that exactly match the filter value, use ``EQUALS`` . For example, the filter ``AwsAccountId EQUALS 123456789012`` only matches findings that have an account ID of ``123456789012`` . - To search for values that start with the filter value, use ``PREFIX`` . For example, the filter ``ResourceRegion PREFIX us`` matches findings that have a ``ResourceRegion`` that starts with ``us`` . A ``ResourceRegion`` that starts with a different value, such as ``af`` , ``ap`` , or ``ca`` , doesn't match. ``CONTAINS`` , ``EQUALS`` , and ``PREFIX`` filters on the same field are joined by ``OR`` . A finding matches if it matches any one of those filters. For example, the filters ``Title CONTAINS CloudFront OR Title CONTAINS CloudWatch`` match a finding that includes either ``CloudFront`` , ``CloudWatch`` , or both strings in the title. To search for values that don’t have the filter value, use one of the following comparison operators: - To search for values that exclude the filter value, use ``NOT_CONTAINS`` . For example, the filter ``Title NOT_CONTAINS CloudFront`` matches findings that have a ``Title`` that excludes the string CloudFront. - To search for values other than the filter value, use ``NOT_EQUALS`` . For example, the filter ``AwsAccountId NOT_EQUALS 123456789012`` only matches findings that have an account ID other than ``123456789012`` . - To search for values that don't start with the filter value, use ``PREFIX_NOT_EQUALS`` . For example, the filter ``ResourceRegion PREFIX_NOT_EQUALS us`` matches findings with a ``ResourceRegion`` that starts with a value other than ``us`` . ``NOT_CONTAINS`` , ``NOT_EQUALS`` , and ``PREFIX_NOT_EQUALS`` filters on the same field are joined by ``AND`` . A finding matches only if it matches all of those filters. For example, the filters ``Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch`` match a finding that excludes both ``CloudFront`` and ``CloudWatch`` in the title. You can’t have both a ``CONTAINS`` filter and a ``NOT_CONTAINS`` filter on the same field. Similarly, you can't provide both an ``EQUALS`` filter and a ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filter on the same field. Combining filters in this way returns an error. ``CONTAINS`` filters can only be used with other ``CONTAINS`` filters. ``NOT_CONTAINS`` filters can only be used with other ``NOT_CONTAINS`` filters. You can combine ``PREFIX`` filters with ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filters for the same field. Security Hub first processes the ``PREFIX`` filters, and then the ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filters. For example, for the following filters, Security Hub first identifies findings that have resource types that start with either ``AwsIam`` or ``AwsEc2`` . It then excludes findings that have a resource type of ``AwsIamPolicy`` and findings that have a resource type of ``AwsEc2NetworkInterface`` . - ``ResourceType PREFIX AwsIam`` - ``ResourceType PREFIX AwsEc2`` - ``ResourceType NOT_EQUALS AwsIamPolicy`` - ``ResourceType NOT_EQUALS AwsEc2NetworkInterface`` ``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules V1. ``CONTAINS_WORD`` operator is only supported in ``GetFindingsV2`` , ``GetFindingStatisticsV2`` , ``GetResourcesV2`` , and ``GetResourceStatisticsV2`` APIs. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *AWS Security Hub User Guide* .
|
|
4916
|
+
:param value: The string filter value. Filter values are case sensitive. For example, the product name for control-based findings is ``Security Hub`` . If you provide ``security hub`` as the filter value, there's no match.
|
|
4917
|
+
|
|
4918
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-stringfilter.html
|
|
4919
|
+
:exampleMetadata: fixture=_generated
|
|
4920
|
+
|
|
4921
|
+
Example::
|
|
4922
|
+
|
|
4923
|
+
# The code below shows an example of how to instantiate this type.
|
|
4924
|
+
# The values are placeholders you should change.
|
|
4925
|
+
from aws_cdk import aws_securityhub as securityhub
|
|
4926
|
+
|
|
4927
|
+
string_filter_property = securityhub.CfnAutomationRuleV2.StringFilterProperty(
|
|
4928
|
+
comparison="comparison",
|
|
4929
|
+
value="value"
|
|
4930
|
+
)
|
|
4931
|
+
'''
|
|
4932
|
+
if __debug__:
|
|
4933
|
+
type_hints = typing.get_type_hints(_typecheckingstub__5b950655292e8a1a447bc6fef9ec46917dffad72edcfb67f4bae7b7bdbd3100b)
|
|
4934
|
+
check_type(argname="argument comparison", value=comparison, expected_type=type_hints["comparison"])
|
|
4935
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
4936
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
4937
|
+
"comparison": comparison,
|
|
4938
|
+
"value": value,
|
|
4939
|
+
}
|
|
4940
|
+
|
|
4941
|
+
@builtins.property
|
|
4942
|
+
def comparison(self) -> builtins.str:
|
|
4943
|
+
'''The condition to apply to a string value when filtering Security Hub findings.
|
|
4944
|
+
|
|
4945
|
+
To search for values that have the filter value, use one of the following comparison operators:
|
|
4946
|
+
|
|
4947
|
+
- To search for values that include the filter value, use ``CONTAINS`` . For example, the filter ``Title CONTAINS CloudFront`` matches findings that have a ``Title`` that includes the string CloudFront.
|
|
4948
|
+
- To search for values that exactly match the filter value, use ``EQUALS`` . For example, the filter ``AwsAccountId EQUALS 123456789012`` only matches findings that have an account ID of ``123456789012`` .
|
|
4949
|
+
- To search for values that start with the filter value, use ``PREFIX`` . For example, the filter ``ResourceRegion PREFIX us`` matches findings that have a ``ResourceRegion`` that starts with ``us`` . A ``ResourceRegion`` that starts with a different value, such as ``af`` , ``ap`` , or ``ca`` , doesn't match.
|
|
4950
|
+
|
|
4951
|
+
``CONTAINS`` , ``EQUALS`` , and ``PREFIX`` filters on the same field are joined by ``OR`` . A finding matches if it matches any one of those filters. For example, the filters ``Title CONTAINS CloudFront OR Title CONTAINS CloudWatch`` match a finding that includes either ``CloudFront`` , ``CloudWatch`` , or both strings in the title.
|
|
4952
|
+
|
|
4953
|
+
To search for values that don’t have the filter value, use one of the following comparison operators:
|
|
4954
|
+
|
|
4955
|
+
- To search for values that exclude the filter value, use ``NOT_CONTAINS`` . For example, the filter ``Title NOT_CONTAINS CloudFront`` matches findings that have a ``Title`` that excludes the string CloudFront.
|
|
4956
|
+
- To search for values other than the filter value, use ``NOT_EQUALS`` . For example, the filter ``AwsAccountId NOT_EQUALS 123456789012`` only matches findings that have an account ID other than ``123456789012`` .
|
|
4957
|
+
- To search for values that don't start with the filter value, use ``PREFIX_NOT_EQUALS`` . For example, the filter ``ResourceRegion PREFIX_NOT_EQUALS us`` matches findings with a ``ResourceRegion`` that starts with a value other than ``us`` .
|
|
4958
|
+
|
|
4959
|
+
``NOT_CONTAINS`` , ``NOT_EQUALS`` , and ``PREFIX_NOT_EQUALS`` filters on the same field are joined by ``AND`` . A finding matches only if it matches all of those filters. For example, the filters ``Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch`` match a finding that excludes both ``CloudFront`` and ``CloudWatch`` in the title.
|
|
4960
|
+
|
|
4961
|
+
You can’t have both a ``CONTAINS`` filter and a ``NOT_CONTAINS`` filter on the same field. Similarly, you can't provide both an ``EQUALS`` filter and a ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filter on the same field. Combining filters in this way returns an error. ``CONTAINS`` filters can only be used with other ``CONTAINS`` filters. ``NOT_CONTAINS`` filters can only be used with other ``NOT_CONTAINS`` filters.
|
|
4962
|
+
|
|
4963
|
+
You can combine ``PREFIX`` filters with ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filters for the same field. Security Hub first processes the ``PREFIX`` filters, and then the ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filters.
|
|
4964
|
+
|
|
4965
|
+
For example, for the following filters, Security Hub first identifies findings that have resource types that start with either ``AwsIam`` or ``AwsEc2`` . It then excludes findings that have a resource type of ``AwsIamPolicy`` and findings that have a resource type of ``AwsEc2NetworkInterface`` .
|
|
4966
|
+
|
|
4967
|
+
- ``ResourceType PREFIX AwsIam``
|
|
4968
|
+
- ``ResourceType PREFIX AwsEc2``
|
|
4969
|
+
- ``ResourceType NOT_EQUALS AwsIamPolicy``
|
|
4970
|
+
- ``ResourceType NOT_EQUALS AwsEc2NetworkInterface``
|
|
4971
|
+
|
|
4972
|
+
``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules V1. ``CONTAINS_WORD`` operator is only supported in ``GetFindingsV2`` , ``GetFindingStatisticsV2`` , ``GetResourcesV2`` , and ``GetResourceStatisticsV2`` APIs. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *AWS Security Hub User Guide* .
|
|
4973
|
+
|
|
4974
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-stringfilter.html#cfn-securityhub-automationrulev2-stringfilter-comparison
|
|
4975
|
+
'''
|
|
4976
|
+
result = self._values.get("comparison")
|
|
4977
|
+
assert result is not None, "Required property 'comparison' is missing"
|
|
4978
|
+
return typing.cast(builtins.str, result)
|
|
4979
|
+
|
|
4980
|
+
@builtins.property
|
|
4981
|
+
def value(self) -> builtins.str:
|
|
4982
|
+
'''The string filter value.
|
|
4983
|
+
|
|
4984
|
+
Filter values are case sensitive. For example, the product name for control-based findings is ``Security Hub`` . If you provide ``security hub`` as the filter value, there's no match.
|
|
4985
|
+
|
|
4986
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-stringfilter.html#cfn-securityhub-automationrulev2-stringfilter-value
|
|
4987
|
+
'''
|
|
4988
|
+
result = self._values.get("value")
|
|
4989
|
+
assert result is not None, "Required property 'value' is missing"
|
|
4990
|
+
return typing.cast(builtins.str, result)
|
|
4991
|
+
|
|
4992
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4993
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
4994
|
+
|
|
4995
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
4996
|
+
return not (rhs == self)
|
|
4997
|
+
|
|
4998
|
+
def __repr__(self) -> str:
|
|
4999
|
+
return "StringFilterProperty(%s)" % ", ".join(
|
|
5000
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
5001
|
+
)
|
|
5002
|
+
|
|
5003
|
+
|
|
5004
|
+
@jsii.data_type(
|
|
5005
|
+
jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2Props",
|
|
5006
|
+
jsii_struct_bases=[],
|
|
5007
|
+
name_mapping={
|
|
5008
|
+
"actions": "actions",
|
|
5009
|
+
"criteria": "criteria",
|
|
5010
|
+
"description": "description",
|
|
5011
|
+
"rule_name": "ruleName",
|
|
5012
|
+
"rule_order": "ruleOrder",
|
|
5013
|
+
"rule_status": "ruleStatus",
|
|
5014
|
+
"tags": "tags",
|
|
5015
|
+
},
|
|
5016
|
+
)
|
|
5017
|
+
class CfnAutomationRuleV2Props:
|
|
5018
|
+
def __init__(
|
|
5019
|
+
self,
|
|
5020
|
+
*,
|
|
5021
|
+
actions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.AutomationRulesActionV2Property, typing.Dict[builtins.str, typing.Any]]]]],
|
|
5022
|
+
criteria: typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.CriteriaProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
5023
|
+
description: builtins.str,
|
|
5024
|
+
rule_name: builtins.str,
|
|
5025
|
+
rule_order: jsii.Number,
|
|
5026
|
+
rule_status: typing.Optional[builtins.str] = None,
|
|
5027
|
+
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
5028
|
+
) -> None:
|
|
5029
|
+
'''Properties for defining a ``CfnAutomationRuleV2``.
|
|
5030
|
+
|
|
5031
|
+
:param actions: A list of actions to be performed when the rule criteria is met.
|
|
5032
|
+
:param criteria: The filtering type and configuration of the automation rule.
|
|
5033
|
+
:param description: A description of the V2 automation rule.
|
|
5034
|
+
:param rule_name: The name of the V2 automation rule.
|
|
5035
|
+
:param rule_order: The value for the rule priority.
|
|
5036
|
+
:param rule_status: The status of the V2 automation rule.
|
|
5037
|
+
:param tags: A list of key-value pairs associated with the V2 automation rule.
|
|
5038
|
+
|
|
5039
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrulev2.html
|
|
5040
|
+
:exampleMetadata: fixture=_generated
|
|
5041
|
+
|
|
5042
|
+
Example::
|
|
5043
|
+
|
|
5044
|
+
# The code below shows an example of how to instantiate this type.
|
|
5045
|
+
# The values are placeholders you should change.
|
|
5046
|
+
from aws_cdk import aws_securityhub as securityhub
|
|
5047
|
+
|
|
5048
|
+
cfn_automation_rule_v2_props = securityhub.CfnAutomationRuleV2Props(
|
|
5049
|
+
actions=[securityhub.CfnAutomationRuleV2.AutomationRulesActionV2Property(
|
|
5050
|
+
type="type",
|
|
5051
|
+
|
|
5052
|
+
# the properties below are optional
|
|
5053
|
+
external_integration_configuration=securityhub.CfnAutomationRuleV2.ExternalIntegrationConfigurationProperty(
|
|
5054
|
+
connector_arn="connectorArn"
|
|
5055
|
+
),
|
|
5056
|
+
finding_fields_update=securityhub.CfnAutomationRuleV2.AutomationRulesFindingFieldsUpdateV2Property(
|
|
5057
|
+
comment="comment",
|
|
5058
|
+
severity_id=123,
|
|
5059
|
+
status_id=123
|
|
5060
|
+
)
|
|
5061
|
+
)],
|
|
5062
|
+
criteria=securityhub.CfnAutomationRuleV2.CriteriaProperty(
|
|
5063
|
+
ocsf_finding_criteria=securityhub.CfnAutomationRuleV2.OcsfFindingFiltersProperty(
|
|
5064
|
+
composite_filters=[securityhub.CfnAutomationRuleV2.CompositeFilterProperty(
|
|
5065
|
+
boolean_filters=[securityhub.CfnAutomationRuleV2.OcsfBooleanFilterProperty(
|
|
5066
|
+
field_name="fieldName",
|
|
5067
|
+
filter=securityhub.CfnAutomationRuleV2.BooleanFilterProperty(
|
|
5068
|
+
value=False
|
|
5069
|
+
)
|
|
5070
|
+
)],
|
|
5071
|
+
date_filters=[securityhub.CfnAutomationRuleV2.OcsfDateFilterProperty(
|
|
5072
|
+
field_name="fieldName",
|
|
5073
|
+
filter=securityhub.CfnAutomationRuleV2.DateFilterProperty(
|
|
5074
|
+
date_range=securityhub.CfnAutomationRuleV2.DateRangeProperty(
|
|
5075
|
+
unit="unit",
|
|
5076
|
+
value=123
|
|
5077
|
+
),
|
|
5078
|
+
end="end",
|
|
5079
|
+
start="start"
|
|
5080
|
+
)
|
|
5081
|
+
)],
|
|
5082
|
+
map_filters=[securityhub.CfnAutomationRuleV2.OcsfMapFilterProperty(
|
|
5083
|
+
field_name="fieldName",
|
|
5084
|
+
filter=securityhub.CfnAutomationRuleV2.MapFilterProperty(
|
|
5085
|
+
comparison="comparison",
|
|
5086
|
+
key="key",
|
|
5087
|
+
value="value"
|
|
5088
|
+
)
|
|
5089
|
+
)],
|
|
5090
|
+
number_filters=[securityhub.CfnAutomationRuleV2.OcsfNumberFilterProperty(
|
|
5091
|
+
field_name="fieldName",
|
|
5092
|
+
filter=securityhub.CfnAutomationRuleV2.NumberFilterProperty(
|
|
5093
|
+
eq=123,
|
|
5094
|
+
gte=123,
|
|
5095
|
+
lte=123
|
|
5096
|
+
)
|
|
5097
|
+
)],
|
|
5098
|
+
operator="operator",
|
|
5099
|
+
string_filters=[securityhub.CfnAutomationRuleV2.OcsfStringFilterProperty(
|
|
5100
|
+
field_name="fieldName",
|
|
5101
|
+
filter=securityhub.CfnAutomationRuleV2.StringFilterProperty(
|
|
5102
|
+
comparison="comparison",
|
|
5103
|
+
value="value"
|
|
5104
|
+
)
|
|
5105
|
+
)]
|
|
5106
|
+
)],
|
|
5107
|
+
composite_operator="compositeOperator"
|
|
5108
|
+
)
|
|
5109
|
+
),
|
|
5110
|
+
description="description",
|
|
5111
|
+
rule_name="ruleName",
|
|
5112
|
+
rule_order=123,
|
|
5113
|
+
|
|
5114
|
+
# the properties below are optional
|
|
5115
|
+
rule_status="ruleStatus",
|
|
5116
|
+
tags={
|
|
5117
|
+
"tags_key": "tags"
|
|
5118
|
+
}
|
|
5119
|
+
)
|
|
5120
|
+
'''
|
|
5121
|
+
if __debug__:
|
|
5122
|
+
type_hints = typing.get_type_hints(_typecheckingstub__96bf6ac88f339a8dafdb0d899cf9e7c5353a67121a8a0b34137e9631c11f04a4)
|
|
5123
|
+
check_type(argname="argument actions", value=actions, expected_type=type_hints["actions"])
|
|
5124
|
+
check_type(argname="argument criteria", value=criteria, expected_type=type_hints["criteria"])
|
|
5125
|
+
check_type(argname="argument description", value=description, expected_type=type_hints["description"])
|
|
5126
|
+
check_type(argname="argument rule_name", value=rule_name, expected_type=type_hints["rule_name"])
|
|
5127
|
+
check_type(argname="argument rule_order", value=rule_order, expected_type=type_hints["rule_order"])
|
|
5128
|
+
check_type(argname="argument rule_status", value=rule_status, expected_type=type_hints["rule_status"])
|
|
5129
|
+
check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
|
|
5130
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
5131
|
+
"actions": actions,
|
|
5132
|
+
"criteria": criteria,
|
|
5133
|
+
"description": description,
|
|
5134
|
+
"rule_name": rule_name,
|
|
5135
|
+
"rule_order": rule_order,
|
|
5136
|
+
}
|
|
5137
|
+
if rule_status is not None:
|
|
5138
|
+
self._values["rule_status"] = rule_status
|
|
5139
|
+
if tags is not None:
|
|
5140
|
+
self._values["tags"] = tags
|
|
5141
|
+
|
|
5142
|
+
@builtins.property
|
|
5143
|
+
def actions(
|
|
5144
|
+
self,
|
|
5145
|
+
) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnAutomationRuleV2.AutomationRulesActionV2Property]]]:
|
|
5146
|
+
'''A list of actions to be performed when the rule criteria is met.
|
|
5147
|
+
|
|
5148
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrulev2.html#cfn-securityhub-automationrulev2-actions
|
|
5149
|
+
'''
|
|
5150
|
+
result = self._values.get("actions")
|
|
5151
|
+
assert result is not None, "Required property 'actions' is missing"
|
|
5152
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnAutomationRuleV2.AutomationRulesActionV2Property]]], result)
|
|
5153
|
+
|
|
5154
|
+
@builtins.property
|
|
5155
|
+
def criteria(
|
|
5156
|
+
self,
|
|
5157
|
+
) -> typing.Union[_IResolvable_da3f097b, CfnAutomationRuleV2.CriteriaProperty]:
|
|
5158
|
+
'''The filtering type and configuration of the automation rule.
|
|
5159
|
+
|
|
5160
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrulev2.html#cfn-securityhub-automationrulev2-criteria
|
|
5161
|
+
'''
|
|
5162
|
+
result = self._values.get("criteria")
|
|
5163
|
+
assert result is not None, "Required property 'criteria' is missing"
|
|
5164
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, CfnAutomationRuleV2.CriteriaProperty], result)
|
|
5165
|
+
|
|
5166
|
+
@builtins.property
|
|
5167
|
+
def description(self) -> builtins.str:
|
|
5168
|
+
'''A description of the V2 automation rule.
|
|
5169
|
+
|
|
5170
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrulev2.html#cfn-securityhub-automationrulev2-description
|
|
5171
|
+
'''
|
|
5172
|
+
result = self._values.get("description")
|
|
5173
|
+
assert result is not None, "Required property 'description' is missing"
|
|
5174
|
+
return typing.cast(builtins.str, result)
|
|
5175
|
+
|
|
5176
|
+
@builtins.property
|
|
5177
|
+
def rule_name(self) -> builtins.str:
|
|
5178
|
+
'''The name of the V2 automation rule.
|
|
5179
|
+
|
|
5180
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrulev2.html#cfn-securityhub-automationrulev2-rulename
|
|
5181
|
+
'''
|
|
5182
|
+
result = self._values.get("rule_name")
|
|
5183
|
+
assert result is not None, "Required property 'rule_name' is missing"
|
|
5184
|
+
return typing.cast(builtins.str, result)
|
|
5185
|
+
|
|
5186
|
+
@builtins.property
|
|
5187
|
+
def rule_order(self) -> jsii.Number:
|
|
5188
|
+
'''The value for the rule priority.
|
|
5189
|
+
|
|
5190
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrulev2.html#cfn-securityhub-automationrulev2-ruleorder
|
|
5191
|
+
'''
|
|
5192
|
+
result = self._values.get("rule_order")
|
|
5193
|
+
assert result is not None, "Required property 'rule_order' is missing"
|
|
5194
|
+
return typing.cast(jsii.Number, result)
|
|
5195
|
+
|
|
5196
|
+
@builtins.property
|
|
5197
|
+
def rule_status(self) -> typing.Optional[builtins.str]:
|
|
5198
|
+
'''The status of the V2 automation rule.
|
|
5199
|
+
|
|
5200
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrulev2.html#cfn-securityhub-automationrulev2-rulestatus
|
|
5201
|
+
'''
|
|
5202
|
+
result = self._values.get("rule_status")
|
|
5203
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
5204
|
+
|
|
5205
|
+
@builtins.property
|
|
5206
|
+
def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
|
|
5207
|
+
'''A list of key-value pairs associated with the V2 automation rule.
|
|
5208
|
+
|
|
5209
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrulev2.html#cfn-securityhub-automationrulev2-tags
|
|
5210
|
+
'''
|
|
5211
|
+
result = self._values.get("tags")
|
|
5212
|
+
return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
|
|
5213
|
+
|
|
5214
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
5215
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
5216
|
+
|
|
5217
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
5218
|
+
return not (rhs == self)
|
|
5219
|
+
|
|
5220
|
+
def __repr__(self) -> str:
|
|
5221
|
+
return "CfnAutomationRuleV2Props(%s)" % ", ".join(
|
|
5222
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
5223
|
+
)
|
|
5224
|
+
|
|
5225
|
+
|
|
5226
|
+
@jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
|
|
5227
|
+
class CfnConfigurationPolicy(
|
|
5228
|
+
_CfnResource_9df397a6,
|
|
5229
|
+
metaclass=jsii.JSIIMeta,
|
|
5230
|
+
jsii_type="aws-cdk-lib.aws_securityhub.CfnConfigurationPolicy",
|
|
5231
|
+
):
|
|
5232
|
+
'''The ``AWS::SecurityHub::ConfigurationPolicy`` resource creates a central configuration policy with the defined settings.
|
|
5233
|
+
|
|
5234
|
+
Only the AWS Security Hub delegated administrator can create this resource in the home Region. For more information, see `Central configuration in Security Hub <https://docs.aws.amazon.com/securityhub/latest/userguide/central-configuration-intro.html>`_ in the *AWS Security Hub User Guide* .
|
|
5235
|
+
|
|
5236
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-configurationpolicy.html
|
|
5237
|
+
:cloudformationResource: AWS::SecurityHub::ConfigurationPolicy
|
|
5238
|
+
:exampleMetadata: fixture=_generated
|
|
5239
|
+
|
|
5240
|
+
Example::
|
|
5241
|
+
|
|
5242
|
+
# The code below shows an example of how to instantiate this type.
|
|
5243
|
+
# The values are placeholders you should change.
|
|
5244
|
+
from aws_cdk import aws_securityhub as securityhub
|
|
5245
|
+
|
|
5246
|
+
cfn_configuration_policy = securityhub.CfnConfigurationPolicy(self, "MyCfnConfigurationPolicy",
|
|
5247
|
+
configuration_policy=securityhub.CfnConfigurationPolicy.PolicyProperty(
|
|
5248
|
+
security_hub=securityhub.CfnConfigurationPolicy.SecurityHubPolicyProperty(
|
|
5249
|
+
enabled_standard_identifiers=["enabledStandardIdentifiers"],
|
|
5250
|
+
security_controls_configuration=securityhub.CfnConfigurationPolicy.SecurityControlsConfigurationProperty(
|
|
5251
|
+
disabled_security_control_identifiers=["disabledSecurityControlIdentifiers"],
|
|
5252
|
+
enabled_security_control_identifiers=["enabledSecurityControlIdentifiers"],
|
|
5253
|
+
security_control_custom_parameters=[securityhub.CfnConfigurationPolicy.SecurityControlCustomParameterProperty(
|
|
5254
|
+
parameters={
|
|
5255
|
+
"parameters_key": securityhub.CfnConfigurationPolicy.ParameterConfigurationProperty(
|
|
5256
|
+
value_type="valueType",
|
|
5257
|
+
|
|
5258
|
+
# the properties below are optional
|
|
5259
|
+
value=securityhub.CfnConfigurationPolicy.ParameterValueProperty(
|
|
5260
|
+
boolean=False,
|
|
5261
|
+
double=123,
|
|
5262
|
+
enum="enum",
|
|
5263
|
+
enum_list=["enumList"],
|
|
5264
|
+
integer=123,
|
|
5265
|
+
integer_list=[123],
|
|
5266
|
+
string="string",
|
|
5267
|
+
string_list=["stringList"]
|
|
5268
|
+
)
|
|
5269
|
+
)
|
|
5270
|
+
},
|
|
5271
|
+
security_control_id="securityControlId"
|
|
5272
|
+
)]
|
|
5273
|
+
),
|
|
5274
|
+
service_enabled=False
|
|
5275
|
+
)
|
|
5276
|
+
),
|
|
5277
|
+
name="name",
|
|
5278
|
+
|
|
5279
|
+
# the properties below are optional
|
|
5280
|
+
description="description",
|
|
5281
|
+
tags={
|
|
5282
|
+
"tags_key": "tags"
|
|
5283
|
+
}
|
|
5284
|
+
)
|
|
5285
|
+
'''
|
|
5286
|
+
|
|
5287
|
+
def __init__(
|
|
5288
|
+
self,
|
|
5289
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
5290
|
+
id: builtins.str,
|
|
5291
|
+
*,
|
|
5292
|
+
configuration_policy: typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfigurationPolicy.PolicyProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
5293
|
+
name: builtins.str,
|
|
5294
|
+
description: typing.Optional[builtins.str] = None,
|
|
5295
|
+
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
5296
|
+
) -> None:
|
|
5297
|
+
'''
|
|
5298
|
+
:param scope: Scope in which this resource is defined.
|
|
5299
|
+
:param id: Construct identifier for this resource (unique in its scope).
|
|
5300
|
+
:param configuration_policy: An object that defines how AWS Security Hub is configured. It includes whether Security Hub is enabled or disabled, a list of enabled security standards, a list of enabled or disabled security controls, and a list of custom parameter values for specified controls. If you provide a list of security controls that are enabled in the configuration policy, Security Hub disables all other controls (including newly released controls). If you provide a list of security controls that are disabled in the configuration policy, Security Hub enables all other controls (including newly released controls).
|
|
5301
|
+
:param name: The name of the configuration policy. Alphanumeric characters and the following ASCII characters are permitted: ``-, ., !, *, /`` .
|
|
5302
|
+
:param description: The description of the configuration policy.
|
|
5303
|
+
:param tags: User-defined tags associated with a configuration policy. For more information, see `Tagging AWS Security Hub resources <https://docs.aws.amazon.com/securityhub/latest/userguide/tagging-resources.html>`_ in the *Security Hub user guide* .
|
|
5304
|
+
'''
|
|
5305
|
+
if __debug__:
|
|
5306
|
+
type_hints = typing.get_type_hints(_typecheckingstub__e2cee5cf3fe5ba0b354ff30ea357f97d4a69893bed692305ae2919f0061404d2)
|
|
2971
5307
|
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
2972
5308
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
2973
5309
|
props = CfnConfigurationPolicyProps(
|
|
@@ -4654,19 +6990,200 @@ class CfnHubProps:
|
|
|
4654
6990
|
|
|
4655
6991
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html#cfn-securityhub-hub-enabledefaultstandards
|
|
4656
6992
|
'''
|
|
4657
|
-
result = self._values.get("enable_default_standards")
|
|
4658
|
-
return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
|
|
6993
|
+
result = self._values.get("enable_default_standards")
|
|
6994
|
+
return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
|
|
6995
|
+
|
|
6996
|
+
@builtins.property
|
|
6997
|
+
def tags(self) -> typing.Any:
|
|
6998
|
+
'''An array of key-value pairs to apply to this resource.
|
|
6999
|
+
|
|
7000
|
+
For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
|
|
7001
|
+
|
|
7002
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html#cfn-securityhub-hub-tags
|
|
7003
|
+
'''
|
|
7004
|
+
result = self._values.get("tags")
|
|
7005
|
+
return typing.cast(typing.Any, result)
|
|
7006
|
+
|
|
7007
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
7008
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
7009
|
+
|
|
7010
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
7011
|
+
return not (rhs == self)
|
|
7012
|
+
|
|
7013
|
+
def __repr__(self) -> str:
|
|
7014
|
+
return "CfnHubProps(%s)" % ", ".join(
|
|
7015
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
7016
|
+
)
|
|
7017
|
+
|
|
7018
|
+
|
|
7019
|
+
@jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
|
|
7020
|
+
class CfnHubV2(
|
|
7021
|
+
_CfnResource_9df397a6,
|
|
7022
|
+
metaclass=jsii.JSIIMeta,
|
|
7023
|
+
jsii_type="aws-cdk-lib.aws_securityhub.CfnHubV2",
|
|
7024
|
+
):
|
|
7025
|
+
'''Returns details about the service resource in your account.
|
|
7026
|
+
|
|
7027
|
+
This API is in private preview and subject to change.
|
|
7028
|
+
|
|
7029
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hubv2.html
|
|
7030
|
+
:cloudformationResource: AWS::SecurityHub::HubV2
|
|
7031
|
+
:exampleMetadata: fixture=_generated
|
|
7032
|
+
|
|
7033
|
+
Example::
|
|
7034
|
+
|
|
7035
|
+
# The code below shows an example of how to instantiate this type.
|
|
7036
|
+
# The values are placeholders you should change.
|
|
7037
|
+
from aws_cdk import aws_securityhub as securityhub
|
|
7038
|
+
|
|
7039
|
+
cfn_hub_v2 = securityhub.CfnHubV2(self, "MyCfnHubV2",
|
|
7040
|
+
tags={
|
|
7041
|
+
"tags_key": "tags"
|
|
7042
|
+
}
|
|
7043
|
+
)
|
|
7044
|
+
'''
|
|
7045
|
+
|
|
7046
|
+
def __init__(
|
|
7047
|
+
self,
|
|
7048
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
7049
|
+
id: builtins.str,
|
|
7050
|
+
*,
|
|
7051
|
+
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
7052
|
+
) -> None:
|
|
7053
|
+
'''
|
|
7054
|
+
:param scope: Scope in which this resource is defined.
|
|
7055
|
+
:param id: Construct identifier for this resource (unique in its scope).
|
|
7056
|
+
:param tags: The tags to add to the hub V2 resource when you enable Security Hub.
|
|
7057
|
+
'''
|
|
7058
|
+
if __debug__:
|
|
7059
|
+
type_hints = typing.get_type_hints(_typecheckingstub__8a938d6f02e5cc9357e7ae741d101719d29a8539be57e63f7148a944106dccc1)
|
|
7060
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
7061
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
7062
|
+
props = CfnHubV2Props(tags=tags)
|
|
7063
|
+
|
|
7064
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
7065
|
+
|
|
7066
|
+
@jsii.member(jsii_name="inspect")
|
|
7067
|
+
def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
|
|
7068
|
+
'''Examines the CloudFormation resource and discloses attributes.
|
|
7069
|
+
|
|
7070
|
+
:param inspector: tree inspector to collect and process attributes.
|
|
7071
|
+
'''
|
|
7072
|
+
if __debug__:
|
|
7073
|
+
type_hints = typing.get_type_hints(_typecheckingstub__e1dac3a23d94b8e2be0be6ae5d6d56142199c92d98f138b490e9a4036d9897ed)
|
|
7074
|
+
check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
|
|
7075
|
+
return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
|
|
7076
|
+
|
|
7077
|
+
@jsii.member(jsii_name="renderProperties")
|
|
7078
|
+
def _render_properties(
|
|
7079
|
+
self,
|
|
7080
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
7081
|
+
) -> typing.Mapping[builtins.str, typing.Any]:
|
|
7082
|
+
'''
|
|
7083
|
+
:param props: -
|
|
7084
|
+
'''
|
|
7085
|
+
if __debug__:
|
|
7086
|
+
type_hints = typing.get_type_hints(_typecheckingstub__f92498b56c6fcd7d027c6ff068634a704396d6376eee870869ddf3ffcd039b7a)
|
|
7087
|
+
check_type(argname="argument props", value=props, expected_type=type_hints["props"])
|
|
7088
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
|
|
7089
|
+
|
|
7090
|
+
@jsii.python.classproperty
|
|
7091
|
+
@jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
|
|
7092
|
+
def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
|
|
7093
|
+
'''The CloudFormation resource type name for this resource class.'''
|
|
7094
|
+
return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
|
|
7095
|
+
|
|
7096
|
+
@builtins.property
|
|
7097
|
+
@jsii.member(jsii_name="attrHubV2Arn")
|
|
7098
|
+
def attr_hub_v2_arn(self) -> builtins.str:
|
|
7099
|
+
'''The ARN of the service resource.
|
|
7100
|
+
|
|
7101
|
+
:cloudformationAttribute: HubV2Arn
|
|
7102
|
+
'''
|
|
7103
|
+
return typing.cast(builtins.str, jsii.get(self, "attrHubV2Arn"))
|
|
7104
|
+
|
|
7105
|
+
@builtins.property
|
|
7106
|
+
@jsii.member(jsii_name="attrSubscribedAt")
|
|
7107
|
+
def attr_subscribed_at(self) -> builtins.str:
|
|
7108
|
+
'''The date and time when the service was enabled in the account.
|
|
7109
|
+
|
|
7110
|
+
:cloudformationAttribute: SubscribedAt
|
|
7111
|
+
'''
|
|
7112
|
+
return typing.cast(builtins.str, jsii.get(self, "attrSubscribedAt"))
|
|
7113
|
+
|
|
7114
|
+
@builtins.property
|
|
7115
|
+
@jsii.member(jsii_name="cdkTagManager")
|
|
7116
|
+
def cdk_tag_manager(self) -> _TagManager_0a598cb3:
|
|
7117
|
+
'''Tag Manager which manages the tags for this resource.'''
|
|
7118
|
+
return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
|
|
7119
|
+
|
|
7120
|
+
@builtins.property
|
|
7121
|
+
@jsii.member(jsii_name="cfnProperties")
|
|
7122
|
+
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
7123
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
7124
|
+
|
|
7125
|
+
@builtins.property
|
|
7126
|
+
@jsii.member(jsii_name="tags")
|
|
7127
|
+
def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
|
|
7128
|
+
'''The tags to add to the hub V2 resource when you enable Security Hub.'''
|
|
7129
|
+
return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], jsii.get(self, "tags"))
|
|
7130
|
+
|
|
7131
|
+
@tags.setter
|
|
7132
|
+
def tags(
|
|
7133
|
+
self,
|
|
7134
|
+
value: typing.Optional[typing.Mapping[builtins.str, builtins.str]],
|
|
7135
|
+
) -> None:
|
|
7136
|
+
if __debug__:
|
|
7137
|
+
type_hints = typing.get_type_hints(_typecheckingstub__6e41e91c55f6f2a331ab968ca257da397cb59475bac947e28be333f8f3cdc7cb)
|
|
7138
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
7139
|
+
jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
|
|
7140
|
+
|
|
7141
|
+
|
|
7142
|
+
@jsii.data_type(
|
|
7143
|
+
jsii_type="aws-cdk-lib.aws_securityhub.CfnHubV2Props",
|
|
7144
|
+
jsii_struct_bases=[],
|
|
7145
|
+
name_mapping={"tags": "tags"},
|
|
7146
|
+
)
|
|
7147
|
+
class CfnHubV2Props:
|
|
7148
|
+
def __init__(
|
|
7149
|
+
self,
|
|
7150
|
+
*,
|
|
7151
|
+
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
7152
|
+
) -> None:
|
|
7153
|
+
'''Properties for defining a ``CfnHubV2``.
|
|
7154
|
+
|
|
7155
|
+
:param tags: The tags to add to the hub V2 resource when you enable Security Hub.
|
|
7156
|
+
|
|
7157
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hubv2.html
|
|
7158
|
+
:exampleMetadata: fixture=_generated
|
|
7159
|
+
|
|
7160
|
+
Example::
|
|
7161
|
+
|
|
7162
|
+
# The code below shows an example of how to instantiate this type.
|
|
7163
|
+
# The values are placeholders you should change.
|
|
7164
|
+
from aws_cdk import aws_securityhub as securityhub
|
|
7165
|
+
|
|
7166
|
+
cfn_hub_v2_props = securityhub.CfnHubV2Props(
|
|
7167
|
+
tags={
|
|
7168
|
+
"tags_key": "tags"
|
|
7169
|
+
}
|
|
7170
|
+
)
|
|
7171
|
+
'''
|
|
7172
|
+
if __debug__:
|
|
7173
|
+
type_hints = typing.get_type_hints(_typecheckingstub__5701f591c6bb91f50e9187f704248e0e20e49f80fdbb611b3664c43166095344)
|
|
7174
|
+
check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
|
|
7175
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
7176
|
+
if tags is not None:
|
|
7177
|
+
self._values["tags"] = tags
|
|
4659
7178
|
|
|
4660
7179
|
@builtins.property
|
|
4661
|
-
def tags(self) -> typing.
|
|
4662
|
-
'''
|
|
4663
|
-
|
|
4664
|
-
For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
|
|
7180
|
+
def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
|
|
7181
|
+
'''The tags to add to the hub V2 resource when you enable Security Hub.
|
|
4665
7182
|
|
|
4666
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-
|
|
7183
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hubv2.html#cfn-securityhub-hubv2-tags
|
|
4667
7184
|
'''
|
|
4668
7185
|
result = self._values.get("tags")
|
|
4669
|
-
return typing.cast(typing.
|
|
7186
|
+
return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
|
|
4670
7187
|
|
|
4671
7188
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4672
7189
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -4675,7 +7192,7 @@ class CfnHubProps:
|
|
|
4675
7192
|
return not (rhs == self)
|
|
4676
7193
|
|
|
4677
7194
|
def __repr__(self) -> str:
|
|
4678
|
-
return "
|
|
7195
|
+
return "CfnHubV2Props(%s)" % ", ".join(
|
|
4679
7196
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
4680
7197
|
)
|
|
4681
7198
|
|
|
@@ -8186,7 +10703,7 @@ class CfnInsight(
|
|
|
8186
10703
|
def __init__(self, *, comparison: builtins.str, value: builtins.str) -> None:
|
|
8187
10704
|
'''A string filter for filtering AWS Security Hub findings.
|
|
8188
10705
|
|
|
8189
|
-
:param comparison: The condition to apply to a string value when filtering Security Hub findings. To search for values that have the filter value, use one of the following comparison operators: - To search for values that include the filter value, use ``CONTAINS`` . For example, the filter ``Title CONTAINS CloudFront`` matches findings that have a ``Title`` that includes the string CloudFront. - To search for values that exactly match the filter value, use ``EQUALS`` . For example, the filter ``AwsAccountId EQUALS 123456789012`` only matches findings that have an account ID of ``123456789012`` . - To search for values that start with the filter value, use ``PREFIX`` . For example, the filter ``ResourceRegion PREFIX us`` matches findings that have a ``ResourceRegion`` that starts with ``us`` . A ``ResourceRegion`` that starts with a different value, such as ``af`` , ``ap`` , or ``ca`` , doesn't match. ``CONTAINS`` , ``EQUALS`` , and ``PREFIX`` filters on the same field are joined by ``OR`` . A finding matches if it matches any one of those filters. For example, the filters ``Title CONTAINS CloudFront OR Title CONTAINS CloudWatch`` match a finding that includes either ``CloudFront`` , ``CloudWatch`` , or both strings in the title. To search for values that don’t have the filter value, use one of the following comparison operators: - To search for values that exclude the filter value, use ``NOT_CONTAINS`` . For example, the filter ``Title NOT_CONTAINS CloudFront`` matches findings that have a ``Title`` that excludes the string CloudFront. - To search for values other than the filter value, use ``NOT_EQUALS`` . For example, the filter ``AwsAccountId NOT_EQUALS 123456789012`` only matches findings that have an account ID other than ``123456789012`` . - To search for values that don't start with the filter value, use ``PREFIX_NOT_EQUALS`` . For example, the filter ``ResourceRegion PREFIX_NOT_EQUALS us`` matches findings with a ``ResourceRegion`` that starts with a value other than ``us`` . ``NOT_CONTAINS`` , ``NOT_EQUALS`` , and ``PREFIX_NOT_EQUALS`` filters on the same field are joined by ``AND`` . A finding matches only if it matches all of those filters. For example, the filters ``Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch`` match a finding that excludes both ``CloudFront`` and ``CloudWatch`` in the title. You can’t have both a ``CONTAINS`` filter and a ``NOT_CONTAINS`` filter on the same field. Similarly, you can't provide both an ``EQUALS`` filter and a ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filter on the same field. Combining filters in this way returns an error. ``CONTAINS`` filters can only be used with other ``CONTAINS`` filters. ``NOT_CONTAINS`` filters can only be used with other ``NOT_CONTAINS`` filters. You can combine ``PREFIX`` filters with ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filters for the same field. Security Hub first processes the ``PREFIX`` filters, and then the ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filters. For example, for the following filters, Security Hub first identifies findings that have resource types that start with either ``AwsIam`` or ``AwsEc2`` . It then excludes findings that have a resource type of ``AwsIamPolicy`` and findings that have a resource type of ``AwsEc2NetworkInterface`` . - ``ResourceType PREFIX AwsIam`` - ``ResourceType PREFIX AwsEc2`` - ``ResourceType NOT_EQUALS AwsIamPolicy`` - ``ResourceType NOT_EQUALS AwsEc2NetworkInterface`` ``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *AWS Security Hub User Guide* .
|
|
10706
|
+
:param comparison: The condition to apply to a string value when filtering Security Hub findings. To search for values that have the filter value, use one of the following comparison operators: - To search for values that include the filter value, use ``CONTAINS`` . For example, the filter ``Title CONTAINS CloudFront`` matches findings that have a ``Title`` that includes the string CloudFront. - To search for values that exactly match the filter value, use ``EQUALS`` . For example, the filter ``AwsAccountId EQUALS 123456789012`` only matches findings that have an account ID of ``123456789012`` . - To search for values that start with the filter value, use ``PREFIX`` . For example, the filter ``ResourceRegion PREFIX us`` matches findings that have a ``ResourceRegion`` that starts with ``us`` . A ``ResourceRegion`` that starts with a different value, such as ``af`` , ``ap`` , or ``ca`` , doesn't match. ``CONTAINS`` , ``EQUALS`` , and ``PREFIX`` filters on the same field are joined by ``OR`` . A finding matches if it matches any one of those filters. For example, the filters ``Title CONTAINS CloudFront OR Title CONTAINS CloudWatch`` match a finding that includes either ``CloudFront`` , ``CloudWatch`` , or both strings in the title. To search for values that don’t have the filter value, use one of the following comparison operators: - To search for values that exclude the filter value, use ``NOT_CONTAINS`` . For example, the filter ``Title NOT_CONTAINS CloudFront`` matches findings that have a ``Title`` that excludes the string CloudFront. - To search for values other than the filter value, use ``NOT_EQUALS`` . For example, the filter ``AwsAccountId NOT_EQUALS 123456789012`` only matches findings that have an account ID other than ``123456789012`` . - To search for values that don't start with the filter value, use ``PREFIX_NOT_EQUALS`` . For example, the filter ``ResourceRegion PREFIX_NOT_EQUALS us`` matches findings with a ``ResourceRegion`` that starts with a value other than ``us`` . ``NOT_CONTAINS`` , ``NOT_EQUALS`` , and ``PREFIX_NOT_EQUALS`` filters on the same field are joined by ``AND`` . A finding matches only if it matches all of those filters. For example, the filters ``Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch`` match a finding that excludes both ``CloudFront`` and ``CloudWatch`` in the title. You can’t have both a ``CONTAINS`` filter and a ``NOT_CONTAINS`` filter on the same field. Similarly, you can't provide both an ``EQUALS`` filter and a ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filter on the same field. Combining filters in this way returns an error. ``CONTAINS`` filters can only be used with other ``CONTAINS`` filters. ``NOT_CONTAINS`` filters can only be used with other ``NOT_CONTAINS`` filters. You can combine ``PREFIX`` filters with ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filters for the same field. Security Hub first processes the ``PREFIX`` filters, and then the ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filters. For example, for the following filters, Security Hub first identifies findings that have resource types that start with either ``AwsIam`` or ``AwsEc2`` . It then excludes findings that have a resource type of ``AwsIamPolicy`` and findings that have a resource type of ``AwsEc2NetworkInterface`` . - ``ResourceType PREFIX AwsIam`` - ``ResourceType PREFIX AwsEc2`` - ``ResourceType NOT_EQUALS AwsIamPolicy`` - ``ResourceType NOT_EQUALS AwsEc2NetworkInterface`` ``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules V1. ``CONTAINS_WORD`` operator is only supported in ``GetFindingsV2`` , ``GetFindingStatisticsV2`` , ``GetResourcesV2`` , and ``GetResourceStatisticsV2`` APIs. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *AWS Security Hub User Guide* .
|
|
8190
10707
|
:param value: The string filter value. Filter values are case sensitive. For example, the product name for control-based findings is ``Security Hub`` . If you provide ``security hub`` as the filter value, there's no match.
|
|
8191
10708
|
|
|
8192
10709
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-stringfilter.html
|
|
@@ -8243,7 +10760,7 @@ class CfnInsight(
|
|
|
8243
10760
|
- ``ResourceType NOT_EQUALS AwsIamPolicy``
|
|
8244
10761
|
- ``ResourceType NOT_EQUALS AwsEc2NetworkInterface``
|
|
8245
10762
|
|
|
8246
|
-
``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *AWS Security Hub User Guide* .
|
|
10763
|
+
``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules V1. ``CONTAINS_WORD`` operator is only supported in ``GetFindingsV2`` , ``GetFindingStatisticsV2`` , ``GetResourcesV2`` , and ``GetResourceStatisticsV2`` APIs. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *AWS Security Hub User Guide* .
|
|
8247
10764
|
|
|
8248
10765
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-stringfilter.html#cfn-securityhub-insight-stringfilter-comparison
|
|
8249
10766
|
'''
|
|
@@ -10422,8 +12939,12 @@ class CfnStandardProps:
|
|
|
10422
12939
|
|
|
10423
12940
|
|
|
10424
12941
|
__all__ = [
|
|
12942
|
+
"CfnAggregatorV2",
|
|
12943
|
+
"CfnAggregatorV2Props",
|
|
10425
12944
|
"CfnAutomationRule",
|
|
10426
12945
|
"CfnAutomationRuleProps",
|
|
12946
|
+
"CfnAutomationRuleV2",
|
|
12947
|
+
"CfnAutomationRuleV2Props",
|
|
10427
12948
|
"CfnConfigurationPolicy",
|
|
10428
12949
|
"CfnConfigurationPolicyProps",
|
|
10429
12950
|
"CfnDelegatedAdmin",
|
|
@@ -10432,6 +12953,8 @@ __all__ = [
|
|
|
10432
12953
|
"CfnFindingAggregatorProps",
|
|
10433
12954
|
"CfnHub",
|
|
10434
12955
|
"CfnHubProps",
|
|
12956
|
+
"CfnHubV2",
|
|
12957
|
+
"CfnHubV2Props",
|
|
10435
12958
|
"CfnInsight",
|
|
10436
12959
|
"CfnInsightProps",
|
|
10437
12960
|
"CfnOrganizationConfiguration",
|
|
@@ -10448,6 +12971,56 @@ __all__ = [
|
|
|
10448
12971
|
|
|
10449
12972
|
publication.publish()
|
|
10450
12973
|
|
|
12974
|
+
def _typecheckingstub__a48a2a082be753c7ff9a23ae8720fc6090537bc7754b3949c569c91cc2d97185(
|
|
12975
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
12976
|
+
id: builtins.str,
|
|
12977
|
+
*,
|
|
12978
|
+
linked_regions: typing.Sequence[builtins.str],
|
|
12979
|
+
region_linking_mode: builtins.str,
|
|
12980
|
+
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
12981
|
+
) -> None:
|
|
12982
|
+
"""Type checking stubs"""
|
|
12983
|
+
pass
|
|
12984
|
+
|
|
12985
|
+
def _typecheckingstub__faa540694e43a0e61feeb3f53848b1f6e9494b6ed7da21b25aac134881132c39(
|
|
12986
|
+
inspector: _TreeInspector_488e0dd5,
|
|
12987
|
+
) -> None:
|
|
12988
|
+
"""Type checking stubs"""
|
|
12989
|
+
pass
|
|
12990
|
+
|
|
12991
|
+
def _typecheckingstub__e6872b5e370c8e8f4d83602fa651c03fde81b36e7c5bc3b28fa097f66a87ee66(
|
|
12992
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
12993
|
+
) -> None:
|
|
12994
|
+
"""Type checking stubs"""
|
|
12995
|
+
pass
|
|
12996
|
+
|
|
12997
|
+
def _typecheckingstub__73719aabf2def1251bbcce62564af2561a7db568f2cc383d665c93c84e03855c(
|
|
12998
|
+
value: typing.List[builtins.str],
|
|
12999
|
+
) -> None:
|
|
13000
|
+
"""Type checking stubs"""
|
|
13001
|
+
pass
|
|
13002
|
+
|
|
13003
|
+
def _typecheckingstub__3f12f6fa7491c9cf6429ed03592fa2e0b84dd1df61b65fe9caf3ffa327ed324f(
|
|
13004
|
+
value: builtins.str,
|
|
13005
|
+
) -> None:
|
|
13006
|
+
"""Type checking stubs"""
|
|
13007
|
+
pass
|
|
13008
|
+
|
|
13009
|
+
def _typecheckingstub__e47a206d80ca672182e6fba3a9c614bda1d391a22aa37078d5b442ce9858a656(
|
|
13010
|
+
value: typing.Optional[typing.Mapping[builtins.str, builtins.str]],
|
|
13011
|
+
) -> None:
|
|
13012
|
+
"""Type checking stubs"""
|
|
13013
|
+
pass
|
|
13014
|
+
|
|
13015
|
+
def _typecheckingstub__ba603e1d6925ab7babf45e555f2f6c66e3573a9e5841cd7b5ebf0d444664667e(
|
|
13016
|
+
*,
|
|
13017
|
+
linked_regions: typing.Sequence[builtins.str],
|
|
13018
|
+
region_linking_mode: builtins.str,
|
|
13019
|
+
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
13020
|
+
) -> None:
|
|
13021
|
+
"""Type checking stubs"""
|
|
13022
|
+
pass
|
|
13023
|
+
|
|
10451
13024
|
def _typecheckingstub__90c663d2946359b509542feafdcb3d89f11ca9e30a214aae02ea3d6b354c9846(
|
|
10452
13025
|
scope: _constructs_77d1e7e8.Construct,
|
|
10453
13026
|
id: builtins.str,
|
|
@@ -10677,6 +13250,230 @@ def _typecheckingstub__221241b44c93ea569fcf69aaaade0ce7cf31b7343bc3d072d74ccd168
|
|
|
10677
13250
|
"""Type checking stubs"""
|
|
10678
13251
|
pass
|
|
10679
13252
|
|
|
13253
|
+
def _typecheckingstub__d67bab57d18f8318b1f3e5e5aee0425c6d6ad2a73c3def328f22c6e22aa173d4(
|
|
13254
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
13255
|
+
id: builtins.str,
|
|
13256
|
+
*,
|
|
13257
|
+
actions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.AutomationRulesActionV2Property, typing.Dict[builtins.str, typing.Any]]]]],
|
|
13258
|
+
criteria: typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.CriteriaProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
13259
|
+
description: builtins.str,
|
|
13260
|
+
rule_name: builtins.str,
|
|
13261
|
+
rule_order: jsii.Number,
|
|
13262
|
+
rule_status: typing.Optional[builtins.str] = None,
|
|
13263
|
+
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
13264
|
+
) -> None:
|
|
13265
|
+
"""Type checking stubs"""
|
|
13266
|
+
pass
|
|
13267
|
+
|
|
13268
|
+
def _typecheckingstub__148b5ad52f495a944fc188c33e9ce4790af9aae05ed5382a214fb325dffaf8bb(
|
|
13269
|
+
inspector: _TreeInspector_488e0dd5,
|
|
13270
|
+
) -> None:
|
|
13271
|
+
"""Type checking stubs"""
|
|
13272
|
+
pass
|
|
13273
|
+
|
|
13274
|
+
def _typecheckingstub__2f9d1f99336eb3a75c15b25a178234de86a8bfdf4875bf0ce1cd38b114f64593(
|
|
13275
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
13276
|
+
) -> None:
|
|
13277
|
+
"""Type checking stubs"""
|
|
13278
|
+
pass
|
|
13279
|
+
|
|
13280
|
+
def _typecheckingstub__6347d27f0ba2cf053f67fe33ad975271c9a681e994a3d68259bee4b4cecff923(
|
|
13281
|
+
value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnAutomationRuleV2.AutomationRulesActionV2Property]]],
|
|
13282
|
+
) -> None:
|
|
13283
|
+
"""Type checking stubs"""
|
|
13284
|
+
pass
|
|
13285
|
+
|
|
13286
|
+
def _typecheckingstub__a5adb921eebdd2ef5c8fd115e4be769f443780102c814dd43fe745285e68ab8e(
|
|
13287
|
+
value: typing.Union[_IResolvable_da3f097b, CfnAutomationRuleV2.CriteriaProperty],
|
|
13288
|
+
) -> None:
|
|
13289
|
+
"""Type checking stubs"""
|
|
13290
|
+
pass
|
|
13291
|
+
|
|
13292
|
+
def _typecheckingstub__125c937bc05766b550dc71a5d1d56e19a69b4ef80f88b4ef38e2e5e003477882(
|
|
13293
|
+
value: builtins.str,
|
|
13294
|
+
) -> None:
|
|
13295
|
+
"""Type checking stubs"""
|
|
13296
|
+
pass
|
|
13297
|
+
|
|
13298
|
+
def _typecheckingstub__d67119779ecc92e0cdf9224e19bbf9519a8b3464aefe9656b42f750f87734d6a(
|
|
13299
|
+
value: builtins.str,
|
|
13300
|
+
) -> None:
|
|
13301
|
+
"""Type checking stubs"""
|
|
13302
|
+
pass
|
|
13303
|
+
|
|
13304
|
+
def _typecheckingstub__0756c118bad7b3ecf44f8e5b333e1b12ae1f8fcc93cfb9994a9b01b1e420c800(
|
|
13305
|
+
value: jsii.Number,
|
|
13306
|
+
) -> None:
|
|
13307
|
+
"""Type checking stubs"""
|
|
13308
|
+
pass
|
|
13309
|
+
|
|
13310
|
+
def _typecheckingstub__9d3ccd09d54183efd7f79c4f4fa028ef4ff9dcf82d873ad68a9b84292b42fca1(
|
|
13311
|
+
value: typing.Optional[builtins.str],
|
|
13312
|
+
) -> None:
|
|
13313
|
+
"""Type checking stubs"""
|
|
13314
|
+
pass
|
|
13315
|
+
|
|
13316
|
+
def _typecheckingstub__c4cafeb60a0ac8c7088697f2b7bd61bc6887761dd3405c6d9a418c848d6a35ed(
|
|
13317
|
+
value: typing.Optional[typing.Mapping[builtins.str, builtins.str]],
|
|
13318
|
+
) -> None:
|
|
13319
|
+
"""Type checking stubs"""
|
|
13320
|
+
pass
|
|
13321
|
+
|
|
13322
|
+
def _typecheckingstub__c5861ee659ea2189f4b0d18349855ec99f8b11ef0e6bc925783f2b7a3911d61f(
|
|
13323
|
+
*,
|
|
13324
|
+
type: builtins.str,
|
|
13325
|
+
external_integration_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.ExternalIntegrationConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
13326
|
+
finding_fields_update: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.AutomationRulesFindingFieldsUpdateV2Property, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
13327
|
+
) -> None:
|
|
13328
|
+
"""Type checking stubs"""
|
|
13329
|
+
pass
|
|
13330
|
+
|
|
13331
|
+
def _typecheckingstub__4f90f98d77f04ef40f0534b1d8b8660117e52394e43158b5d7f298d3bc8625cc(
|
|
13332
|
+
*,
|
|
13333
|
+
comment: typing.Optional[builtins.str] = None,
|
|
13334
|
+
severity_id: typing.Optional[jsii.Number] = None,
|
|
13335
|
+
status_id: typing.Optional[jsii.Number] = None,
|
|
13336
|
+
) -> None:
|
|
13337
|
+
"""Type checking stubs"""
|
|
13338
|
+
pass
|
|
13339
|
+
|
|
13340
|
+
def _typecheckingstub__bf1f4033b6ab73724f96c846c6e76e7a50093a23574134c07515d9390346e33b(
|
|
13341
|
+
*,
|
|
13342
|
+
value: typing.Union[builtins.bool, _IResolvable_da3f097b],
|
|
13343
|
+
) -> None:
|
|
13344
|
+
"""Type checking stubs"""
|
|
13345
|
+
pass
|
|
13346
|
+
|
|
13347
|
+
def _typecheckingstub__ef5252b213e349428bc417b1dd29e26751fcc25bde34b016a3eaf19d58151f2e(
|
|
13348
|
+
*,
|
|
13349
|
+
boolean_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.OcsfBooleanFilterProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
13350
|
+
date_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.OcsfDateFilterProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
13351
|
+
map_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.OcsfMapFilterProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
13352
|
+
number_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.OcsfNumberFilterProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
13353
|
+
operator: typing.Optional[builtins.str] = None,
|
|
13354
|
+
string_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.OcsfStringFilterProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
13355
|
+
) -> None:
|
|
13356
|
+
"""Type checking stubs"""
|
|
13357
|
+
pass
|
|
13358
|
+
|
|
13359
|
+
def _typecheckingstub__1ba9d632d542a300365cf2fd23759ae4458525cb9c085d0a969ca6b488962b63(
|
|
13360
|
+
*,
|
|
13361
|
+
ocsf_finding_criteria: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.OcsfFindingFiltersProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
13362
|
+
) -> None:
|
|
13363
|
+
"""Type checking stubs"""
|
|
13364
|
+
pass
|
|
13365
|
+
|
|
13366
|
+
def _typecheckingstub__3d21b2c9e81f0b05c0b5eae1aed977679e202dd65257b012d2ffca3404d4bce2(
|
|
13367
|
+
*,
|
|
13368
|
+
date_range: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.DateRangeProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
13369
|
+
end: typing.Optional[builtins.str] = None,
|
|
13370
|
+
start: typing.Optional[builtins.str] = None,
|
|
13371
|
+
) -> None:
|
|
13372
|
+
"""Type checking stubs"""
|
|
13373
|
+
pass
|
|
13374
|
+
|
|
13375
|
+
def _typecheckingstub__6cd41336e92eb03ceeaab0c8bb04ecdcbaa676b6a22a3cd4a1f8ba069311dc05(
|
|
13376
|
+
*,
|
|
13377
|
+
unit: builtins.str,
|
|
13378
|
+
value: jsii.Number,
|
|
13379
|
+
) -> None:
|
|
13380
|
+
"""Type checking stubs"""
|
|
13381
|
+
pass
|
|
13382
|
+
|
|
13383
|
+
def _typecheckingstub__a2fd9a1462ca1711dacb92a0d07d564ed40fe787a40d0cfcdebf274371c09173(
|
|
13384
|
+
*,
|
|
13385
|
+
connector_arn: typing.Optional[builtins.str] = None,
|
|
13386
|
+
) -> None:
|
|
13387
|
+
"""Type checking stubs"""
|
|
13388
|
+
pass
|
|
13389
|
+
|
|
13390
|
+
def _typecheckingstub__3ce382a730a7d946b88f0a9bbc8ee839e8cc4048403520f61f9601274312c198(
|
|
13391
|
+
*,
|
|
13392
|
+
comparison: builtins.str,
|
|
13393
|
+
key: builtins.str,
|
|
13394
|
+
value: builtins.str,
|
|
13395
|
+
) -> None:
|
|
13396
|
+
"""Type checking stubs"""
|
|
13397
|
+
pass
|
|
13398
|
+
|
|
13399
|
+
def _typecheckingstub__647dc97c620209dca2753ac34dae13a3a6afc9916dad52290296e2565ad48048(
|
|
13400
|
+
*,
|
|
13401
|
+
eq: typing.Optional[jsii.Number] = None,
|
|
13402
|
+
gte: typing.Optional[jsii.Number] = None,
|
|
13403
|
+
lte: typing.Optional[jsii.Number] = None,
|
|
13404
|
+
) -> None:
|
|
13405
|
+
"""Type checking stubs"""
|
|
13406
|
+
pass
|
|
13407
|
+
|
|
13408
|
+
def _typecheckingstub__a42eba30c4eef0c19b5165ead711c40b18983e8c78c7eaafba9deb680ec94bfd(
|
|
13409
|
+
*,
|
|
13410
|
+
field_name: builtins.str,
|
|
13411
|
+
filter: typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.BooleanFilterProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
13412
|
+
) -> None:
|
|
13413
|
+
"""Type checking stubs"""
|
|
13414
|
+
pass
|
|
13415
|
+
|
|
13416
|
+
def _typecheckingstub__0835da7838d6730412395869f245eb4865e7ae2b63a637022d4a3475231c342f(
|
|
13417
|
+
*,
|
|
13418
|
+
field_name: builtins.str,
|
|
13419
|
+
filter: typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.DateFilterProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
13420
|
+
) -> None:
|
|
13421
|
+
"""Type checking stubs"""
|
|
13422
|
+
pass
|
|
13423
|
+
|
|
13424
|
+
def _typecheckingstub__67b27a03af9c079f8cc42cdfa5f8df4adc151b555e1080317dfc2e8c5873519c(
|
|
13425
|
+
*,
|
|
13426
|
+
composite_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.CompositeFilterProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
13427
|
+
composite_operator: typing.Optional[builtins.str] = None,
|
|
13428
|
+
) -> None:
|
|
13429
|
+
"""Type checking stubs"""
|
|
13430
|
+
pass
|
|
13431
|
+
|
|
13432
|
+
def _typecheckingstub__b733ec921abf18e15f42cbdb443df518e81d6c48b4cf4b2397f4812a20240777(
|
|
13433
|
+
*,
|
|
13434
|
+
field_name: builtins.str,
|
|
13435
|
+
filter: typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.MapFilterProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
13436
|
+
) -> None:
|
|
13437
|
+
"""Type checking stubs"""
|
|
13438
|
+
pass
|
|
13439
|
+
|
|
13440
|
+
def _typecheckingstub__96733fb6348f5b5cd478197a8fee3f33665015a9b17eb4ce28d9ca28862964c7(
|
|
13441
|
+
*,
|
|
13442
|
+
field_name: builtins.str,
|
|
13443
|
+
filter: typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.NumberFilterProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
13444
|
+
) -> None:
|
|
13445
|
+
"""Type checking stubs"""
|
|
13446
|
+
pass
|
|
13447
|
+
|
|
13448
|
+
def _typecheckingstub__664006d14466473dd08a13af9d06be4f13672817d578a3e7b6c2e476b7e219f0(
|
|
13449
|
+
*,
|
|
13450
|
+
field_name: builtins.str,
|
|
13451
|
+
filter: typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.StringFilterProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
13452
|
+
) -> None:
|
|
13453
|
+
"""Type checking stubs"""
|
|
13454
|
+
pass
|
|
13455
|
+
|
|
13456
|
+
def _typecheckingstub__5b950655292e8a1a447bc6fef9ec46917dffad72edcfb67f4bae7b7bdbd3100b(
|
|
13457
|
+
*,
|
|
13458
|
+
comparison: builtins.str,
|
|
13459
|
+
value: builtins.str,
|
|
13460
|
+
) -> None:
|
|
13461
|
+
"""Type checking stubs"""
|
|
13462
|
+
pass
|
|
13463
|
+
|
|
13464
|
+
def _typecheckingstub__96bf6ac88f339a8dafdb0d899cf9e7c5353a67121a8a0b34137e9631c11f04a4(
|
|
13465
|
+
*,
|
|
13466
|
+
actions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.AutomationRulesActionV2Property, typing.Dict[builtins.str, typing.Any]]]]],
|
|
13467
|
+
criteria: typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.CriteriaProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
13468
|
+
description: builtins.str,
|
|
13469
|
+
rule_name: builtins.str,
|
|
13470
|
+
rule_order: jsii.Number,
|
|
13471
|
+
rule_status: typing.Optional[builtins.str] = None,
|
|
13472
|
+
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
13473
|
+
) -> None:
|
|
13474
|
+
"""Type checking stubs"""
|
|
13475
|
+
pass
|
|
13476
|
+
|
|
10680
13477
|
def _typecheckingstub__e2cee5cf3fe5ba0b354ff30ea357f97d4a69893bed692305ae2919f0061404d2(
|
|
10681
13478
|
scope: _constructs_77d1e7e8.Construct,
|
|
10682
13479
|
id: builtins.str,
|
|
@@ -10924,6 +13721,40 @@ def _typecheckingstub__9a38c34c1f2742403521eb4af2098475d7afb878d3f9aba37048ae543
|
|
|
10924
13721
|
"""Type checking stubs"""
|
|
10925
13722
|
pass
|
|
10926
13723
|
|
|
13724
|
+
def _typecheckingstub__8a938d6f02e5cc9357e7ae741d101719d29a8539be57e63f7148a944106dccc1(
|
|
13725
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
13726
|
+
id: builtins.str,
|
|
13727
|
+
*,
|
|
13728
|
+
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
13729
|
+
) -> None:
|
|
13730
|
+
"""Type checking stubs"""
|
|
13731
|
+
pass
|
|
13732
|
+
|
|
13733
|
+
def _typecheckingstub__e1dac3a23d94b8e2be0be6ae5d6d56142199c92d98f138b490e9a4036d9897ed(
|
|
13734
|
+
inspector: _TreeInspector_488e0dd5,
|
|
13735
|
+
) -> None:
|
|
13736
|
+
"""Type checking stubs"""
|
|
13737
|
+
pass
|
|
13738
|
+
|
|
13739
|
+
def _typecheckingstub__f92498b56c6fcd7d027c6ff068634a704396d6376eee870869ddf3ffcd039b7a(
|
|
13740
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
13741
|
+
) -> None:
|
|
13742
|
+
"""Type checking stubs"""
|
|
13743
|
+
pass
|
|
13744
|
+
|
|
13745
|
+
def _typecheckingstub__6e41e91c55f6f2a331ab968ca257da397cb59475bac947e28be333f8f3cdc7cb(
|
|
13746
|
+
value: typing.Optional[typing.Mapping[builtins.str, builtins.str]],
|
|
13747
|
+
) -> None:
|
|
13748
|
+
"""Type checking stubs"""
|
|
13749
|
+
pass
|
|
13750
|
+
|
|
13751
|
+
def _typecheckingstub__5701f591c6bb91f50e9187f704248e0e20e49f80fdbb611b3664c43166095344(
|
|
13752
|
+
*,
|
|
13753
|
+
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
13754
|
+
) -> None:
|
|
13755
|
+
"""Type checking stubs"""
|
|
13756
|
+
pass
|
|
13757
|
+
|
|
10927
13758
|
def _typecheckingstub__d671d628902c96b28f2d378ea3f0a99fe19e13873725f86dd92bbe36b4c9a166(
|
|
10928
13759
|
scope: _constructs_77d1e7e8.Construct,
|
|
10929
13760
|
id: builtins.str,
|