aws-cdk-lib 2.210.0__py3-none-any.whl → 2.212.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.

Files changed (78) hide show
  1. aws_cdk/__init__.py +404 -54
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.210.0.jsii.tgz → aws-cdk-lib@2.212.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +2 -1
  5. aws_cdk/aws_apigateway/__init__.py +2 -0
  6. aws_cdk/aws_apigatewayv2/__init__.py +1798 -74
  7. aws_cdk/aws_appconfig/__init__.py +9 -0
  8. aws_cdk/aws_appintegrations/__init__.py +395 -0
  9. aws_cdk/aws_arcregionswitch/__init__.py +5080 -0
  10. aws_cdk/aws_athena/__init__.py +23 -19
  11. aws_cdk/aws_autoscaling/__init__.py +6 -6
  12. aws_cdk/aws_batch/__init__.py +725 -55
  13. aws_cdk/aws_bedrock/__init__.py +18 -0
  14. aws_cdk/aws_billingconductor/__init__.py +3 -3
  15. aws_cdk/aws_cassandra/__init__.py +28 -1
  16. aws_cdk/aws_cloudfront/__init__.py +39 -8
  17. aws_cdk/aws_codebuild/__init__.py +122 -0
  18. aws_cdk/aws_codepipeline/__init__.py +51 -50
  19. aws_cdk/aws_cognito/__init__.py +9 -2
  20. aws_cdk/aws_connect/__init__.py +40 -15
  21. aws_cdk/aws_datazone/__init__.py +118 -77
  22. aws_cdk/aws_dax/__init__.py +39 -0
  23. aws_cdk/aws_deadline/__init__.py +166 -7
  24. aws_cdk/aws_docdb/__init__.py +20 -11
  25. aws_cdk/aws_dynamodb/__init__.py +246 -36
  26. aws_cdk/aws_ec2/__init__.py +1044 -111
  27. aws_cdk/aws_ecr/__init__.py +274 -0
  28. aws_cdk/aws_ecs/__init__.py +1637 -137
  29. aws_cdk/aws_eks/__init__.py +53 -3
  30. aws_cdk/aws_elasticloadbalancingv2/__init__.py +31 -17
  31. aws_cdk/aws_entityresolution/__init__.py +240 -45
  32. aws_cdk/aws_evs/__init__.py +20 -45
  33. aws_cdk/aws_gameliftstreams/__init__.py +7 -6
  34. aws_cdk/aws_glue/__init__.py +18 -9
  35. aws_cdk/aws_guardduty/__init__.py +1233 -113
  36. aws_cdk/aws_imagebuilder/__init__.py +34 -20
  37. aws_cdk/aws_inspectorv2/__init__.py +1516 -0
  38. aws_cdk/aws_iot/__init__.py +387 -0
  39. aws_cdk/aws_iotsitewise/__init__.py +1247 -139
  40. aws_cdk/aws_ivs/__init__.py +443 -33
  41. aws_cdk/aws_kinesisfirehose/__init__.py +2 -0
  42. aws_cdk/aws_lakeformation/__init__.py +1 -1
  43. aws_cdk/aws_lambda/__init__.py +9 -9
  44. aws_cdk/aws_lightsail/__init__.py +590 -0
  45. aws_cdk/aws_logs/__init__.py +97 -3
  46. aws_cdk/aws_medialive/__init__.py +270 -7
  47. aws_cdk/aws_mediapackagev2/__init__.py +204 -6
  48. aws_cdk/aws_neptune/__init__.py +41 -2
  49. aws_cdk/aws_networkfirewall/__init__.py +490 -134
  50. aws_cdk/aws_observabilityadmin/__init__.py +1468 -0
  51. aws_cdk/aws_omics/__init__.py +1 -1
  52. aws_cdk/aws_opensearchserverless/__init__.py +2 -2
  53. aws_cdk/aws_opensearchservice/__init__.py +128 -0
  54. aws_cdk/aws_opsworks/__init__.py +125 -125
  55. aws_cdk/aws_opsworkscm/__init__.py +1 -53
  56. aws_cdk/aws_pcs/__init__.py +49 -5
  57. aws_cdk/aws_qbusiness/__init__.py +3 -3
  58. aws_cdk/aws_quicksight/__init__.py +188 -83
  59. aws_cdk/aws_rds/__init__.py +245 -103
  60. aws_cdk/aws_s3/__init__.py +56 -1
  61. aws_cdk/aws_s3express/__init__.py +56 -1
  62. aws_cdk/aws_s3tables/__init__.py +2 -2
  63. aws_cdk/aws_sagemaker/__init__.py +4080 -223
  64. aws_cdk/aws_ses/__init__.py +172 -9
  65. aws_cdk/aws_sqs/__init__.py +4 -3
  66. aws_cdk/aws_ssm/__init__.py +8 -4
  67. aws_cdk/aws_stepfunctions_tasks/__init__.py +16 -9
  68. aws_cdk/aws_synthetics/__init__.py +116 -0
  69. aws_cdk/aws_verifiedpermissions/__init__.py +23 -2
  70. aws_cdk/aws_wisdom/__init__.py +2 -2
  71. aws_cdk/aws_workspacesweb/__init__.py +949 -157
  72. aws_cdk/cx_api/__init__.py +22 -0
  73. {aws_cdk_lib-2.210.0.dist-info → aws_cdk_lib-2.212.0.dist-info}/METADATA +335 -15
  74. {aws_cdk_lib-2.210.0.dist-info → aws_cdk_lib-2.212.0.dist-info}/RECORD +78 -76
  75. {aws_cdk_lib-2.210.0.dist-info → aws_cdk_lib-2.212.0.dist-info}/LICENSE +0 -0
  76. {aws_cdk_lib-2.210.0.dist-info → aws_cdk_lib-2.212.0.dist-info}/NOTICE +0 -0
  77. {aws_cdk_lib-2.210.0.dist-info → aws_cdk_lib-2.212.0.dist-info}/WHEEL +0 -0
  78. {aws_cdk_lib-2.210.0.dist-info → aws_cdk_lib-2.212.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1468 @@
1
+ r'''
2
+ # AWS::ObservabilityAdmin Construct Library
3
+
4
+ <!--BEGIN STABILITY BANNER-->---
5
+
6
+
7
+ ![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge)
8
+
9
+ > All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use.
10
+
11
+ ---
12
+ <!--END STABILITY BANNER-->
13
+
14
+ This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.
15
+
16
+ ```python
17
+ import aws_cdk.aws_observabilityadmin as observabilityadmin
18
+ ```
19
+
20
+ <!--BEGIN CFNONLY DISCLAIMER-->
21
+
22
+ There are no official hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet. Here are some suggestions on how to proceed:
23
+
24
+ * Search [Construct Hub for ObservabilityAdmin construct libraries](https://constructs.dev/search?q=observabilityadmin)
25
+ * Use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, in the same way you would use [the CloudFormation AWS::ObservabilityAdmin resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ObservabilityAdmin.html) directly.
26
+
27
+ <!--BEGIN CFNONLY DISCLAIMER-->
28
+
29
+ There are no hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet.
30
+ However, you can still use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, and use this service exactly as you would using CloudFormation directly.
31
+
32
+ For more information on the resources and properties available for this service, see the [CloudFormation documentation for AWS::ObservabilityAdmin](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ObservabilityAdmin.html).
33
+
34
+ (Read the [CDK Contributing Guide](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and submit an RFC if you are interested in contributing to this construct library.)
35
+
36
+ <!--END CFNONLY DISCLAIMER-->
37
+ '''
38
+ from pkgutil import extend_path
39
+ __path__ = extend_path(__path__, __name__)
40
+
41
+ import abc
42
+ import builtins
43
+ import datetime
44
+ import enum
45
+ import typing
46
+
47
+ import jsii
48
+ import publication
49
+ import typing_extensions
50
+
51
+ import typeguard
52
+ from importlib.metadata import version as _metadata_package_version
53
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
54
+
55
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
56
+ if TYPEGUARD_MAJOR_VERSION <= 2:
57
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
58
+ else:
59
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
60
+ pass
61
+ else:
62
+ if TYPEGUARD_MAJOR_VERSION == 3:
63
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
64
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
65
+ else:
66
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
67
+
68
+ from .._jsii import *
69
+
70
+ import constructs as _constructs_77d1e7e8
71
+ from .. import (
72
+ CfnResource as _CfnResource_9df397a6,
73
+ CfnTag as _CfnTag_f6864754,
74
+ IInspectable as _IInspectable_c2943556,
75
+ IResolvable as _IResolvable_da3f097b,
76
+ ITaggableV2 as _ITaggableV2_4e6798f8,
77
+ TagManager as _TagManager_0a598cb3,
78
+ TreeInspector as _TreeInspector_488e0dd5,
79
+ )
80
+
81
+
82
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
83
+ class CfnOrganizationTelemetryRule(
84
+ _CfnResource_9df397a6,
85
+ metaclass=jsii.JSIIMeta,
86
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationTelemetryRule",
87
+ ):
88
+ '''The AWS::ObservabilityAdmin::OrganizationTelemetryRule resource defines a CloudWatch Observability Admin Organization Telemetry Rule.
89
+
90
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationtelemetryrule.html
91
+ :cloudformationResource: AWS::ObservabilityAdmin::OrganizationTelemetryRule
92
+ :exampleMetadata: fixture=_generated
93
+
94
+ Example::
95
+
96
+ # The code below shows an example of how to instantiate this type.
97
+ # The values are placeholders you should change.
98
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
99
+
100
+ cfn_organization_telemetry_rule = observabilityadmin.CfnOrganizationTelemetryRule(self, "MyCfnOrganizationTelemetryRule",
101
+ rule=observabilityadmin.CfnOrganizationTelemetryRule.TelemetryRuleProperty(
102
+ resource_type="resourceType",
103
+ telemetry_type="telemetryType",
104
+
105
+ # the properties below are optional
106
+ destination_configuration=observabilityadmin.CfnOrganizationTelemetryRule.TelemetryDestinationConfigurationProperty(
107
+ destination_pattern="destinationPattern",
108
+ destination_type="destinationType",
109
+ retention_in_days=123,
110
+ vpc_flow_log_parameters=observabilityadmin.CfnOrganizationTelemetryRule.VPCFlowLogParametersProperty(
111
+ log_format="logFormat",
112
+ max_aggregation_interval=123,
113
+ traffic_type="trafficType"
114
+ )
115
+ ),
116
+ scope="scope",
117
+ selection_criteria="selectionCriteria"
118
+ ),
119
+ rule_name="ruleName",
120
+
121
+ # the properties below are optional
122
+ tags=[CfnTag(
123
+ key="key",
124
+ value="value"
125
+ )]
126
+ )
127
+ '''
128
+
129
+ def __init__(
130
+ self,
131
+ scope: _constructs_77d1e7e8.Construct,
132
+ id: builtins.str,
133
+ *,
134
+ rule: typing.Union[_IResolvable_da3f097b, typing.Union["CfnOrganizationTelemetryRule.TelemetryRuleProperty", typing.Dict[builtins.str, typing.Any]]],
135
+ rule_name: builtins.str,
136
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
137
+ ) -> None:
138
+ '''
139
+ :param scope: Scope in which this resource is defined.
140
+ :param id: Construct identifier for this resource (unique in its scope).
141
+ :param rule: The telemetry rule.
142
+ :param rule_name: The name of the organization telemetry rule.
143
+ :param tags: An array of key-value pairs to apply to this resource.
144
+ '''
145
+ if __debug__:
146
+ type_hints = typing.get_type_hints(_typecheckingstub__a67d6a9dd82924a413b7d3435faeb8efa735048df0244b926e672def8c2d5f75)
147
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
148
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
149
+ props = CfnOrganizationTelemetryRuleProps(
150
+ rule=rule, rule_name=rule_name, tags=tags
151
+ )
152
+
153
+ jsii.create(self.__class__, self, [scope, id, props])
154
+
155
+ @jsii.member(jsii_name="inspect")
156
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
157
+ '''Examines the CloudFormation resource and discloses attributes.
158
+
159
+ :param inspector: tree inspector to collect and process attributes.
160
+ '''
161
+ if __debug__:
162
+ type_hints = typing.get_type_hints(_typecheckingstub__0cb893813673a29ee1f384593916d34bdcc440b816dfc54ad27097692c5a64e9)
163
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
164
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
165
+
166
+ @jsii.member(jsii_name="renderProperties")
167
+ def _render_properties(
168
+ self,
169
+ props: typing.Mapping[builtins.str, typing.Any],
170
+ ) -> typing.Mapping[builtins.str, typing.Any]:
171
+ '''
172
+ :param props: -
173
+ '''
174
+ if __debug__:
175
+ type_hints = typing.get_type_hints(_typecheckingstub__c809c768027da00df4018694393faf5d77af9754b12923bf684ada119faecfc7)
176
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
177
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
178
+
179
+ @jsii.python.classproperty
180
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
181
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
182
+ '''The CloudFormation resource type name for this resource class.'''
183
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
184
+
185
+ @builtins.property
186
+ @jsii.member(jsii_name="attrRuleArn")
187
+ def attr_rule_arn(self) -> builtins.str:
188
+ '''The arn of the organization telemetry rule.
189
+
190
+ :cloudformationAttribute: RuleArn
191
+ '''
192
+ return typing.cast(builtins.str, jsii.get(self, "attrRuleArn"))
193
+
194
+ @builtins.property
195
+ @jsii.member(jsii_name="cdkTagManager")
196
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
197
+ '''Tag Manager which manages the tags for this resource.'''
198
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
199
+
200
+ @builtins.property
201
+ @jsii.member(jsii_name="cfnProperties")
202
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
203
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
204
+
205
+ @builtins.property
206
+ @jsii.member(jsii_name="rule")
207
+ def rule(
208
+ self,
209
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnOrganizationTelemetryRule.TelemetryRuleProperty"]:
210
+ '''The telemetry rule.'''
211
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnOrganizationTelemetryRule.TelemetryRuleProperty"], jsii.get(self, "rule"))
212
+
213
+ @rule.setter
214
+ def rule(
215
+ self,
216
+ value: typing.Union[_IResolvable_da3f097b, "CfnOrganizationTelemetryRule.TelemetryRuleProperty"],
217
+ ) -> None:
218
+ if __debug__:
219
+ type_hints = typing.get_type_hints(_typecheckingstub__97cf84910a3c46b94c3e90ddf73c07b304a029e413bebd1b7c5e7b2bbe5cd411)
220
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
221
+ jsii.set(self, "rule", value) # pyright: ignore[reportArgumentType]
222
+
223
+ @builtins.property
224
+ @jsii.member(jsii_name="ruleName")
225
+ def rule_name(self) -> builtins.str:
226
+ '''The name of the organization telemetry rule.'''
227
+ return typing.cast(builtins.str, jsii.get(self, "ruleName"))
228
+
229
+ @rule_name.setter
230
+ def rule_name(self, value: builtins.str) -> None:
231
+ if __debug__:
232
+ type_hints = typing.get_type_hints(_typecheckingstub__84099afcf940dd46614099ecc03e181396a6d202813d1517bd79414c5aa2f5ae)
233
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
234
+ jsii.set(self, "ruleName", value) # pyright: ignore[reportArgumentType]
235
+
236
+ @builtins.property
237
+ @jsii.member(jsii_name="tags")
238
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
239
+ '''An array of key-value pairs to apply to this resource.'''
240
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
241
+
242
+ @tags.setter
243
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
244
+ if __debug__:
245
+ type_hints = typing.get_type_hints(_typecheckingstub__d494e45ec3f03fbc2168c2e374f689615e98524c832aa6247ad243fabe01ffe7)
246
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
247
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
248
+
249
+ @jsii.data_type(
250
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationTelemetryRule.TelemetryDestinationConfigurationProperty",
251
+ jsii_struct_bases=[],
252
+ name_mapping={
253
+ "destination_pattern": "destinationPattern",
254
+ "destination_type": "destinationType",
255
+ "retention_in_days": "retentionInDays",
256
+ "vpc_flow_log_parameters": "vpcFlowLogParameters",
257
+ },
258
+ )
259
+ class TelemetryDestinationConfigurationProperty:
260
+ def __init__(
261
+ self,
262
+ *,
263
+ destination_pattern: typing.Optional[builtins.str] = None,
264
+ destination_type: typing.Optional[builtins.str] = None,
265
+ retention_in_days: typing.Optional[jsii.Number] = None,
266
+ vpc_flow_log_parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnOrganizationTelemetryRule.VPCFlowLogParametersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
267
+ ) -> None:
268
+ '''The destination configuration for telemetry data.
269
+
270
+ :param destination_pattern: Pattern for telemetry data destination.
271
+ :param destination_type: Type of telemetry destination.
272
+ :param retention_in_days: Number of days to retain the telemetry data in the specified destination.
273
+ :param vpc_flow_log_parameters: Telemetry parameters for VPC Flow logs.
274
+
275
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration.html
276
+ :exampleMetadata: fixture=_generated
277
+
278
+ Example::
279
+
280
+ # The code below shows an example of how to instantiate this type.
281
+ # The values are placeholders you should change.
282
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
283
+
284
+ telemetry_destination_configuration_property = observabilityadmin.CfnOrganizationTelemetryRule.TelemetryDestinationConfigurationProperty(
285
+ destination_pattern="destinationPattern",
286
+ destination_type="destinationType",
287
+ retention_in_days=123,
288
+ vpc_flow_log_parameters=observabilityadmin.CfnOrganizationTelemetryRule.VPCFlowLogParametersProperty(
289
+ log_format="logFormat",
290
+ max_aggregation_interval=123,
291
+ traffic_type="trafficType"
292
+ )
293
+ )
294
+ '''
295
+ if __debug__:
296
+ type_hints = typing.get_type_hints(_typecheckingstub__36b4168c57b4555036ca598e8299a36985c9aab7a1eb6b84357df4454b340171)
297
+ check_type(argname="argument destination_pattern", value=destination_pattern, expected_type=type_hints["destination_pattern"])
298
+ check_type(argname="argument destination_type", value=destination_type, expected_type=type_hints["destination_type"])
299
+ check_type(argname="argument retention_in_days", value=retention_in_days, expected_type=type_hints["retention_in_days"])
300
+ check_type(argname="argument vpc_flow_log_parameters", value=vpc_flow_log_parameters, expected_type=type_hints["vpc_flow_log_parameters"])
301
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
302
+ if destination_pattern is not None:
303
+ self._values["destination_pattern"] = destination_pattern
304
+ if destination_type is not None:
305
+ self._values["destination_type"] = destination_type
306
+ if retention_in_days is not None:
307
+ self._values["retention_in_days"] = retention_in_days
308
+ if vpc_flow_log_parameters is not None:
309
+ self._values["vpc_flow_log_parameters"] = vpc_flow_log_parameters
310
+
311
+ @builtins.property
312
+ def destination_pattern(self) -> typing.Optional[builtins.str]:
313
+ '''Pattern for telemetry data destination.
314
+
315
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration-destinationpattern
316
+ '''
317
+ result = self._values.get("destination_pattern")
318
+ return typing.cast(typing.Optional[builtins.str], result)
319
+
320
+ @builtins.property
321
+ def destination_type(self) -> typing.Optional[builtins.str]:
322
+ '''Type of telemetry destination.
323
+
324
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration-destinationtype
325
+ '''
326
+ result = self._values.get("destination_type")
327
+ return typing.cast(typing.Optional[builtins.str], result)
328
+
329
+ @builtins.property
330
+ def retention_in_days(self) -> typing.Optional[jsii.Number]:
331
+ '''Number of days to retain the telemetry data in the specified destination.
332
+
333
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration-retentionindays
334
+ '''
335
+ result = self._values.get("retention_in_days")
336
+ return typing.cast(typing.Optional[jsii.Number], result)
337
+
338
+ @builtins.property
339
+ def vpc_flow_log_parameters(
340
+ self,
341
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnOrganizationTelemetryRule.VPCFlowLogParametersProperty"]]:
342
+ '''Telemetry parameters for VPC Flow logs.
343
+
344
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration-vpcflowlogparameters
345
+ '''
346
+ result = self._values.get("vpc_flow_log_parameters")
347
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnOrganizationTelemetryRule.VPCFlowLogParametersProperty"]], result)
348
+
349
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
350
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
351
+
352
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
353
+ return not (rhs == self)
354
+
355
+ def __repr__(self) -> str:
356
+ return "TelemetryDestinationConfigurationProperty(%s)" % ", ".join(
357
+ k + "=" + repr(v) for k, v in self._values.items()
358
+ )
359
+
360
+ @jsii.data_type(
361
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationTelemetryRule.TelemetryRuleProperty",
362
+ jsii_struct_bases=[],
363
+ name_mapping={
364
+ "resource_type": "resourceType",
365
+ "telemetry_type": "telemetryType",
366
+ "destination_configuration": "destinationConfiguration",
367
+ "scope": "scope",
368
+ "selection_criteria": "selectionCriteria",
369
+ },
370
+ )
371
+ class TelemetryRuleProperty:
372
+ def __init__(
373
+ self,
374
+ *,
375
+ resource_type: builtins.str,
376
+ telemetry_type: builtins.str,
377
+ destination_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnOrganizationTelemetryRule.TelemetryDestinationConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
378
+ scope: typing.Optional[builtins.str] = None,
379
+ selection_criteria: typing.Optional[builtins.str] = None,
380
+ ) -> None:
381
+ '''The telemetry rule.
382
+
383
+ :param resource_type: Resource Type associated with the Organization Telemetry Rule.
384
+ :param telemetry_type: Telemetry Type associated with the Organization Telemetry Rule.
385
+ :param destination_configuration: The destination configuration for telemetry data.
386
+ :param scope: Selection Criteria on scope level for rule application.
387
+ :param selection_criteria: Selection Criteria on resource level for rule application.
388
+
389
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetryrule.html
390
+ :exampleMetadata: fixture=_generated
391
+
392
+ Example::
393
+
394
+ # The code below shows an example of how to instantiate this type.
395
+ # The values are placeholders you should change.
396
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
397
+
398
+ telemetry_rule_property = observabilityadmin.CfnOrganizationTelemetryRule.TelemetryRuleProperty(
399
+ resource_type="resourceType",
400
+ telemetry_type="telemetryType",
401
+
402
+ # the properties below are optional
403
+ destination_configuration=observabilityadmin.CfnOrganizationTelemetryRule.TelemetryDestinationConfigurationProperty(
404
+ destination_pattern="destinationPattern",
405
+ destination_type="destinationType",
406
+ retention_in_days=123,
407
+ vpc_flow_log_parameters=observabilityadmin.CfnOrganizationTelemetryRule.VPCFlowLogParametersProperty(
408
+ log_format="logFormat",
409
+ max_aggregation_interval=123,
410
+ traffic_type="trafficType"
411
+ )
412
+ ),
413
+ scope="scope",
414
+ selection_criteria="selectionCriteria"
415
+ )
416
+ '''
417
+ if __debug__:
418
+ type_hints = typing.get_type_hints(_typecheckingstub__8febf24ebcbc00029972152d874df5e847a9f5cd45e05abb26e69f7a2cabc5bf)
419
+ check_type(argname="argument resource_type", value=resource_type, expected_type=type_hints["resource_type"])
420
+ check_type(argname="argument telemetry_type", value=telemetry_type, expected_type=type_hints["telemetry_type"])
421
+ check_type(argname="argument destination_configuration", value=destination_configuration, expected_type=type_hints["destination_configuration"])
422
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
423
+ check_type(argname="argument selection_criteria", value=selection_criteria, expected_type=type_hints["selection_criteria"])
424
+ self._values: typing.Dict[builtins.str, typing.Any] = {
425
+ "resource_type": resource_type,
426
+ "telemetry_type": telemetry_type,
427
+ }
428
+ if destination_configuration is not None:
429
+ self._values["destination_configuration"] = destination_configuration
430
+ if scope is not None:
431
+ self._values["scope"] = scope
432
+ if selection_criteria is not None:
433
+ self._values["selection_criteria"] = selection_criteria
434
+
435
+ @builtins.property
436
+ def resource_type(self) -> builtins.str:
437
+ '''Resource Type associated with the Organization Telemetry Rule.
438
+
439
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-telemetryrule-resourcetype
440
+ '''
441
+ result = self._values.get("resource_type")
442
+ assert result is not None, "Required property 'resource_type' is missing"
443
+ return typing.cast(builtins.str, result)
444
+
445
+ @builtins.property
446
+ def telemetry_type(self) -> builtins.str:
447
+ '''Telemetry Type associated with the Organization Telemetry Rule.
448
+
449
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-telemetryrule-telemetrytype
450
+ '''
451
+ result = self._values.get("telemetry_type")
452
+ assert result is not None, "Required property 'telemetry_type' is missing"
453
+ return typing.cast(builtins.str, result)
454
+
455
+ @builtins.property
456
+ def destination_configuration(
457
+ self,
458
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnOrganizationTelemetryRule.TelemetryDestinationConfigurationProperty"]]:
459
+ '''The destination configuration for telemetry data.
460
+
461
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-telemetryrule-destinationconfiguration
462
+ '''
463
+ result = self._values.get("destination_configuration")
464
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnOrganizationTelemetryRule.TelemetryDestinationConfigurationProperty"]], result)
465
+
466
+ @builtins.property
467
+ def scope(self) -> typing.Optional[builtins.str]:
468
+ '''Selection Criteria on scope level for rule application.
469
+
470
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-telemetryrule-scope
471
+ '''
472
+ result = self._values.get("scope")
473
+ return typing.cast(typing.Optional[builtins.str], result)
474
+
475
+ @builtins.property
476
+ def selection_criteria(self) -> typing.Optional[builtins.str]:
477
+ '''Selection Criteria on resource level for rule application.
478
+
479
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-telemetryrule-selectioncriteria
480
+ '''
481
+ result = self._values.get("selection_criteria")
482
+ return typing.cast(typing.Optional[builtins.str], result)
483
+
484
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
485
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
486
+
487
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
488
+ return not (rhs == self)
489
+
490
+ def __repr__(self) -> str:
491
+ return "TelemetryRuleProperty(%s)" % ", ".join(
492
+ k + "=" + repr(v) for k, v in self._values.items()
493
+ )
494
+
495
+ @jsii.data_type(
496
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationTelemetryRule.VPCFlowLogParametersProperty",
497
+ jsii_struct_bases=[],
498
+ name_mapping={
499
+ "log_format": "logFormat",
500
+ "max_aggregation_interval": "maxAggregationInterval",
501
+ "traffic_type": "trafficType",
502
+ },
503
+ )
504
+ class VPCFlowLogParametersProperty:
505
+ def __init__(
506
+ self,
507
+ *,
508
+ log_format: typing.Optional[builtins.str] = None,
509
+ max_aggregation_interval: typing.Optional[jsii.Number] = None,
510
+ traffic_type: typing.Optional[builtins.str] = None,
511
+ ) -> None:
512
+ '''Telemetry parameters for VPC Flow logs.
513
+
514
+ :param log_format: The fields to include in the flow log record. If you omit this parameter, the flow log is created using the default format.
515
+ :param max_aggregation_interval: The maximum interval of time, in seconds, during which a flow of packets is captured and aggregated into a flow log record. Default is 600s.
516
+ :param traffic_type: The type of traffic captured for the flow log. Default is ALL
517
+
518
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters.html
519
+ :exampleMetadata: fixture=_generated
520
+
521
+ Example::
522
+
523
+ # The code below shows an example of how to instantiate this type.
524
+ # The values are placeholders you should change.
525
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
526
+
527
+ v_pCFlow_log_parameters_property = observabilityadmin.CfnOrganizationTelemetryRule.VPCFlowLogParametersProperty(
528
+ log_format="logFormat",
529
+ max_aggregation_interval=123,
530
+ traffic_type="trafficType"
531
+ )
532
+ '''
533
+ if __debug__:
534
+ type_hints = typing.get_type_hints(_typecheckingstub__945b01222f6573dfd9bd365335b34de4d056db844b2fe9ffa6c9d40371eaff6e)
535
+ check_type(argname="argument log_format", value=log_format, expected_type=type_hints["log_format"])
536
+ check_type(argname="argument max_aggregation_interval", value=max_aggregation_interval, expected_type=type_hints["max_aggregation_interval"])
537
+ check_type(argname="argument traffic_type", value=traffic_type, expected_type=type_hints["traffic_type"])
538
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
539
+ if log_format is not None:
540
+ self._values["log_format"] = log_format
541
+ if max_aggregation_interval is not None:
542
+ self._values["max_aggregation_interval"] = max_aggregation_interval
543
+ if traffic_type is not None:
544
+ self._values["traffic_type"] = traffic_type
545
+
546
+ @builtins.property
547
+ def log_format(self) -> typing.Optional[builtins.str]:
548
+ '''The fields to include in the flow log record.
549
+
550
+ If you omit this parameter, the flow log is created using the default format.
551
+
552
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters.html#cfn-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters-logformat
553
+ '''
554
+ result = self._values.get("log_format")
555
+ return typing.cast(typing.Optional[builtins.str], result)
556
+
557
+ @builtins.property
558
+ def max_aggregation_interval(self) -> typing.Optional[jsii.Number]:
559
+ '''The maximum interval of time, in seconds, during which a flow of packets is captured and aggregated into a flow log record.
560
+
561
+ Default is 600s.
562
+
563
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters.html#cfn-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters-maxaggregationinterval
564
+ '''
565
+ result = self._values.get("max_aggregation_interval")
566
+ return typing.cast(typing.Optional[jsii.Number], result)
567
+
568
+ @builtins.property
569
+ def traffic_type(self) -> typing.Optional[builtins.str]:
570
+ '''The type of traffic captured for the flow log.
571
+
572
+ Default is ALL
573
+
574
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters.html#cfn-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters-traffictype
575
+ '''
576
+ result = self._values.get("traffic_type")
577
+ return typing.cast(typing.Optional[builtins.str], result)
578
+
579
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
580
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
581
+
582
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
583
+ return not (rhs == self)
584
+
585
+ def __repr__(self) -> str:
586
+ return "VPCFlowLogParametersProperty(%s)" % ", ".join(
587
+ k + "=" + repr(v) for k, v in self._values.items()
588
+ )
589
+
590
+
591
+ @jsii.data_type(
592
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationTelemetryRuleProps",
593
+ jsii_struct_bases=[],
594
+ name_mapping={"rule": "rule", "rule_name": "ruleName", "tags": "tags"},
595
+ )
596
+ class CfnOrganizationTelemetryRuleProps:
597
+ def __init__(
598
+ self,
599
+ *,
600
+ rule: typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationTelemetryRule.TelemetryRuleProperty, typing.Dict[builtins.str, typing.Any]]],
601
+ rule_name: builtins.str,
602
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
603
+ ) -> None:
604
+ '''Properties for defining a ``CfnOrganizationTelemetryRule``.
605
+
606
+ :param rule: The telemetry rule.
607
+ :param rule_name: The name of the organization telemetry rule.
608
+ :param tags: An array of key-value pairs to apply to this resource.
609
+
610
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationtelemetryrule.html
611
+ :exampleMetadata: fixture=_generated
612
+
613
+ Example::
614
+
615
+ # The code below shows an example of how to instantiate this type.
616
+ # The values are placeholders you should change.
617
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
618
+
619
+ cfn_organization_telemetry_rule_props = observabilityadmin.CfnOrganizationTelemetryRuleProps(
620
+ rule=observabilityadmin.CfnOrganizationTelemetryRule.TelemetryRuleProperty(
621
+ resource_type="resourceType",
622
+ telemetry_type="telemetryType",
623
+
624
+ # the properties below are optional
625
+ destination_configuration=observabilityadmin.CfnOrganizationTelemetryRule.TelemetryDestinationConfigurationProperty(
626
+ destination_pattern="destinationPattern",
627
+ destination_type="destinationType",
628
+ retention_in_days=123,
629
+ vpc_flow_log_parameters=observabilityadmin.CfnOrganizationTelemetryRule.VPCFlowLogParametersProperty(
630
+ log_format="logFormat",
631
+ max_aggregation_interval=123,
632
+ traffic_type="trafficType"
633
+ )
634
+ ),
635
+ scope="scope",
636
+ selection_criteria="selectionCriteria"
637
+ ),
638
+ rule_name="ruleName",
639
+
640
+ # the properties below are optional
641
+ tags=[CfnTag(
642
+ key="key",
643
+ value="value"
644
+ )]
645
+ )
646
+ '''
647
+ if __debug__:
648
+ type_hints = typing.get_type_hints(_typecheckingstub__45c94381428dd096d5bd5b31c1a78b0ec6c66b125c46a889f389e957dbf9f76b)
649
+ check_type(argname="argument rule", value=rule, expected_type=type_hints["rule"])
650
+ check_type(argname="argument rule_name", value=rule_name, expected_type=type_hints["rule_name"])
651
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
652
+ self._values: typing.Dict[builtins.str, typing.Any] = {
653
+ "rule": rule,
654
+ "rule_name": rule_name,
655
+ }
656
+ if tags is not None:
657
+ self._values["tags"] = tags
658
+
659
+ @builtins.property
660
+ def rule(
661
+ self,
662
+ ) -> typing.Union[_IResolvable_da3f097b, CfnOrganizationTelemetryRule.TelemetryRuleProperty]:
663
+ '''The telemetry rule.
664
+
665
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationtelemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-rule
666
+ '''
667
+ result = self._values.get("rule")
668
+ assert result is not None, "Required property 'rule' is missing"
669
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnOrganizationTelemetryRule.TelemetryRuleProperty], result)
670
+
671
+ @builtins.property
672
+ def rule_name(self) -> builtins.str:
673
+ '''The name of the organization telemetry rule.
674
+
675
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationtelemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-rulename
676
+ '''
677
+ result = self._values.get("rule_name")
678
+ assert result is not None, "Required property 'rule_name' is missing"
679
+ return typing.cast(builtins.str, result)
680
+
681
+ @builtins.property
682
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
683
+ '''An array of key-value pairs to apply to this resource.
684
+
685
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationtelemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-tags
686
+ '''
687
+ result = self._values.get("tags")
688
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
689
+
690
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
691
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
692
+
693
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
694
+ return not (rhs == self)
695
+
696
+ def __repr__(self) -> str:
697
+ return "CfnOrganizationTelemetryRuleProps(%s)" % ", ".join(
698
+ k + "=" + repr(v) for k, v in self._values.items()
699
+ )
700
+
701
+
702
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
703
+ class CfnTelemetryRule(
704
+ _CfnResource_9df397a6,
705
+ metaclass=jsii.JSIIMeta,
706
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnTelemetryRule",
707
+ ):
708
+ '''The AWS::ObservabilityAdmin::TelemetryRule resource defines a CloudWatch Observability Admin Telemetry Rule.
709
+
710
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-telemetryrule.html
711
+ :cloudformationResource: AWS::ObservabilityAdmin::TelemetryRule
712
+ :exampleMetadata: fixture=_generated
713
+
714
+ Example::
715
+
716
+ # The code below shows an example of how to instantiate this type.
717
+ # The values are placeholders you should change.
718
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
719
+
720
+ cfn_telemetry_rule = observabilityadmin.CfnTelemetryRule(self, "MyCfnTelemetryRule",
721
+ rule=observabilityadmin.CfnTelemetryRule.TelemetryRuleProperty(
722
+ resource_type="resourceType",
723
+ telemetry_type="telemetryType",
724
+
725
+ # the properties below are optional
726
+ destination_configuration=observabilityadmin.CfnTelemetryRule.TelemetryDestinationConfigurationProperty(
727
+ destination_pattern="destinationPattern",
728
+ destination_type="destinationType",
729
+ retention_in_days=123,
730
+ vpc_flow_log_parameters=observabilityadmin.CfnTelemetryRule.VPCFlowLogParametersProperty(
731
+ log_format="logFormat",
732
+ max_aggregation_interval=123,
733
+ traffic_type="trafficType"
734
+ )
735
+ ),
736
+ selection_criteria="selectionCriteria"
737
+ ),
738
+ rule_name="ruleName",
739
+
740
+ # the properties below are optional
741
+ tags=[CfnTag(
742
+ key="key",
743
+ value="value"
744
+ )]
745
+ )
746
+ '''
747
+
748
+ def __init__(
749
+ self,
750
+ scope: _constructs_77d1e7e8.Construct,
751
+ id: builtins.str,
752
+ *,
753
+ rule: typing.Union[_IResolvable_da3f097b, typing.Union["CfnTelemetryRule.TelemetryRuleProperty", typing.Dict[builtins.str, typing.Any]]],
754
+ rule_name: builtins.str,
755
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
756
+ ) -> None:
757
+ '''
758
+ :param scope: Scope in which this resource is defined.
759
+ :param id: Construct identifier for this resource (unique in its scope).
760
+ :param rule: The telemetry rule.
761
+ :param rule_name: The name of the telemetry rule.
762
+ :param tags: An array of key-value pairs to apply to this resource.
763
+ '''
764
+ if __debug__:
765
+ type_hints = typing.get_type_hints(_typecheckingstub__1cb28d06ef60815f8488b771b64aca8e3671a315a3f6676ad80a414dcd296224)
766
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
767
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
768
+ props = CfnTelemetryRuleProps(rule=rule, rule_name=rule_name, tags=tags)
769
+
770
+ jsii.create(self.__class__, self, [scope, id, props])
771
+
772
+ @jsii.member(jsii_name="inspect")
773
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
774
+ '''Examines the CloudFormation resource and discloses attributes.
775
+
776
+ :param inspector: tree inspector to collect and process attributes.
777
+ '''
778
+ if __debug__:
779
+ type_hints = typing.get_type_hints(_typecheckingstub__c971c1c4e8e03d4140674a22f18490c0a14f143dab5c9b15a801d0e69e908b92)
780
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
781
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
782
+
783
+ @jsii.member(jsii_name="renderProperties")
784
+ def _render_properties(
785
+ self,
786
+ props: typing.Mapping[builtins.str, typing.Any],
787
+ ) -> typing.Mapping[builtins.str, typing.Any]:
788
+ '''
789
+ :param props: -
790
+ '''
791
+ if __debug__:
792
+ type_hints = typing.get_type_hints(_typecheckingstub__adf48e055c256d6f5cb987ba3921807e211a303c3d38be6a02b6932f52a739fe)
793
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
794
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
795
+
796
+ @jsii.python.classproperty
797
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
798
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
799
+ '''The CloudFormation resource type name for this resource class.'''
800
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
801
+
802
+ @builtins.property
803
+ @jsii.member(jsii_name="attrRuleArn")
804
+ def attr_rule_arn(self) -> builtins.str:
805
+ '''The arn of the telemetry rule.
806
+
807
+ :cloudformationAttribute: RuleArn
808
+ '''
809
+ return typing.cast(builtins.str, jsii.get(self, "attrRuleArn"))
810
+
811
+ @builtins.property
812
+ @jsii.member(jsii_name="cdkTagManager")
813
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
814
+ '''Tag Manager which manages the tags for this resource.'''
815
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
816
+
817
+ @builtins.property
818
+ @jsii.member(jsii_name="cfnProperties")
819
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
820
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
821
+
822
+ @builtins.property
823
+ @jsii.member(jsii_name="rule")
824
+ def rule(
825
+ self,
826
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnTelemetryRule.TelemetryRuleProperty"]:
827
+ '''The telemetry rule.'''
828
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnTelemetryRule.TelemetryRuleProperty"], jsii.get(self, "rule"))
829
+
830
+ @rule.setter
831
+ def rule(
832
+ self,
833
+ value: typing.Union[_IResolvable_da3f097b, "CfnTelemetryRule.TelemetryRuleProperty"],
834
+ ) -> None:
835
+ if __debug__:
836
+ type_hints = typing.get_type_hints(_typecheckingstub__253115d76ca17e48e13df2aa679666bb12581680b457a45a7743f6a80d6dbfa1)
837
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
838
+ jsii.set(self, "rule", value) # pyright: ignore[reportArgumentType]
839
+
840
+ @builtins.property
841
+ @jsii.member(jsii_name="ruleName")
842
+ def rule_name(self) -> builtins.str:
843
+ '''The name of the telemetry rule.'''
844
+ return typing.cast(builtins.str, jsii.get(self, "ruleName"))
845
+
846
+ @rule_name.setter
847
+ def rule_name(self, value: builtins.str) -> None:
848
+ if __debug__:
849
+ type_hints = typing.get_type_hints(_typecheckingstub__c59aae5f9c690d805a52b4e5949569db025239eb21172f781673428651a87d80)
850
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
851
+ jsii.set(self, "ruleName", value) # pyright: ignore[reportArgumentType]
852
+
853
+ @builtins.property
854
+ @jsii.member(jsii_name="tags")
855
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
856
+ '''An array of key-value pairs to apply to this resource.'''
857
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
858
+
859
+ @tags.setter
860
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
861
+ if __debug__:
862
+ type_hints = typing.get_type_hints(_typecheckingstub__ec4f4991901119d1b8ec2bf2b1d23daff9627e5f20b555f27ec8fd5bc58890b7)
863
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
864
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
865
+
866
+ @jsii.data_type(
867
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnTelemetryRule.TelemetryDestinationConfigurationProperty",
868
+ jsii_struct_bases=[],
869
+ name_mapping={
870
+ "destination_pattern": "destinationPattern",
871
+ "destination_type": "destinationType",
872
+ "retention_in_days": "retentionInDays",
873
+ "vpc_flow_log_parameters": "vpcFlowLogParameters",
874
+ },
875
+ )
876
+ class TelemetryDestinationConfigurationProperty:
877
+ def __init__(
878
+ self,
879
+ *,
880
+ destination_pattern: typing.Optional[builtins.str] = None,
881
+ destination_type: typing.Optional[builtins.str] = None,
882
+ retention_in_days: typing.Optional[jsii.Number] = None,
883
+ vpc_flow_log_parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTelemetryRule.VPCFlowLogParametersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
884
+ ) -> None:
885
+ '''The destination configuration for telemetry data.
886
+
887
+ :param destination_pattern: Pattern for telemetry data destination.
888
+ :param destination_type: Type of telemetry destination.
889
+ :param retention_in_days: Number of days to retain the telemetry data in the specified destination.
890
+ :param vpc_flow_log_parameters: Telemetry parameters for VPC Flow logs.
891
+
892
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetrydestinationconfiguration.html
893
+ :exampleMetadata: fixture=_generated
894
+
895
+ Example::
896
+
897
+ # The code below shows an example of how to instantiate this type.
898
+ # The values are placeholders you should change.
899
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
900
+
901
+ telemetry_destination_configuration_property = observabilityadmin.CfnTelemetryRule.TelemetryDestinationConfigurationProperty(
902
+ destination_pattern="destinationPattern",
903
+ destination_type="destinationType",
904
+ retention_in_days=123,
905
+ vpc_flow_log_parameters=observabilityadmin.CfnTelemetryRule.VPCFlowLogParametersProperty(
906
+ log_format="logFormat",
907
+ max_aggregation_interval=123,
908
+ traffic_type="trafficType"
909
+ )
910
+ )
911
+ '''
912
+ if __debug__:
913
+ type_hints = typing.get_type_hints(_typecheckingstub__01ec7a824466c4f6343ec939656046b6c12a168edd9bbf6ebca41e4b5d1554d5)
914
+ check_type(argname="argument destination_pattern", value=destination_pattern, expected_type=type_hints["destination_pattern"])
915
+ check_type(argname="argument destination_type", value=destination_type, expected_type=type_hints["destination_type"])
916
+ check_type(argname="argument retention_in_days", value=retention_in_days, expected_type=type_hints["retention_in_days"])
917
+ check_type(argname="argument vpc_flow_log_parameters", value=vpc_flow_log_parameters, expected_type=type_hints["vpc_flow_log_parameters"])
918
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
919
+ if destination_pattern is not None:
920
+ self._values["destination_pattern"] = destination_pattern
921
+ if destination_type is not None:
922
+ self._values["destination_type"] = destination_type
923
+ if retention_in_days is not None:
924
+ self._values["retention_in_days"] = retention_in_days
925
+ if vpc_flow_log_parameters is not None:
926
+ self._values["vpc_flow_log_parameters"] = vpc_flow_log_parameters
927
+
928
+ @builtins.property
929
+ def destination_pattern(self) -> typing.Optional[builtins.str]:
930
+ '''Pattern for telemetry data destination.
931
+
932
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-telemetryrule-telemetrydestinationconfiguration-destinationpattern
933
+ '''
934
+ result = self._values.get("destination_pattern")
935
+ return typing.cast(typing.Optional[builtins.str], result)
936
+
937
+ @builtins.property
938
+ def destination_type(self) -> typing.Optional[builtins.str]:
939
+ '''Type of telemetry destination.
940
+
941
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-telemetryrule-telemetrydestinationconfiguration-destinationtype
942
+ '''
943
+ result = self._values.get("destination_type")
944
+ return typing.cast(typing.Optional[builtins.str], result)
945
+
946
+ @builtins.property
947
+ def retention_in_days(self) -> typing.Optional[jsii.Number]:
948
+ '''Number of days to retain the telemetry data in the specified destination.
949
+
950
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-telemetryrule-telemetrydestinationconfiguration-retentionindays
951
+ '''
952
+ result = self._values.get("retention_in_days")
953
+ return typing.cast(typing.Optional[jsii.Number], result)
954
+
955
+ @builtins.property
956
+ def vpc_flow_log_parameters(
957
+ self,
958
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTelemetryRule.VPCFlowLogParametersProperty"]]:
959
+ '''Telemetry parameters for VPC Flow logs.
960
+
961
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-telemetryrule-telemetrydestinationconfiguration-vpcflowlogparameters
962
+ '''
963
+ result = self._values.get("vpc_flow_log_parameters")
964
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTelemetryRule.VPCFlowLogParametersProperty"]], result)
965
+
966
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
967
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
968
+
969
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
970
+ return not (rhs == self)
971
+
972
+ def __repr__(self) -> str:
973
+ return "TelemetryDestinationConfigurationProperty(%s)" % ", ".join(
974
+ k + "=" + repr(v) for k, v in self._values.items()
975
+ )
976
+
977
+ @jsii.data_type(
978
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnTelemetryRule.TelemetryRuleProperty",
979
+ jsii_struct_bases=[],
980
+ name_mapping={
981
+ "resource_type": "resourceType",
982
+ "telemetry_type": "telemetryType",
983
+ "destination_configuration": "destinationConfiguration",
984
+ "selection_criteria": "selectionCriteria",
985
+ },
986
+ )
987
+ class TelemetryRuleProperty:
988
+ def __init__(
989
+ self,
990
+ *,
991
+ resource_type: builtins.str,
992
+ telemetry_type: builtins.str,
993
+ destination_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTelemetryRule.TelemetryDestinationConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
994
+ selection_criteria: typing.Optional[builtins.str] = None,
995
+ ) -> None:
996
+ '''The telemetry rule.
997
+
998
+ :param resource_type: Resource Type associated with the Telemetry Rule.
999
+ :param telemetry_type: Telemetry Type associated with the Telemetry Rule.
1000
+ :param destination_configuration: The destination configuration for telemetry data.
1001
+ :param selection_criteria: Selection Criteria on resource level for rule application.
1002
+
1003
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetryrule.html
1004
+ :exampleMetadata: fixture=_generated
1005
+
1006
+ Example::
1007
+
1008
+ # The code below shows an example of how to instantiate this type.
1009
+ # The values are placeholders you should change.
1010
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
1011
+
1012
+ telemetry_rule_property = observabilityadmin.CfnTelemetryRule.TelemetryRuleProperty(
1013
+ resource_type="resourceType",
1014
+ telemetry_type="telemetryType",
1015
+
1016
+ # the properties below are optional
1017
+ destination_configuration=observabilityadmin.CfnTelemetryRule.TelemetryDestinationConfigurationProperty(
1018
+ destination_pattern="destinationPattern",
1019
+ destination_type="destinationType",
1020
+ retention_in_days=123,
1021
+ vpc_flow_log_parameters=observabilityadmin.CfnTelemetryRule.VPCFlowLogParametersProperty(
1022
+ log_format="logFormat",
1023
+ max_aggregation_interval=123,
1024
+ traffic_type="trafficType"
1025
+ )
1026
+ ),
1027
+ selection_criteria="selectionCriteria"
1028
+ )
1029
+ '''
1030
+ if __debug__:
1031
+ type_hints = typing.get_type_hints(_typecheckingstub__25d1c19a045d927560ccf78552c0595fbd7db1322a4e66f60e4d9cb5393b81c3)
1032
+ check_type(argname="argument resource_type", value=resource_type, expected_type=type_hints["resource_type"])
1033
+ check_type(argname="argument telemetry_type", value=telemetry_type, expected_type=type_hints["telemetry_type"])
1034
+ check_type(argname="argument destination_configuration", value=destination_configuration, expected_type=type_hints["destination_configuration"])
1035
+ check_type(argname="argument selection_criteria", value=selection_criteria, expected_type=type_hints["selection_criteria"])
1036
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1037
+ "resource_type": resource_type,
1038
+ "telemetry_type": telemetry_type,
1039
+ }
1040
+ if destination_configuration is not None:
1041
+ self._values["destination_configuration"] = destination_configuration
1042
+ if selection_criteria is not None:
1043
+ self._values["selection_criteria"] = selection_criteria
1044
+
1045
+ @builtins.property
1046
+ def resource_type(self) -> builtins.str:
1047
+ '''Resource Type associated with the Telemetry Rule.
1048
+
1049
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetryrule.html#cfn-observabilityadmin-telemetryrule-telemetryrule-resourcetype
1050
+ '''
1051
+ result = self._values.get("resource_type")
1052
+ assert result is not None, "Required property 'resource_type' is missing"
1053
+ return typing.cast(builtins.str, result)
1054
+
1055
+ @builtins.property
1056
+ def telemetry_type(self) -> builtins.str:
1057
+ '''Telemetry Type associated with the Telemetry Rule.
1058
+
1059
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetryrule.html#cfn-observabilityadmin-telemetryrule-telemetryrule-telemetrytype
1060
+ '''
1061
+ result = self._values.get("telemetry_type")
1062
+ assert result is not None, "Required property 'telemetry_type' is missing"
1063
+ return typing.cast(builtins.str, result)
1064
+
1065
+ @builtins.property
1066
+ def destination_configuration(
1067
+ self,
1068
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTelemetryRule.TelemetryDestinationConfigurationProperty"]]:
1069
+ '''The destination configuration for telemetry data.
1070
+
1071
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetryrule.html#cfn-observabilityadmin-telemetryrule-telemetryrule-destinationconfiguration
1072
+ '''
1073
+ result = self._values.get("destination_configuration")
1074
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTelemetryRule.TelemetryDestinationConfigurationProperty"]], result)
1075
+
1076
+ @builtins.property
1077
+ def selection_criteria(self) -> typing.Optional[builtins.str]:
1078
+ '''Selection Criteria on resource level for rule application.
1079
+
1080
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetryrule.html#cfn-observabilityadmin-telemetryrule-telemetryrule-selectioncriteria
1081
+ '''
1082
+ result = self._values.get("selection_criteria")
1083
+ return typing.cast(typing.Optional[builtins.str], result)
1084
+
1085
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1086
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1087
+
1088
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1089
+ return not (rhs == self)
1090
+
1091
+ def __repr__(self) -> str:
1092
+ return "TelemetryRuleProperty(%s)" % ", ".join(
1093
+ k + "=" + repr(v) for k, v in self._values.items()
1094
+ )
1095
+
1096
+ @jsii.data_type(
1097
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnTelemetryRule.VPCFlowLogParametersProperty",
1098
+ jsii_struct_bases=[],
1099
+ name_mapping={
1100
+ "log_format": "logFormat",
1101
+ "max_aggregation_interval": "maxAggregationInterval",
1102
+ "traffic_type": "trafficType",
1103
+ },
1104
+ )
1105
+ class VPCFlowLogParametersProperty:
1106
+ def __init__(
1107
+ self,
1108
+ *,
1109
+ log_format: typing.Optional[builtins.str] = None,
1110
+ max_aggregation_interval: typing.Optional[jsii.Number] = None,
1111
+ traffic_type: typing.Optional[builtins.str] = None,
1112
+ ) -> None:
1113
+ '''Telemetry parameters for VPC Flow logs.
1114
+
1115
+ :param log_format: The fields to include in the flow log record. If you omit this parameter, the flow log is created using the default format.
1116
+ :param max_aggregation_interval: The maximum interval of time, in seconds, during which a flow of packets is captured and aggregated into a flow log record. Default is 600s.
1117
+ :param traffic_type: The type of traffic captured for the flow log. Default is ALL
1118
+
1119
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-vpcflowlogparameters.html
1120
+ :exampleMetadata: fixture=_generated
1121
+
1122
+ Example::
1123
+
1124
+ # The code below shows an example of how to instantiate this type.
1125
+ # The values are placeholders you should change.
1126
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
1127
+
1128
+ v_pCFlow_log_parameters_property = observabilityadmin.CfnTelemetryRule.VPCFlowLogParametersProperty(
1129
+ log_format="logFormat",
1130
+ max_aggregation_interval=123,
1131
+ traffic_type="trafficType"
1132
+ )
1133
+ '''
1134
+ if __debug__:
1135
+ type_hints = typing.get_type_hints(_typecheckingstub__cb426e63d8ddff6bc9e58865c89c023dbf7b61ef2e21b2f9ff902df9db830681)
1136
+ check_type(argname="argument log_format", value=log_format, expected_type=type_hints["log_format"])
1137
+ check_type(argname="argument max_aggregation_interval", value=max_aggregation_interval, expected_type=type_hints["max_aggregation_interval"])
1138
+ check_type(argname="argument traffic_type", value=traffic_type, expected_type=type_hints["traffic_type"])
1139
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1140
+ if log_format is not None:
1141
+ self._values["log_format"] = log_format
1142
+ if max_aggregation_interval is not None:
1143
+ self._values["max_aggregation_interval"] = max_aggregation_interval
1144
+ if traffic_type is not None:
1145
+ self._values["traffic_type"] = traffic_type
1146
+
1147
+ @builtins.property
1148
+ def log_format(self) -> typing.Optional[builtins.str]:
1149
+ '''The fields to include in the flow log record.
1150
+
1151
+ If you omit this parameter, the flow log is created using the default format.
1152
+
1153
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-vpcflowlogparameters.html#cfn-observabilityadmin-telemetryrule-vpcflowlogparameters-logformat
1154
+ '''
1155
+ result = self._values.get("log_format")
1156
+ return typing.cast(typing.Optional[builtins.str], result)
1157
+
1158
+ @builtins.property
1159
+ def max_aggregation_interval(self) -> typing.Optional[jsii.Number]:
1160
+ '''The maximum interval of time, in seconds, during which a flow of packets is captured and aggregated into a flow log record.
1161
+
1162
+ Default is 600s.
1163
+
1164
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-vpcflowlogparameters.html#cfn-observabilityadmin-telemetryrule-vpcflowlogparameters-maxaggregationinterval
1165
+ '''
1166
+ result = self._values.get("max_aggregation_interval")
1167
+ return typing.cast(typing.Optional[jsii.Number], result)
1168
+
1169
+ @builtins.property
1170
+ def traffic_type(self) -> typing.Optional[builtins.str]:
1171
+ '''The type of traffic captured for the flow log.
1172
+
1173
+ Default is ALL
1174
+
1175
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-vpcflowlogparameters.html#cfn-observabilityadmin-telemetryrule-vpcflowlogparameters-traffictype
1176
+ '''
1177
+ result = self._values.get("traffic_type")
1178
+ return typing.cast(typing.Optional[builtins.str], result)
1179
+
1180
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1181
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1182
+
1183
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1184
+ return not (rhs == self)
1185
+
1186
+ def __repr__(self) -> str:
1187
+ return "VPCFlowLogParametersProperty(%s)" % ", ".join(
1188
+ k + "=" + repr(v) for k, v in self._values.items()
1189
+ )
1190
+
1191
+
1192
+ @jsii.data_type(
1193
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnTelemetryRuleProps",
1194
+ jsii_struct_bases=[],
1195
+ name_mapping={"rule": "rule", "rule_name": "ruleName", "tags": "tags"},
1196
+ )
1197
+ class CfnTelemetryRuleProps:
1198
+ def __init__(
1199
+ self,
1200
+ *,
1201
+ rule: typing.Union[_IResolvable_da3f097b, typing.Union[CfnTelemetryRule.TelemetryRuleProperty, typing.Dict[builtins.str, typing.Any]]],
1202
+ rule_name: builtins.str,
1203
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1204
+ ) -> None:
1205
+ '''Properties for defining a ``CfnTelemetryRule``.
1206
+
1207
+ :param rule: The telemetry rule.
1208
+ :param rule_name: The name of the telemetry rule.
1209
+ :param tags: An array of key-value pairs to apply to this resource.
1210
+
1211
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-telemetryrule.html
1212
+ :exampleMetadata: fixture=_generated
1213
+
1214
+ Example::
1215
+
1216
+ # The code below shows an example of how to instantiate this type.
1217
+ # The values are placeholders you should change.
1218
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
1219
+
1220
+ cfn_telemetry_rule_props = observabilityadmin.CfnTelemetryRuleProps(
1221
+ rule=observabilityadmin.CfnTelemetryRule.TelemetryRuleProperty(
1222
+ resource_type="resourceType",
1223
+ telemetry_type="telemetryType",
1224
+
1225
+ # the properties below are optional
1226
+ destination_configuration=observabilityadmin.CfnTelemetryRule.TelemetryDestinationConfigurationProperty(
1227
+ destination_pattern="destinationPattern",
1228
+ destination_type="destinationType",
1229
+ retention_in_days=123,
1230
+ vpc_flow_log_parameters=observabilityadmin.CfnTelemetryRule.VPCFlowLogParametersProperty(
1231
+ log_format="logFormat",
1232
+ max_aggregation_interval=123,
1233
+ traffic_type="trafficType"
1234
+ )
1235
+ ),
1236
+ selection_criteria="selectionCriteria"
1237
+ ),
1238
+ rule_name="ruleName",
1239
+
1240
+ # the properties below are optional
1241
+ tags=[CfnTag(
1242
+ key="key",
1243
+ value="value"
1244
+ )]
1245
+ )
1246
+ '''
1247
+ if __debug__:
1248
+ type_hints = typing.get_type_hints(_typecheckingstub__7455cb845b044ed569a8ec8407abf811920062f00d1e54ad191e90dc9b7e2811)
1249
+ check_type(argname="argument rule", value=rule, expected_type=type_hints["rule"])
1250
+ check_type(argname="argument rule_name", value=rule_name, expected_type=type_hints["rule_name"])
1251
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
1252
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1253
+ "rule": rule,
1254
+ "rule_name": rule_name,
1255
+ }
1256
+ if tags is not None:
1257
+ self._values["tags"] = tags
1258
+
1259
+ @builtins.property
1260
+ def rule(
1261
+ self,
1262
+ ) -> typing.Union[_IResolvable_da3f097b, CfnTelemetryRule.TelemetryRuleProperty]:
1263
+ '''The telemetry rule.
1264
+
1265
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-telemetryrule.html#cfn-observabilityadmin-telemetryrule-rule
1266
+ '''
1267
+ result = self._values.get("rule")
1268
+ assert result is not None, "Required property 'rule' is missing"
1269
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnTelemetryRule.TelemetryRuleProperty], result)
1270
+
1271
+ @builtins.property
1272
+ def rule_name(self) -> builtins.str:
1273
+ '''The name of the telemetry rule.
1274
+
1275
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-telemetryrule.html#cfn-observabilityadmin-telemetryrule-rulename
1276
+ '''
1277
+ result = self._values.get("rule_name")
1278
+ assert result is not None, "Required property 'rule_name' is missing"
1279
+ return typing.cast(builtins.str, result)
1280
+
1281
+ @builtins.property
1282
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1283
+ '''An array of key-value pairs to apply to this resource.
1284
+
1285
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-telemetryrule.html#cfn-observabilityadmin-telemetryrule-tags
1286
+ '''
1287
+ result = self._values.get("tags")
1288
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
1289
+
1290
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1291
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1292
+
1293
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1294
+ return not (rhs == self)
1295
+
1296
+ def __repr__(self) -> str:
1297
+ return "CfnTelemetryRuleProps(%s)" % ", ".join(
1298
+ k + "=" + repr(v) for k, v in self._values.items()
1299
+ )
1300
+
1301
+
1302
+ __all__ = [
1303
+ "CfnOrganizationTelemetryRule",
1304
+ "CfnOrganizationTelemetryRuleProps",
1305
+ "CfnTelemetryRule",
1306
+ "CfnTelemetryRuleProps",
1307
+ ]
1308
+
1309
+ publication.publish()
1310
+
1311
+ def _typecheckingstub__a67d6a9dd82924a413b7d3435faeb8efa735048df0244b926e672def8c2d5f75(
1312
+ scope: _constructs_77d1e7e8.Construct,
1313
+ id: builtins.str,
1314
+ *,
1315
+ rule: typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationTelemetryRule.TelemetryRuleProperty, typing.Dict[builtins.str, typing.Any]]],
1316
+ rule_name: builtins.str,
1317
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1318
+ ) -> None:
1319
+ """Type checking stubs"""
1320
+ pass
1321
+
1322
+ def _typecheckingstub__0cb893813673a29ee1f384593916d34bdcc440b816dfc54ad27097692c5a64e9(
1323
+ inspector: _TreeInspector_488e0dd5,
1324
+ ) -> None:
1325
+ """Type checking stubs"""
1326
+ pass
1327
+
1328
+ def _typecheckingstub__c809c768027da00df4018694393faf5d77af9754b12923bf684ada119faecfc7(
1329
+ props: typing.Mapping[builtins.str, typing.Any],
1330
+ ) -> None:
1331
+ """Type checking stubs"""
1332
+ pass
1333
+
1334
+ def _typecheckingstub__97cf84910a3c46b94c3e90ddf73c07b304a029e413bebd1b7c5e7b2bbe5cd411(
1335
+ value: typing.Union[_IResolvable_da3f097b, CfnOrganizationTelemetryRule.TelemetryRuleProperty],
1336
+ ) -> None:
1337
+ """Type checking stubs"""
1338
+ pass
1339
+
1340
+ def _typecheckingstub__84099afcf940dd46614099ecc03e181396a6d202813d1517bd79414c5aa2f5ae(
1341
+ value: builtins.str,
1342
+ ) -> None:
1343
+ """Type checking stubs"""
1344
+ pass
1345
+
1346
+ def _typecheckingstub__d494e45ec3f03fbc2168c2e374f689615e98524c832aa6247ad243fabe01ffe7(
1347
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
1348
+ ) -> None:
1349
+ """Type checking stubs"""
1350
+ pass
1351
+
1352
+ def _typecheckingstub__36b4168c57b4555036ca598e8299a36985c9aab7a1eb6b84357df4454b340171(
1353
+ *,
1354
+ destination_pattern: typing.Optional[builtins.str] = None,
1355
+ destination_type: typing.Optional[builtins.str] = None,
1356
+ retention_in_days: typing.Optional[jsii.Number] = None,
1357
+ vpc_flow_log_parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationTelemetryRule.VPCFlowLogParametersProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1358
+ ) -> None:
1359
+ """Type checking stubs"""
1360
+ pass
1361
+
1362
+ def _typecheckingstub__8febf24ebcbc00029972152d874df5e847a9f5cd45e05abb26e69f7a2cabc5bf(
1363
+ *,
1364
+ resource_type: builtins.str,
1365
+ telemetry_type: builtins.str,
1366
+ destination_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationTelemetryRule.TelemetryDestinationConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1367
+ scope: typing.Optional[builtins.str] = None,
1368
+ selection_criteria: typing.Optional[builtins.str] = None,
1369
+ ) -> None:
1370
+ """Type checking stubs"""
1371
+ pass
1372
+
1373
+ def _typecheckingstub__945b01222f6573dfd9bd365335b34de4d056db844b2fe9ffa6c9d40371eaff6e(
1374
+ *,
1375
+ log_format: typing.Optional[builtins.str] = None,
1376
+ max_aggregation_interval: typing.Optional[jsii.Number] = None,
1377
+ traffic_type: typing.Optional[builtins.str] = None,
1378
+ ) -> None:
1379
+ """Type checking stubs"""
1380
+ pass
1381
+
1382
+ def _typecheckingstub__45c94381428dd096d5bd5b31c1a78b0ec6c66b125c46a889f389e957dbf9f76b(
1383
+ *,
1384
+ rule: typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationTelemetryRule.TelemetryRuleProperty, typing.Dict[builtins.str, typing.Any]]],
1385
+ rule_name: builtins.str,
1386
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1387
+ ) -> None:
1388
+ """Type checking stubs"""
1389
+ pass
1390
+
1391
+ def _typecheckingstub__1cb28d06ef60815f8488b771b64aca8e3671a315a3f6676ad80a414dcd296224(
1392
+ scope: _constructs_77d1e7e8.Construct,
1393
+ id: builtins.str,
1394
+ *,
1395
+ rule: typing.Union[_IResolvable_da3f097b, typing.Union[CfnTelemetryRule.TelemetryRuleProperty, typing.Dict[builtins.str, typing.Any]]],
1396
+ rule_name: builtins.str,
1397
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1398
+ ) -> None:
1399
+ """Type checking stubs"""
1400
+ pass
1401
+
1402
+ def _typecheckingstub__c971c1c4e8e03d4140674a22f18490c0a14f143dab5c9b15a801d0e69e908b92(
1403
+ inspector: _TreeInspector_488e0dd5,
1404
+ ) -> None:
1405
+ """Type checking stubs"""
1406
+ pass
1407
+
1408
+ def _typecheckingstub__adf48e055c256d6f5cb987ba3921807e211a303c3d38be6a02b6932f52a739fe(
1409
+ props: typing.Mapping[builtins.str, typing.Any],
1410
+ ) -> None:
1411
+ """Type checking stubs"""
1412
+ pass
1413
+
1414
+ def _typecheckingstub__253115d76ca17e48e13df2aa679666bb12581680b457a45a7743f6a80d6dbfa1(
1415
+ value: typing.Union[_IResolvable_da3f097b, CfnTelemetryRule.TelemetryRuleProperty],
1416
+ ) -> None:
1417
+ """Type checking stubs"""
1418
+ pass
1419
+
1420
+ def _typecheckingstub__c59aae5f9c690d805a52b4e5949569db025239eb21172f781673428651a87d80(
1421
+ value: builtins.str,
1422
+ ) -> None:
1423
+ """Type checking stubs"""
1424
+ pass
1425
+
1426
+ def _typecheckingstub__ec4f4991901119d1b8ec2bf2b1d23daff9627e5f20b555f27ec8fd5bc58890b7(
1427
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
1428
+ ) -> None:
1429
+ """Type checking stubs"""
1430
+ pass
1431
+
1432
+ def _typecheckingstub__01ec7a824466c4f6343ec939656046b6c12a168edd9bbf6ebca41e4b5d1554d5(
1433
+ *,
1434
+ destination_pattern: typing.Optional[builtins.str] = None,
1435
+ destination_type: typing.Optional[builtins.str] = None,
1436
+ retention_in_days: typing.Optional[jsii.Number] = None,
1437
+ vpc_flow_log_parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTelemetryRule.VPCFlowLogParametersProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1438
+ ) -> None:
1439
+ """Type checking stubs"""
1440
+ pass
1441
+
1442
+ def _typecheckingstub__25d1c19a045d927560ccf78552c0595fbd7db1322a4e66f60e4d9cb5393b81c3(
1443
+ *,
1444
+ resource_type: builtins.str,
1445
+ telemetry_type: builtins.str,
1446
+ destination_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTelemetryRule.TelemetryDestinationConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1447
+ selection_criteria: typing.Optional[builtins.str] = None,
1448
+ ) -> None:
1449
+ """Type checking stubs"""
1450
+ pass
1451
+
1452
+ def _typecheckingstub__cb426e63d8ddff6bc9e58865c89c023dbf7b61ef2e21b2f9ff902df9db830681(
1453
+ *,
1454
+ log_format: typing.Optional[builtins.str] = None,
1455
+ max_aggregation_interval: typing.Optional[jsii.Number] = None,
1456
+ traffic_type: typing.Optional[builtins.str] = None,
1457
+ ) -> None:
1458
+ """Type checking stubs"""
1459
+ pass
1460
+
1461
+ def _typecheckingstub__7455cb845b044ed569a8ec8407abf811920062f00d1e54ad191e90dc9b7e2811(
1462
+ *,
1463
+ rule: typing.Union[_IResolvable_da3f097b, typing.Union[CfnTelemetryRule.TelemetryRuleProperty, typing.Dict[builtins.str, typing.Any]]],
1464
+ rule_name: builtins.str,
1465
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1466
+ ) -> None:
1467
+ """Type checking stubs"""
1468
+ pass