robhan-cdk-lib.aws-aps 0.0.52__py3-none-any.whl → 0.0.149__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.
- robhan_cdk_lib/aws_aps/__init__.py +1318 -184
- robhan_cdk_lib/aws_aps/_jsii/__init__.py +1 -1
- robhan_cdk_lib/aws_aps/_jsii/aws_aps@0.0.149.jsii.tgz +0 -0
- {robhan_cdk_lib_aws_aps-0.0.52.dist-info → robhan_cdk_lib_aws_aps-0.0.149.dist-info}/LICENSE +1 -1
- {robhan_cdk_lib_aws_aps-0.0.52.dist-info → robhan_cdk_lib_aws_aps-0.0.149.dist-info}/METADATA +5 -5
- robhan_cdk_lib_aws_aps-0.0.149.dist-info/RECORD +9 -0
- robhan_cdk_lib/aws_aps/_jsii/aws_aps@0.0.52.jsii.tgz +0 -0
- robhan_cdk_lib_aws_aps-0.0.52.dist-info/RECORD +0 -9
- {robhan_cdk_lib_aws_aps-0.0.52.dist-info → robhan_cdk_lib_aws_aps-0.0.149.dist-info}/WHEEL +0 -0
- {robhan_cdk_lib_aws_aps-0.0.52.dist-info → robhan_cdk_lib_aws_aps-0.0.149.dist-info}/top_level.txt +0 -0
|
@@ -142,13 +142,175 @@ class AmpConfiguration:
|
|
|
142
142
|
)
|
|
143
143
|
|
|
144
144
|
|
|
145
|
+
@jsii.data_type(
|
|
146
|
+
jsii_type="@robhan-cdk-lib/aws_aps.AnomalyDetectorConfiguration",
|
|
147
|
+
jsii_struct_bases=[],
|
|
148
|
+
name_mapping={"random_cut_forest": "randomCutForest"},
|
|
149
|
+
)
|
|
150
|
+
class AnomalyDetectorConfiguration:
|
|
151
|
+
def __init__(
|
|
152
|
+
self,
|
|
153
|
+
*,
|
|
154
|
+
random_cut_forest: typing.Union["RandomCutForestConfiguration", typing.Dict[builtins.str, typing.Any]],
|
|
155
|
+
) -> None:
|
|
156
|
+
'''The configuration for the anomaly detection algorithm.
|
|
157
|
+
|
|
158
|
+
:param random_cut_forest: The Random Cut Forest algorithm configuration for anomaly detection.
|
|
159
|
+
'''
|
|
160
|
+
if isinstance(random_cut_forest, dict):
|
|
161
|
+
random_cut_forest = RandomCutForestConfiguration(**random_cut_forest)
|
|
162
|
+
if __debug__:
|
|
163
|
+
type_hints = typing.get_type_hints(_typecheckingstub__488e50421526d1e316a7bd2f186eccb1fc4bf1daba066e779c147e9e9dbc747a)
|
|
164
|
+
check_type(argname="argument random_cut_forest", value=random_cut_forest, expected_type=type_hints["random_cut_forest"])
|
|
165
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
166
|
+
"random_cut_forest": random_cut_forest,
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
@builtins.property
|
|
170
|
+
def random_cut_forest(self) -> "RandomCutForestConfiguration":
|
|
171
|
+
'''The Random Cut Forest algorithm configuration for anomaly detection.'''
|
|
172
|
+
result = self._values.get("random_cut_forest")
|
|
173
|
+
assert result is not None, "Required property 'random_cut_forest' is missing"
|
|
174
|
+
return typing.cast("RandomCutForestConfiguration", result)
|
|
175
|
+
|
|
176
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
177
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
178
|
+
|
|
179
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
180
|
+
return not (rhs == self)
|
|
181
|
+
|
|
182
|
+
def __repr__(self) -> str:
|
|
183
|
+
return "AnomalyDetectorConfiguration(%s)" % ", ".join(
|
|
184
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
185
|
+
)
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
@jsii.data_type(
|
|
189
|
+
jsii_type="@robhan-cdk-lib/aws_aps.AnomalyDetectorProps",
|
|
190
|
+
jsii_struct_bases=[],
|
|
191
|
+
name_mapping={
|
|
192
|
+
"alias": "alias",
|
|
193
|
+
"configuration": "configuration",
|
|
194
|
+
"workspace": "workspace",
|
|
195
|
+
"evaluation_interval_in_seconds": "evaluationIntervalInSeconds",
|
|
196
|
+
"labels": "labels",
|
|
197
|
+
"missing_data_action": "missingDataAction",
|
|
198
|
+
},
|
|
199
|
+
)
|
|
200
|
+
class AnomalyDetectorProps:
|
|
201
|
+
def __init__(
|
|
202
|
+
self,
|
|
203
|
+
*,
|
|
204
|
+
alias: builtins.str,
|
|
205
|
+
configuration: typing.Union["AnomalyDetectorConfiguration", typing.Dict[builtins.str, typing.Any]],
|
|
206
|
+
workspace: "IWorkspace",
|
|
207
|
+
evaluation_interval_in_seconds: typing.Optional[jsii.Number] = None,
|
|
208
|
+
labels: typing.Optional[typing.Sequence[typing.Union["Label", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
209
|
+
missing_data_action: typing.Optional[typing.Union["MissingDataAction", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
210
|
+
) -> None:
|
|
211
|
+
'''Properties for creating an Amazon Managed Service for Prometheus Anomaly Detector.
|
|
212
|
+
|
|
213
|
+
:param alias: The user-friendly name of the anomaly detector. 1 to 128 characters length.
|
|
214
|
+
:param configuration: The algorithm configuration of the anomaly detector.
|
|
215
|
+
:param workspace: An Amazon Managed Service for Prometheus workspace is a logical and isolated Prometheus server dedicated to ingesting, storing, and querying your Prometheus-compatible metrics.
|
|
216
|
+
:param evaluation_interval_in_seconds: The frequency, in seconds, at which the anomaly detector evaluates metrics. Minimum value of 30. Maximum value of 86400.
|
|
217
|
+
:param labels: The Amazon Managed Service for Prometheus metric labels associated with the anomaly detector. Map Entries: Minimum number of 0 items. Maximum number of 140 items. Key Length Constraints: Minimum length of 1. Maximum length of 7168. Key Pattern: (?!__)[a-zA-Z_][a-zA-Z0-9_]* Value Length Constraints: Minimum length of 1. Maximum length of 7168.
|
|
218
|
+
:param missing_data_action: The action taken when data is missing during evaluation.
|
|
219
|
+
'''
|
|
220
|
+
if isinstance(configuration, dict):
|
|
221
|
+
configuration = AnomalyDetectorConfiguration(**configuration)
|
|
222
|
+
if isinstance(missing_data_action, dict):
|
|
223
|
+
missing_data_action = MissingDataAction(**missing_data_action)
|
|
224
|
+
if __debug__:
|
|
225
|
+
type_hints = typing.get_type_hints(_typecheckingstub__d73bc4f90dcbc90f45d5d011fc423d2638eb9cfe65810e23594184c620ce38aa)
|
|
226
|
+
check_type(argname="argument alias", value=alias, expected_type=type_hints["alias"])
|
|
227
|
+
check_type(argname="argument configuration", value=configuration, expected_type=type_hints["configuration"])
|
|
228
|
+
check_type(argname="argument workspace", value=workspace, expected_type=type_hints["workspace"])
|
|
229
|
+
check_type(argname="argument evaluation_interval_in_seconds", value=evaluation_interval_in_seconds, expected_type=type_hints["evaluation_interval_in_seconds"])
|
|
230
|
+
check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
|
|
231
|
+
check_type(argname="argument missing_data_action", value=missing_data_action, expected_type=type_hints["missing_data_action"])
|
|
232
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
233
|
+
"alias": alias,
|
|
234
|
+
"configuration": configuration,
|
|
235
|
+
"workspace": workspace,
|
|
236
|
+
}
|
|
237
|
+
if evaluation_interval_in_seconds is not None:
|
|
238
|
+
self._values["evaluation_interval_in_seconds"] = evaluation_interval_in_seconds
|
|
239
|
+
if labels is not None:
|
|
240
|
+
self._values["labels"] = labels
|
|
241
|
+
if missing_data_action is not None:
|
|
242
|
+
self._values["missing_data_action"] = missing_data_action
|
|
243
|
+
|
|
244
|
+
@builtins.property
|
|
245
|
+
def alias(self) -> builtins.str:
|
|
246
|
+
'''The user-friendly name of the anomaly detector.
|
|
247
|
+
|
|
248
|
+
1 to 128 characters length.
|
|
249
|
+
'''
|
|
250
|
+
result = self._values.get("alias")
|
|
251
|
+
assert result is not None, "Required property 'alias' is missing"
|
|
252
|
+
return typing.cast(builtins.str, result)
|
|
253
|
+
|
|
254
|
+
@builtins.property
|
|
255
|
+
def configuration(self) -> "AnomalyDetectorConfiguration":
|
|
256
|
+
'''The algorithm configuration of the anomaly detector.'''
|
|
257
|
+
result = self._values.get("configuration")
|
|
258
|
+
assert result is not None, "Required property 'configuration' is missing"
|
|
259
|
+
return typing.cast("AnomalyDetectorConfiguration", result)
|
|
260
|
+
|
|
261
|
+
@builtins.property
|
|
262
|
+
def workspace(self) -> "IWorkspace":
|
|
263
|
+
'''An Amazon Managed Service for Prometheus workspace is a logical and isolated Prometheus server dedicated to ingesting, storing, and querying your Prometheus-compatible metrics.'''
|
|
264
|
+
result = self._values.get("workspace")
|
|
265
|
+
assert result is not None, "Required property 'workspace' is missing"
|
|
266
|
+
return typing.cast("IWorkspace", result)
|
|
267
|
+
|
|
268
|
+
@builtins.property
|
|
269
|
+
def evaluation_interval_in_seconds(self) -> typing.Optional[jsii.Number]:
|
|
270
|
+
'''The frequency, in seconds, at which the anomaly detector evaluates metrics.
|
|
271
|
+
|
|
272
|
+
Minimum value of 30. Maximum value of 86400.
|
|
273
|
+
'''
|
|
274
|
+
result = self._values.get("evaluation_interval_in_seconds")
|
|
275
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
276
|
+
|
|
277
|
+
@builtins.property
|
|
278
|
+
def labels(self) -> typing.Optional[typing.List["Label"]]:
|
|
279
|
+
'''The Amazon Managed Service for Prometheus metric labels associated with the anomaly detector.
|
|
280
|
+
|
|
281
|
+
Map Entries: Minimum number of 0 items. Maximum number of 140 items.
|
|
282
|
+
Key Length Constraints: Minimum length of 1. Maximum length of 7168.
|
|
283
|
+
Key Pattern: (?!__)[a-zA-Z_][a-zA-Z0-9_]*
|
|
284
|
+
Value Length Constraints: Minimum length of 1. Maximum length of 7168.
|
|
285
|
+
'''
|
|
286
|
+
result = self._values.get("labels")
|
|
287
|
+
return typing.cast(typing.Optional[typing.List["Label"]], result)
|
|
288
|
+
|
|
289
|
+
@builtins.property
|
|
290
|
+
def missing_data_action(self) -> typing.Optional["MissingDataAction"]:
|
|
291
|
+
'''The action taken when data is missing during evaluation.'''
|
|
292
|
+
result = self._values.get("missing_data_action")
|
|
293
|
+
return typing.cast(typing.Optional["MissingDataAction"], result)
|
|
294
|
+
|
|
295
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
296
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
297
|
+
|
|
298
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
299
|
+
return not (rhs == self)
|
|
300
|
+
|
|
301
|
+
def __repr__(self) -> str:
|
|
302
|
+
return "AnomalyDetectorProps(%s)" % ", ".join(
|
|
303
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
304
|
+
)
|
|
305
|
+
|
|
306
|
+
|
|
145
307
|
@jsii.data_type(
|
|
146
308
|
jsii_type="@robhan-cdk-lib/aws_aps.CloudWatchLogDestination",
|
|
147
309
|
jsii_struct_bases=[],
|
|
148
310
|
name_mapping={"log_group": "logGroup"},
|
|
149
311
|
)
|
|
150
312
|
class CloudWatchLogDestination:
|
|
151
|
-
def __init__(self, *, log_group: _aws_cdk_aws_logs_ceddda9d.ILogGroup) -> None:
|
|
313
|
+
def __init__(self, *, log_group: "_aws_cdk_aws_logs_ceddda9d.ILogGroup") -> None:
|
|
152
314
|
'''Configuration details for logging to CloudWatch Logs.
|
|
153
315
|
|
|
154
316
|
:param log_group: The CloudWatch log group.
|
|
@@ -161,11 +323,11 @@ class CloudWatchLogDestination:
|
|
|
161
323
|
}
|
|
162
324
|
|
|
163
325
|
@builtins.property
|
|
164
|
-
def log_group(self) -> _aws_cdk_aws_logs_ceddda9d.ILogGroup:
|
|
326
|
+
def log_group(self) -> "_aws_cdk_aws_logs_ceddda9d.ILogGroup":
|
|
165
327
|
'''The CloudWatch log group.'''
|
|
166
328
|
result = self._values.get("log_group")
|
|
167
329
|
assert result is not None, "Required property 'log_group' is missing"
|
|
168
|
-
return typing.cast(_aws_cdk_aws_logs_ceddda9d.ILogGroup, result)
|
|
330
|
+
return typing.cast("_aws_cdk_aws_logs_ceddda9d.ILogGroup", result)
|
|
169
331
|
|
|
170
332
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
171
333
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -188,7 +350,7 @@ class Destination:
|
|
|
188
350
|
def __init__(
|
|
189
351
|
self,
|
|
190
352
|
*,
|
|
191
|
-
amp_configuration: typing.Union[AmpConfiguration, typing.Dict[builtins.str, typing.Any]],
|
|
353
|
+
amp_configuration: typing.Union["AmpConfiguration", typing.Dict[builtins.str, typing.Any]],
|
|
192
354
|
) -> None:
|
|
193
355
|
'''Where to send the metrics from a scraper.
|
|
194
356
|
|
|
@@ -204,11 +366,11 @@ class Destination:
|
|
|
204
366
|
}
|
|
205
367
|
|
|
206
368
|
@builtins.property
|
|
207
|
-
def amp_configuration(self) -> AmpConfiguration:
|
|
369
|
+
def amp_configuration(self) -> "AmpConfiguration":
|
|
208
370
|
'''The Amazon Managed Service for Prometheus workspace to send metrics to.'''
|
|
209
371
|
result = self._values.get("amp_configuration")
|
|
210
372
|
assert result is not None, "Required property 'amp_configuration' is missing"
|
|
211
|
-
return typing.cast(AmpConfiguration, result)
|
|
373
|
+
return typing.cast("AmpConfiguration", result)
|
|
212
374
|
|
|
213
375
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
214
376
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -235,9 +397,9 @@ class EksConfiguration:
|
|
|
235
397
|
def __init__(
|
|
236
398
|
self,
|
|
237
399
|
*,
|
|
238
|
-
cluster: _aws_cdk_aws_eks_ceddda9d.ICluster,
|
|
239
|
-
subnets: typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISubnet],
|
|
240
|
-
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
400
|
+
cluster: "_aws_cdk_aws_eks_ceddda9d.ICluster",
|
|
401
|
+
subnets: typing.Sequence["_aws_cdk_aws_ec2_ceddda9d.ISubnet"],
|
|
402
|
+
security_groups: typing.Optional[typing.Sequence["_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup"]] = None,
|
|
241
403
|
) -> None:
|
|
242
404
|
'''The EksConfiguration structure describes the connection to the Amazon EKS cluster from which a scraper collects metrics.
|
|
243
405
|
|
|
@@ -258,32 +420,32 @@ class EksConfiguration:
|
|
|
258
420
|
self._values["security_groups"] = security_groups
|
|
259
421
|
|
|
260
422
|
@builtins.property
|
|
261
|
-
def cluster(self) -> _aws_cdk_aws_eks_ceddda9d.ICluster:
|
|
423
|
+
def cluster(self) -> "_aws_cdk_aws_eks_ceddda9d.ICluster":
|
|
262
424
|
'''The Amazon EKS cluster.'''
|
|
263
425
|
result = self._values.get("cluster")
|
|
264
426
|
assert result is not None, "Required property 'cluster' is missing"
|
|
265
|
-
return typing.cast(_aws_cdk_aws_eks_ceddda9d.ICluster, result)
|
|
427
|
+
return typing.cast("_aws_cdk_aws_eks_ceddda9d.ICluster", result)
|
|
266
428
|
|
|
267
429
|
@builtins.property
|
|
268
|
-
def subnets(self) -> typing.List[_aws_cdk_aws_ec2_ceddda9d.ISubnet]:
|
|
430
|
+
def subnets(self) -> typing.List["_aws_cdk_aws_ec2_ceddda9d.ISubnet"]:
|
|
269
431
|
'''A list of subnets for the Amazon EKS cluster VPC configuration.
|
|
270
432
|
|
|
271
433
|
Min 1, max 5.
|
|
272
434
|
'''
|
|
273
435
|
result = self._values.get("subnets")
|
|
274
436
|
assert result is not None, "Required property 'subnets' is missing"
|
|
275
|
-
return typing.cast(typing.List[_aws_cdk_aws_ec2_ceddda9d.ISubnet], result)
|
|
437
|
+
return typing.cast(typing.List["_aws_cdk_aws_ec2_ceddda9d.ISubnet"], result)
|
|
276
438
|
|
|
277
439
|
@builtins.property
|
|
278
440
|
def security_groups(
|
|
279
441
|
self,
|
|
280
|
-
) -> typing.Optional[typing.List[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]]:
|
|
442
|
+
) -> typing.Optional[typing.List["_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup"]]:
|
|
281
443
|
'''A list of the security group IDs for the Amazon EKS cluster VPC configuration.
|
|
282
444
|
|
|
283
445
|
Min 1, max 5.
|
|
284
446
|
'''
|
|
285
447
|
result = self._values.get("security_groups")
|
|
286
|
-
return typing.cast(typing.Optional[typing.List[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]], result)
|
|
448
|
+
return typing.cast(typing.Optional[typing.List["_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup"]], result)
|
|
287
449
|
|
|
288
450
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
289
451
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -297,6 +459,170 @@ class EksConfiguration:
|
|
|
297
459
|
)
|
|
298
460
|
|
|
299
461
|
|
|
462
|
+
@jsii.interface(jsii_type="@robhan-cdk-lib/aws_aps.IAnomalyDetector")
|
|
463
|
+
class IAnomalyDetector(_aws_cdk_ceddda9d.IResource, typing_extensions.Protocol):
|
|
464
|
+
@builtins.property
|
|
465
|
+
@jsii.member(jsii_name="alias")
|
|
466
|
+
def alias(self) -> builtins.str:
|
|
467
|
+
'''The user-friendly name of the anomaly detector. 1 to 128 characters length.
|
|
468
|
+
|
|
469
|
+
Minimum length of 1. Maximum length of 64.
|
|
470
|
+
Pattern: [0-9A-Za-z][-.0-9A-Z_a-z]*
|
|
471
|
+
'''
|
|
472
|
+
...
|
|
473
|
+
|
|
474
|
+
@builtins.property
|
|
475
|
+
@jsii.member(jsii_name="anomalyDetectorArn")
|
|
476
|
+
def anomaly_detector_arn(self) -> builtins.str:
|
|
477
|
+
'''The Amazon Resource Name (ARN) of the anomaly detector.
|
|
478
|
+
|
|
479
|
+
:attribute: true
|
|
480
|
+
'''
|
|
481
|
+
...
|
|
482
|
+
|
|
483
|
+
@builtins.property
|
|
484
|
+
@jsii.member(jsii_name="configuration")
|
|
485
|
+
def configuration(self) -> "AnomalyDetectorConfiguration":
|
|
486
|
+
'''The algorithm configuration of the anomaly detector.'''
|
|
487
|
+
...
|
|
488
|
+
|
|
489
|
+
@builtins.property
|
|
490
|
+
@jsii.member(jsii_name="workspace")
|
|
491
|
+
def workspace(self) -> "IWorkspace":
|
|
492
|
+
'''An Amazon Managed Service for Prometheus workspace is a logical and isolated Prometheus server dedicated to ingesting, storing, and querying your Prometheus-compatible metrics.'''
|
|
493
|
+
...
|
|
494
|
+
|
|
495
|
+
@builtins.property
|
|
496
|
+
@jsii.member(jsii_name="evaluationIntervalInSeconds")
|
|
497
|
+
def evaluation_interval_in_seconds(self) -> typing.Optional[jsii.Number]:
|
|
498
|
+
'''The frequency, in seconds, at which the anomaly detector evaluates metrics.
|
|
499
|
+
|
|
500
|
+
Minimum value of 30. Maximum value of 86400.
|
|
501
|
+
'''
|
|
502
|
+
...
|
|
503
|
+
|
|
504
|
+
@builtins.property
|
|
505
|
+
@jsii.member(jsii_name="labels")
|
|
506
|
+
def labels(self) -> typing.Optional[typing.List["Label"]]:
|
|
507
|
+
'''The Amazon Managed Service for Prometheus metric labels associated with the anomaly detector.
|
|
508
|
+
|
|
509
|
+
Map Entries: Minimum number of 0 items. Maximum number of 140 items.
|
|
510
|
+
Key Length Constraints: Minimum length of 1. Maximum length of 7168.
|
|
511
|
+
Key Pattern: (?!__)[a-zA-Z_][a-zA-Z0-9_]*
|
|
512
|
+
Value Length Constraints: Minimum length of 1. Maximum length of 7168.
|
|
513
|
+
'''
|
|
514
|
+
...
|
|
515
|
+
|
|
516
|
+
@builtins.property
|
|
517
|
+
@jsii.member(jsii_name="missingDataAction")
|
|
518
|
+
def missing_data_action(self) -> typing.Optional["MissingDataAction"]:
|
|
519
|
+
'''The action taken when data is missing during evaluation.'''
|
|
520
|
+
...
|
|
521
|
+
|
|
522
|
+
|
|
523
|
+
class _IAnomalyDetectorProxy(
|
|
524
|
+
jsii.proxy_for(_aws_cdk_ceddda9d.IResource), # type: ignore[misc]
|
|
525
|
+
):
|
|
526
|
+
__jsii_type__: typing.ClassVar[str] = "@robhan-cdk-lib/aws_aps.IAnomalyDetector"
|
|
527
|
+
|
|
528
|
+
@builtins.property
|
|
529
|
+
@jsii.member(jsii_name="alias")
|
|
530
|
+
def alias(self) -> builtins.str:
|
|
531
|
+
'''The user-friendly name of the anomaly detector. 1 to 128 characters length.
|
|
532
|
+
|
|
533
|
+
Minimum length of 1. Maximum length of 64.
|
|
534
|
+
Pattern: [0-9A-Za-z][-.0-9A-Z_a-z]*
|
|
535
|
+
'''
|
|
536
|
+
return typing.cast(builtins.str, jsii.get(self, "alias"))
|
|
537
|
+
|
|
538
|
+
@builtins.property
|
|
539
|
+
@jsii.member(jsii_name="anomalyDetectorArn")
|
|
540
|
+
def anomaly_detector_arn(self) -> builtins.str:
|
|
541
|
+
'''The Amazon Resource Name (ARN) of the anomaly detector.
|
|
542
|
+
|
|
543
|
+
:attribute: true
|
|
544
|
+
'''
|
|
545
|
+
return typing.cast(builtins.str, jsii.get(self, "anomalyDetectorArn"))
|
|
546
|
+
|
|
547
|
+
@builtins.property
|
|
548
|
+
@jsii.member(jsii_name="configuration")
|
|
549
|
+
def configuration(self) -> "AnomalyDetectorConfiguration":
|
|
550
|
+
'''The algorithm configuration of the anomaly detector.'''
|
|
551
|
+
return typing.cast("AnomalyDetectorConfiguration", jsii.get(self, "configuration"))
|
|
552
|
+
|
|
553
|
+
@builtins.property
|
|
554
|
+
@jsii.member(jsii_name="workspace")
|
|
555
|
+
def workspace(self) -> "IWorkspace":
|
|
556
|
+
'''An Amazon Managed Service for Prometheus workspace is a logical and isolated Prometheus server dedicated to ingesting, storing, and querying your Prometheus-compatible metrics.'''
|
|
557
|
+
return typing.cast("IWorkspace", jsii.get(self, "workspace"))
|
|
558
|
+
|
|
559
|
+
@builtins.property
|
|
560
|
+
@jsii.member(jsii_name="evaluationIntervalInSeconds")
|
|
561
|
+
def evaluation_interval_in_seconds(self) -> typing.Optional[jsii.Number]:
|
|
562
|
+
'''The frequency, in seconds, at which the anomaly detector evaluates metrics.
|
|
563
|
+
|
|
564
|
+
Minimum value of 30. Maximum value of 86400.
|
|
565
|
+
'''
|
|
566
|
+
return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "evaluationIntervalInSeconds"))
|
|
567
|
+
|
|
568
|
+
@builtins.property
|
|
569
|
+
@jsii.member(jsii_name="labels")
|
|
570
|
+
def labels(self) -> typing.Optional[typing.List["Label"]]:
|
|
571
|
+
'''The Amazon Managed Service for Prometheus metric labels associated with the anomaly detector.
|
|
572
|
+
|
|
573
|
+
Map Entries: Minimum number of 0 items. Maximum number of 140 items.
|
|
574
|
+
Key Length Constraints: Minimum length of 1. Maximum length of 7168.
|
|
575
|
+
Key Pattern: (?!__)[a-zA-Z_][a-zA-Z0-9_]*
|
|
576
|
+
Value Length Constraints: Minimum length of 1. Maximum length of 7168.
|
|
577
|
+
'''
|
|
578
|
+
return typing.cast(typing.Optional[typing.List["Label"]], jsii.get(self, "labels"))
|
|
579
|
+
|
|
580
|
+
@builtins.property
|
|
581
|
+
@jsii.member(jsii_name="missingDataAction")
|
|
582
|
+
def missing_data_action(self) -> typing.Optional["MissingDataAction"]:
|
|
583
|
+
'''The action taken when data is missing during evaluation.'''
|
|
584
|
+
return typing.cast(typing.Optional["MissingDataAction"], jsii.get(self, "missingDataAction"))
|
|
585
|
+
|
|
586
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
587
|
+
typing.cast(typing.Any, IAnomalyDetector).__jsii_proxy_class__ = lambda : _IAnomalyDetectorProxy
|
|
588
|
+
|
|
589
|
+
|
|
590
|
+
@jsii.interface(jsii_type="@robhan-cdk-lib/aws_aps.IResourcePolicy")
|
|
591
|
+
class IResourcePolicy(_aws_cdk_ceddda9d.IResource, typing_extensions.Protocol):
|
|
592
|
+
@builtins.property
|
|
593
|
+
@jsii.member(jsii_name="policyDocument")
|
|
594
|
+
def policy_document(self) -> builtins.str:
|
|
595
|
+
'''The JSON to use as the Resource-based Policy.'''
|
|
596
|
+
...
|
|
597
|
+
|
|
598
|
+
@builtins.property
|
|
599
|
+
@jsii.member(jsii_name="workspace")
|
|
600
|
+
def workspace(self) -> "IWorkspace":
|
|
601
|
+
'''The workspace to attach the policy to.'''
|
|
602
|
+
...
|
|
603
|
+
|
|
604
|
+
|
|
605
|
+
class _IResourcePolicyProxy(
|
|
606
|
+
jsii.proxy_for(_aws_cdk_ceddda9d.IResource), # type: ignore[misc]
|
|
607
|
+
):
|
|
608
|
+
__jsii_type__: typing.ClassVar[str] = "@robhan-cdk-lib/aws_aps.IResourcePolicy"
|
|
609
|
+
|
|
610
|
+
@builtins.property
|
|
611
|
+
@jsii.member(jsii_name="policyDocument")
|
|
612
|
+
def policy_document(self) -> builtins.str:
|
|
613
|
+
'''The JSON to use as the Resource-based Policy.'''
|
|
614
|
+
return typing.cast(builtins.str, jsii.get(self, "policyDocument"))
|
|
615
|
+
|
|
616
|
+
@builtins.property
|
|
617
|
+
@jsii.member(jsii_name="workspace")
|
|
618
|
+
def workspace(self) -> "IWorkspace":
|
|
619
|
+
'''The workspace to attach the policy to.'''
|
|
620
|
+
return typing.cast("IWorkspace", jsii.get(self, "workspace"))
|
|
621
|
+
|
|
622
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
623
|
+
typing.cast(typing.Any, IResourcePolicy).__jsii_proxy_class__ = lambda : _IResourcePolicyProxy
|
|
624
|
+
|
|
625
|
+
|
|
300
626
|
@jsii.interface(jsii_type="@robhan-cdk-lib/aws_aps.IRuleGroupsNamespace")
|
|
301
627
|
class IRuleGroupsNamespace(_aws_cdk_ceddda9d.IResource, typing_extensions.Protocol):
|
|
302
628
|
@builtins.property
|
|
@@ -367,7 +693,7 @@ typing.cast(typing.Any, IRuleGroupsNamespace).__jsii_proxy_class__ = lambda : _I
|
|
|
367
693
|
class IScraper(_aws_cdk_ceddda9d.IResource, typing_extensions.Protocol):
|
|
368
694
|
@builtins.property
|
|
369
695
|
@jsii.member(jsii_name="destination")
|
|
370
|
-
def destination(self) -> Destination:
|
|
696
|
+
def destination(self) -> "Destination":
|
|
371
697
|
'''The Amazon Managed Service for Prometheus workspace the scraper sends metrics to.'''
|
|
372
698
|
...
|
|
373
699
|
|
|
@@ -426,9 +752,9 @@ class _IScraperProxy(
|
|
|
426
752
|
|
|
427
753
|
@builtins.property
|
|
428
754
|
@jsii.member(jsii_name="destination")
|
|
429
|
-
def destination(self) -> Destination:
|
|
755
|
+
def destination(self) -> "Destination":
|
|
430
756
|
'''The Amazon Managed Service for Prometheus workspace the scraper sends metrics to.'''
|
|
431
|
-
return typing.cast(Destination, jsii.get(self, "destination"))
|
|
757
|
+
return typing.cast("Destination", jsii.get(self, "destination"))
|
|
432
758
|
|
|
433
759
|
@builtins.property
|
|
434
760
|
@jsii.member(jsii_name="scrapeConfiguration")
|
|
@@ -519,7 +845,7 @@ class IWorkspace(_aws_cdk_ceddda9d.IResource, typing_extensions.Protocol):
|
|
|
519
845
|
|
|
520
846
|
@builtins.property
|
|
521
847
|
@jsii.member(jsii_name="kmsKey")
|
|
522
|
-
def kms_key(self) -> typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey]:
|
|
848
|
+
def kms_key(self) -> typing.Optional["_aws_cdk_aws_kms_ceddda9d.IKey"]:
|
|
523
849
|
'''The customer managed AWS KMS key to use for encrypting data within your workspace.'''
|
|
524
850
|
...
|
|
525
851
|
|
|
@@ -588,9 +914,9 @@ class _IWorkspaceProxy(
|
|
|
588
914
|
|
|
589
915
|
@builtins.property
|
|
590
916
|
@jsii.member(jsii_name="kmsKey")
|
|
591
|
-
def kms_key(self) -> typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey]:
|
|
917
|
+
def kms_key(self) -> typing.Optional["_aws_cdk_aws_kms_ceddda9d.IKey"]:
|
|
592
918
|
'''The customer managed AWS KMS key to use for encrypting data within your workspace.'''
|
|
593
|
-
return typing.cast(typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey], jsii.get(self, "kmsKey"))
|
|
919
|
+
return typing.cast(typing.Optional["_aws_cdk_aws_kms_ceddda9d.IKey"], jsii.get(self, "kmsKey"))
|
|
594
920
|
|
|
595
921
|
@builtins.property
|
|
596
922
|
@jsii.member(jsii_name="loggingConfiguration")
|
|
@@ -619,6 +945,57 @@ class _IWorkspaceProxy(
|
|
|
619
945
|
typing.cast(typing.Any, IWorkspace).__jsii_proxy_class__ = lambda : _IWorkspaceProxy
|
|
620
946
|
|
|
621
947
|
|
|
948
|
+
@jsii.data_type(
|
|
949
|
+
jsii_type="@robhan-cdk-lib/aws_aps.IgnoreNearExpected",
|
|
950
|
+
jsii_struct_bases=[],
|
|
951
|
+
name_mapping={"amount": "amount", "ratio": "ratio"},
|
|
952
|
+
)
|
|
953
|
+
class IgnoreNearExpected:
|
|
954
|
+
def __init__(
|
|
955
|
+
self,
|
|
956
|
+
*,
|
|
957
|
+
amount: typing.Optional[jsii.Number] = None,
|
|
958
|
+
ratio: typing.Optional[jsii.Number] = None,
|
|
959
|
+
) -> None:
|
|
960
|
+
'''Configuration for threshold settings that determine when values near expected values should be ignored during anomaly detection.
|
|
961
|
+
|
|
962
|
+
:param amount: The absolute amount by which values can differ from expected values before being considered anomalous.
|
|
963
|
+
:param ratio: The ratio by which values can differ from expected values before being considered anomalous.
|
|
964
|
+
'''
|
|
965
|
+
if __debug__:
|
|
966
|
+
type_hints = typing.get_type_hints(_typecheckingstub__fa12ec68028f74d5d8f1d96a0b99090659c404c86bd0ec936014ab264467ca22)
|
|
967
|
+
check_type(argname="argument amount", value=amount, expected_type=type_hints["amount"])
|
|
968
|
+
check_type(argname="argument ratio", value=ratio, expected_type=type_hints["ratio"])
|
|
969
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
970
|
+
if amount is not None:
|
|
971
|
+
self._values["amount"] = amount
|
|
972
|
+
if ratio is not None:
|
|
973
|
+
self._values["ratio"] = ratio
|
|
974
|
+
|
|
975
|
+
@builtins.property
|
|
976
|
+
def amount(self) -> typing.Optional[jsii.Number]:
|
|
977
|
+
'''The absolute amount by which values can differ from expected values before being considered anomalous.'''
|
|
978
|
+
result = self._values.get("amount")
|
|
979
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
980
|
+
|
|
981
|
+
@builtins.property
|
|
982
|
+
def ratio(self) -> typing.Optional[jsii.Number]:
|
|
983
|
+
'''The ratio by which values can differ from expected values before being considered anomalous.'''
|
|
984
|
+
result = self._values.get("ratio")
|
|
985
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
986
|
+
|
|
987
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
988
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
989
|
+
|
|
990
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
991
|
+
return not (rhs == self)
|
|
992
|
+
|
|
993
|
+
def __repr__(self) -> str:
|
|
994
|
+
return "IgnoreNearExpected(%s)" % ", ".join(
|
|
995
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
996
|
+
)
|
|
997
|
+
|
|
998
|
+
|
|
622
999
|
@jsii.data_type(
|
|
623
1000
|
jsii_type="@robhan-cdk-lib/aws_aps.Label",
|
|
624
1001
|
jsii_struct_bases=[],
|
|
@@ -688,7 +1065,7 @@ class LimitsPerLabelSet:
|
|
|
688
1065
|
def __init__(
|
|
689
1066
|
self,
|
|
690
1067
|
*,
|
|
691
|
-
label_set: typing.Sequence[typing.Union[Label, typing.Dict[builtins.str, typing.Any]]],
|
|
1068
|
+
label_set: typing.Sequence[typing.Union["Label", typing.Dict[builtins.str, typing.Any]]],
|
|
692
1069
|
limits: typing.Union["LimitsPerLabelSetEntry", typing.Dict[builtins.str, typing.Any]],
|
|
693
1070
|
) -> None:
|
|
694
1071
|
'''This defines a label set for the workspace, and defines the ingestion limit for active time series that match that label set.
|
|
@@ -710,7 +1087,7 @@ class LimitsPerLabelSet:
|
|
|
710
1087
|
}
|
|
711
1088
|
|
|
712
1089
|
@builtins.property
|
|
713
|
-
def label_set(self) -> typing.List[Label]:
|
|
1090
|
+
def label_set(self) -> typing.List["Label"]:
|
|
714
1091
|
'''This defines one label set that will have an enforced ingestion limit.
|
|
715
1092
|
|
|
716
1093
|
You can set ingestion
|
|
@@ -725,7 +1102,7 @@ class LimitsPerLabelSet:
|
|
|
725
1102
|
'''
|
|
726
1103
|
result = self._values.get("label_set")
|
|
727
1104
|
assert result is not None, "Required property 'label_set' is missing"
|
|
728
|
-
return typing.cast(typing.List[Label], result)
|
|
1105
|
+
return typing.cast(typing.List["Label"], result)
|
|
729
1106
|
|
|
730
1107
|
@builtins.property
|
|
731
1108
|
def limits(self) -> "LimitsPerLabelSetEntry":
|
|
@@ -797,7 +1174,7 @@ class LoggingConfiguration:
|
|
|
797
1174
|
def __init__(
|
|
798
1175
|
self,
|
|
799
1176
|
*,
|
|
800
|
-
log_group: typing.Optional[_aws_cdk_aws_logs_ceddda9d.ILogGroup] = None,
|
|
1177
|
+
log_group: typing.Optional["_aws_cdk_aws_logs_ceddda9d.ILogGroup"] = None,
|
|
801
1178
|
) -> None:
|
|
802
1179
|
'''Contains information about the rules and alerting logging configuration for the workspace.
|
|
803
1180
|
|
|
@@ -811,10 +1188,10 @@ class LoggingConfiguration:
|
|
|
811
1188
|
self._values["log_group"] = log_group
|
|
812
1189
|
|
|
813
1190
|
@builtins.property
|
|
814
|
-
def log_group(self) -> typing.Optional[_aws_cdk_aws_logs_ceddda9d.ILogGroup]:
|
|
1191
|
+
def log_group(self) -> typing.Optional["_aws_cdk_aws_logs_ceddda9d.ILogGroup"]:
|
|
815
1192
|
'''The CloudWatch log group to which the vended log data will be published.'''
|
|
816
1193
|
result = self._values.get("log_group")
|
|
817
|
-
return typing.cast(typing.Optional[_aws_cdk_aws_logs_ceddda9d.ILogGroup], result)
|
|
1194
|
+
return typing.cast(typing.Optional["_aws_cdk_aws_logs_ceddda9d.ILogGroup"], result)
|
|
818
1195
|
|
|
819
1196
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
820
1197
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -837,7 +1214,7 @@ class LoggingDestination:
|
|
|
837
1214
|
def __init__(
|
|
838
1215
|
self,
|
|
839
1216
|
*,
|
|
840
|
-
cloud_watch_logs: typing.Union[CloudWatchLogDestination, typing.Dict[builtins.str, typing.Any]],
|
|
1217
|
+
cloud_watch_logs: typing.Union["CloudWatchLogDestination", typing.Dict[builtins.str, typing.Any]],
|
|
841
1218
|
filters: typing.Union["LoggingFilter", typing.Dict[builtins.str, typing.Any]],
|
|
842
1219
|
) -> None:
|
|
843
1220
|
'''The logging destination in an Amazon Managed Service for Prometheus workspace.
|
|
@@ -859,11 +1236,11 @@ class LoggingDestination:
|
|
|
859
1236
|
}
|
|
860
1237
|
|
|
861
1238
|
@builtins.property
|
|
862
|
-
def cloud_watch_logs(self) -> CloudWatchLogDestination:
|
|
1239
|
+
def cloud_watch_logs(self) -> "CloudWatchLogDestination":
|
|
863
1240
|
'''Configuration details for logging to CloudWatch Logs.'''
|
|
864
1241
|
result = self._values.get("cloud_watch_logs")
|
|
865
1242
|
assert result is not None, "Required property 'cloud_watch_logs' is missing"
|
|
866
|
-
return typing.cast(CloudWatchLogDestination, result)
|
|
1243
|
+
return typing.cast("CloudWatchLogDestination", result)
|
|
867
1244
|
|
|
868
1245
|
@builtins.property
|
|
869
1246
|
def filters(self) -> "LoggingFilter":
|
|
@@ -924,6 +1301,57 @@ class LoggingFilter:
|
|
|
924
1301
|
)
|
|
925
1302
|
|
|
926
1303
|
|
|
1304
|
+
@jsii.data_type(
|
|
1305
|
+
jsii_type="@robhan-cdk-lib/aws_aps.MissingDataAction",
|
|
1306
|
+
jsii_struct_bases=[],
|
|
1307
|
+
name_mapping={"mark_as_anomaly": "markAsAnomaly", "skip": "skip"},
|
|
1308
|
+
)
|
|
1309
|
+
class MissingDataAction:
|
|
1310
|
+
def __init__(
|
|
1311
|
+
self,
|
|
1312
|
+
*,
|
|
1313
|
+
mark_as_anomaly: typing.Optional[builtins.bool] = None,
|
|
1314
|
+
skip: typing.Optional[builtins.bool] = None,
|
|
1315
|
+
) -> None:
|
|
1316
|
+
'''Specifies the action to take when data is missing during anomaly detection evaluation.
|
|
1317
|
+
|
|
1318
|
+
:param mark_as_anomaly: Marks missing data points as anomalies.
|
|
1319
|
+
:param skip: Skips evaluation when data is missing.
|
|
1320
|
+
'''
|
|
1321
|
+
if __debug__:
|
|
1322
|
+
type_hints = typing.get_type_hints(_typecheckingstub__4de31fdb80b9646037b68b88ae1dae6b46be704ab84a3c61100b29e91fc959c2)
|
|
1323
|
+
check_type(argname="argument mark_as_anomaly", value=mark_as_anomaly, expected_type=type_hints["mark_as_anomaly"])
|
|
1324
|
+
check_type(argname="argument skip", value=skip, expected_type=type_hints["skip"])
|
|
1325
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
1326
|
+
if mark_as_anomaly is not None:
|
|
1327
|
+
self._values["mark_as_anomaly"] = mark_as_anomaly
|
|
1328
|
+
if skip is not None:
|
|
1329
|
+
self._values["skip"] = skip
|
|
1330
|
+
|
|
1331
|
+
@builtins.property
|
|
1332
|
+
def mark_as_anomaly(self) -> typing.Optional[builtins.bool]:
|
|
1333
|
+
'''Marks missing data points as anomalies.'''
|
|
1334
|
+
result = self._values.get("mark_as_anomaly")
|
|
1335
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
1336
|
+
|
|
1337
|
+
@builtins.property
|
|
1338
|
+
def skip(self) -> typing.Optional[builtins.bool]:
|
|
1339
|
+
'''Skips evaluation when data is missing.'''
|
|
1340
|
+
result = self._values.get("skip")
|
|
1341
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
1342
|
+
|
|
1343
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1344
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
1345
|
+
|
|
1346
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
1347
|
+
return not (rhs == self)
|
|
1348
|
+
|
|
1349
|
+
def __repr__(self) -> str:
|
|
1350
|
+
return "MissingDataAction(%s)" % ", ".join(
|
|
1351
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
1352
|
+
)
|
|
1353
|
+
|
|
1354
|
+
|
|
927
1355
|
@jsii.data_type(
|
|
928
1356
|
jsii_type="@robhan-cdk-lib/aws_aps.QueryLoggingConfiguration",
|
|
929
1357
|
jsii_struct_bases=[],
|
|
@@ -933,7 +1361,7 @@ class QueryLoggingConfiguration:
|
|
|
933
1361
|
def __init__(
|
|
934
1362
|
self,
|
|
935
1363
|
*,
|
|
936
|
-
destinations: typing.Sequence[typing.Union[LoggingDestination, typing.Dict[builtins.str, typing.Any]]],
|
|
1364
|
+
destinations: typing.Sequence[typing.Union["LoggingDestination", typing.Dict[builtins.str, typing.Any]]],
|
|
937
1365
|
) -> None:
|
|
938
1366
|
'''The query logging configuration in an Amazon Managed Service for Prometheus workspace.
|
|
939
1367
|
|
|
@@ -947,14 +1375,14 @@ class QueryLoggingConfiguration:
|
|
|
947
1375
|
}
|
|
948
1376
|
|
|
949
1377
|
@builtins.property
|
|
950
|
-
def destinations(self) -> typing.List[LoggingDestination]:
|
|
1378
|
+
def destinations(self) -> typing.List["LoggingDestination"]:
|
|
951
1379
|
'''Defines a destination and its associated filtering criteria for query logging.
|
|
952
1380
|
|
|
953
1381
|
Minimum 1 and maximum 1 item in array.
|
|
954
1382
|
'''
|
|
955
1383
|
result = self._values.get("destinations")
|
|
956
1384
|
assert result is not None, "Required property 'destinations' is missing"
|
|
957
|
-
return typing.cast(typing.List[LoggingDestination], result)
|
|
1385
|
+
return typing.cast(typing.List["LoggingDestination"], result)
|
|
958
1386
|
|
|
959
1387
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
960
1388
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -969,48 +1397,282 @@ class QueryLoggingConfiguration:
|
|
|
969
1397
|
|
|
970
1398
|
|
|
971
1399
|
@jsii.data_type(
|
|
972
|
-
jsii_type="@robhan-cdk-lib/aws_aps.
|
|
1400
|
+
jsii_type="@robhan-cdk-lib/aws_aps.RandomCutForestConfiguration",
|
|
973
1401
|
jsii_struct_bases=[],
|
|
974
|
-
name_mapping={
|
|
1402
|
+
name_mapping={
|
|
1403
|
+
"query": "query",
|
|
1404
|
+
"ignore_near_expected_from_above": "ignoreNearExpectedFromAbove",
|
|
1405
|
+
"ignore_near_expected_from_below": "ignoreNearExpectedFromBelow",
|
|
1406
|
+
"sample_size": "sampleSize",
|
|
1407
|
+
"shingle_size": "shingleSize",
|
|
1408
|
+
},
|
|
975
1409
|
)
|
|
976
|
-
class
|
|
1410
|
+
class RandomCutForestConfiguration:
|
|
977
1411
|
def __init__(
|
|
978
1412
|
self,
|
|
979
1413
|
*,
|
|
980
|
-
|
|
981
|
-
|
|
1414
|
+
query: builtins.str,
|
|
1415
|
+
ignore_near_expected_from_above: typing.Optional[typing.Union["IgnoreNearExpected", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
1416
|
+
ignore_near_expected_from_below: typing.Optional[typing.Union["IgnoreNearExpected", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
1417
|
+
sample_size: typing.Optional[jsii.Number] = None,
|
|
1418
|
+
shingle_size: typing.Optional[jsii.Number] = None,
|
|
982
1419
|
) -> None:
|
|
983
|
-
'''
|
|
1420
|
+
'''Configuration for the Random Cut Forest algorithm used for anomaly detection in time-series data.
|
|
1421
|
+
|
|
1422
|
+
:param query: The Prometheus query used to retrieve the time-series data for anomaly detection. 1 to 8192 characters length.
|
|
1423
|
+
:param ignore_near_expected_from_above: Configuration for ignoring values that are near expected values from above during anomaly detection.
|
|
1424
|
+
:param ignore_near_expected_from_below: Configuration for ignoring values that are near expected values from below during anomaly detection.
|
|
1425
|
+
:param sample_size: The number of data points sampled from the input stream for the Random Cut Forest algorithm. The default number is 256 consecutive data points. Minimum: 256 Maximum: 1024
|
|
1426
|
+
:param shingle_size: The number of consecutive data points used to create a shingle for the Random Cut Forest algorithm. The default number is 8 consecutive data points. Minimum: 2 Maximum: 1024
|
|
1427
|
+
'''
|
|
1428
|
+
if isinstance(ignore_near_expected_from_above, dict):
|
|
1429
|
+
ignore_near_expected_from_above = IgnoreNearExpected(**ignore_near_expected_from_above)
|
|
1430
|
+
if isinstance(ignore_near_expected_from_below, dict):
|
|
1431
|
+
ignore_near_expected_from_below = IgnoreNearExpected(**ignore_near_expected_from_below)
|
|
1432
|
+
if __debug__:
|
|
1433
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c44dedd708a153df90c20f2738e66c34f510bb7ed036637ccb7a1bde1f3394b8)
|
|
1434
|
+
check_type(argname="argument query", value=query, expected_type=type_hints["query"])
|
|
1435
|
+
check_type(argname="argument ignore_near_expected_from_above", value=ignore_near_expected_from_above, expected_type=type_hints["ignore_near_expected_from_above"])
|
|
1436
|
+
check_type(argname="argument ignore_near_expected_from_below", value=ignore_near_expected_from_below, expected_type=type_hints["ignore_near_expected_from_below"])
|
|
1437
|
+
check_type(argname="argument sample_size", value=sample_size, expected_type=type_hints["sample_size"])
|
|
1438
|
+
check_type(argname="argument shingle_size", value=shingle_size, expected_type=type_hints["shingle_size"])
|
|
1439
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
1440
|
+
"query": query,
|
|
1441
|
+
}
|
|
1442
|
+
if ignore_near_expected_from_above is not None:
|
|
1443
|
+
self._values["ignore_near_expected_from_above"] = ignore_near_expected_from_above
|
|
1444
|
+
if ignore_near_expected_from_below is not None:
|
|
1445
|
+
self._values["ignore_near_expected_from_below"] = ignore_near_expected_from_below
|
|
1446
|
+
if sample_size is not None:
|
|
1447
|
+
self._values["sample_size"] = sample_size
|
|
1448
|
+
if shingle_size is not None:
|
|
1449
|
+
self._values["shingle_size"] = shingle_size
|
|
984
1450
|
|
|
985
|
-
|
|
986
|
-
|
|
1451
|
+
@builtins.property
|
|
1452
|
+
def query(self) -> builtins.str:
|
|
1453
|
+
'''The Prometheus query used to retrieve the time-series data for anomaly detection.
|
|
1454
|
+
|
|
1455
|
+
1 to 8192 characters length.
|
|
987
1456
|
'''
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
check_type(argname="argument target_role", value=target_role, expected_type=type_hints["target_role"])
|
|
992
|
-
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
993
|
-
if source_role is not None:
|
|
994
|
-
self._values["source_role"] = source_role
|
|
995
|
-
if target_role is not None:
|
|
996
|
-
self._values["target_role"] = target_role
|
|
1457
|
+
result = self._values.get("query")
|
|
1458
|
+
assert result is not None, "Required property 'query' is missing"
|
|
1459
|
+
return typing.cast(builtins.str, result)
|
|
997
1460
|
|
|
998
1461
|
@builtins.property
|
|
999
|
-
def
|
|
1000
|
-
'''
|
|
1001
|
-
result = self._values.get("
|
|
1002
|
-
return typing.cast(typing.Optional[
|
|
1462
|
+
def ignore_near_expected_from_above(self) -> typing.Optional["IgnoreNearExpected"]:
|
|
1463
|
+
'''Configuration for ignoring values that are near expected values from above during anomaly detection.'''
|
|
1464
|
+
result = self._values.get("ignore_near_expected_from_above")
|
|
1465
|
+
return typing.cast(typing.Optional["IgnoreNearExpected"], result)
|
|
1003
1466
|
|
|
1004
1467
|
@builtins.property
|
|
1005
|
-
def
|
|
1006
|
-
'''
|
|
1007
|
-
result = self._values.get("
|
|
1008
|
-
return typing.cast(typing.Optional[
|
|
1468
|
+
def ignore_near_expected_from_below(self) -> typing.Optional["IgnoreNearExpected"]:
|
|
1469
|
+
'''Configuration for ignoring values that are near expected values from below during anomaly detection.'''
|
|
1470
|
+
result = self._values.get("ignore_near_expected_from_below")
|
|
1471
|
+
return typing.cast(typing.Optional["IgnoreNearExpected"], result)
|
|
1009
1472
|
|
|
1010
|
-
|
|
1011
|
-
|
|
1473
|
+
@builtins.property
|
|
1474
|
+
def sample_size(self) -> typing.Optional[jsii.Number]:
|
|
1475
|
+
'''The number of data points sampled from the input stream for the Random Cut Forest algorithm.
|
|
1012
1476
|
|
|
1013
|
-
|
|
1477
|
+
The default number is 256 consecutive data points.
|
|
1478
|
+
|
|
1479
|
+
Minimum: 256
|
|
1480
|
+
Maximum: 1024
|
|
1481
|
+
'''
|
|
1482
|
+
result = self._values.get("sample_size")
|
|
1483
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
1484
|
+
|
|
1485
|
+
@builtins.property
|
|
1486
|
+
def shingle_size(self) -> typing.Optional[jsii.Number]:
|
|
1487
|
+
'''The number of consecutive data points used to create a shingle for the Random Cut Forest algorithm.
|
|
1488
|
+
|
|
1489
|
+
The default number is 8 consecutive data points.
|
|
1490
|
+
|
|
1491
|
+
Minimum: 2
|
|
1492
|
+
Maximum: 1024
|
|
1493
|
+
'''
|
|
1494
|
+
result = self._values.get("shingle_size")
|
|
1495
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
1496
|
+
|
|
1497
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1498
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
1499
|
+
|
|
1500
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
1501
|
+
return not (rhs == self)
|
|
1502
|
+
|
|
1503
|
+
def __repr__(self) -> str:
|
|
1504
|
+
return "RandomCutForestConfiguration(%s)" % ", ".join(
|
|
1505
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
1506
|
+
)
|
|
1507
|
+
|
|
1508
|
+
|
|
1509
|
+
@jsii.implements(IResourcePolicy)
|
|
1510
|
+
class ResourcePolicyBase(
|
|
1511
|
+
_aws_cdk_ceddda9d.Resource,
|
|
1512
|
+
metaclass=jsii.JSIIAbstractClass,
|
|
1513
|
+
jsii_type="@robhan-cdk-lib/aws_aps.ResourcePolicyBase",
|
|
1514
|
+
):
|
|
1515
|
+
def __init__(
|
|
1516
|
+
self,
|
|
1517
|
+
scope: "_constructs_77d1e7e8.Construct",
|
|
1518
|
+
id: builtins.str,
|
|
1519
|
+
*,
|
|
1520
|
+
account: typing.Optional[builtins.str] = None,
|
|
1521
|
+
environment_from_arn: typing.Optional[builtins.str] = None,
|
|
1522
|
+
physical_name: typing.Optional[builtins.str] = None,
|
|
1523
|
+
region: typing.Optional[builtins.str] = None,
|
|
1524
|
+
) -> None:
|
|
1525
|
+
'''
|
|
1526
|
+
:param scope: -
|
|
1527
|
+
:param id: -
|
|
1528
|
+
:param account: The AWS account ID this resource belongs to. Default: - the resource is in the same account as the stack it belongs to
|
|
1529
|
+
:param environment_from_arn: ARN to deduce region and account from. The ARN is parsed and the account and region are taken from the ARN. This should be used for imported resources. Cannot be supplied together with either ``account`` or ``region``. Default: - take environment from ``account``, ``region`` parameters, or use Stack environment.
|
|
1530
|
+
:param physical_name: The value passed in by users to the physical name prop of the resource. - ``undefined`` implies that a physical name will be allocated by CloudFormation during deployment. - a concrete value implies a specific physical name - ``PhysicalName.GENERATE_IF_NEEDED`` is a marker that indicates that a physical will only be generated by the CDK if it is needed for cross-environment references. Otherwise, it will be allocated by CloudFormation. Default: - The physical name will be allocated by CloudFormation at deployment time
|
|
1531
|
+
:param region: The AWS region this resource belongs to. Default: - the resource is in the same region as the stack it belongs to
|
|
1532
|
+
'''
|
|
1533
|
+
if __debug__:
|
|
1534
|
+
type_hints = typing.get_type_hints(_typecheckingstub__1705a6716ddb826f74670d4b351789ae363cbbc6a4fda6389f3fe972e4ad37e8)
|
|
1535
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
1536
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
1537
|
+
props = _aws_cdk_ceddda9d.ResourceProps(
|
|
1538
|
+
account=account,
|
|
1539
|
+
environment_from_arn=environment_from_arn,
|
|
1540
|
+
physical_name=physical_name,
|
|
1541
|
+
region=region,
|
|
1542
|
+
)
|
|
1543
|
+
|
|
1544
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
1545
|
+
|
|
1546
|
+
@builtins.property
|
|
1547
|
+
@jsii.member(jsii_name="policyDocument")
|
|
1548
|
+
@abc.abstractmethod
|
|
1549
|
+
def policy_document(self) -> builtins.str:
|
|
1550
|
+
'''The JSON to use as the Resource-based Policy.'''
|
|
1551
|
+
...
|
|
1552
|
+
|
|
1553
|
+
@builtins.property
|
|
1554
|
+
@jsii.member(jsii_name="workspace")
|
|
1555
|
+
@abc.abstractmethod
|
|
1556
|
+
def workspace(self) -> "IWorkspace":
|
|
1557
|
+
'''The workspace to attach the policy to.'''
|
|
1558
|
+
...
|
|
1559
|
+
|
|
1560
|
+
|
|
1561
|
+
class _ResourcePolicyBaseProxy(
|
|
1562
|
+
ResourcePolicyBase,
|
|
1563
|
+
jsii.proxy_for(_aws_cdk_ceddda9d.Resource), # type: ignore[misc]
|
|
1564
|
+
):
|
|
1565
|
+
@builtins.property
|
|
1566
|
+
@jsii.member(jsii_name="policyDocument")
|
|
1567
|
+
def policy_document(self) -> builtins.str:
|
|
1568
|
+
'''The JSON to use as the Resource-based Policy.'''
|
|
1569
|
+
return typing.cast(builtins.str, jsii.get(self, "policyDocument"))
|
|
1570
|
+
|
|
1571
|
+
@builtins.property
|
|
1572
|
+
@jsii.member(jsii_name="workspace")
|
|
1573
|
+
def workspace(self) -> "IWorkspace":
|
|
1574
|
+
'''The workspace to attach the policy to.'''
|
|
1575
|
+
return typing.cast("IWorkspace", jsii.get(self, "workspace"))
|
|
1576
|
+
|
|
1577
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the abstract class
|
|
1578
|
+
typing.cast(typing.Any, ResourcePolicyBase).__jsii_proxy_class__ = lambda : _ResourcePolicyBaseProxy
|
|
1579
|
+
|
|
1580
|
+
|
|
1581
|
+
@jsii.data_type(
|
|
1582
|
+
jsii_type="@robhan-cdk-lib/aws_aps.ResourcePolicyProps",
|
|
1583
|
+
jsii_struct_bases=[],
|
|
1584
|
+
name_mapping={"policy_document": "policyDocument", "workspace": "workspace"},
|
|
1585
|
+
)
|
|
1586
|
+
class ResourcePolicyProps:
|
|
1587
|
+
def __init__(
|
|
1588
|
+
self,
|
|
1589
|
+
*,
|
|
1590
|
+
policy_document: builtins.str,
|
|
1591
|
+
workspace: "IWorkspace",
|
|
1592
|
+
) -> None:
|
|
1593
|
+
'''Properties for creating an Amazon Managed Service for Prometheus Resource Policy.
|
|
1594
|
+
|
|
1595
|
+
:param policy_document: The JSON to use as the Resource-based Policy.
|
|
1596
|
+
:param workspace: The workspace to attach the policy to.
|
|
1597
|
+
'''
|
|
1598
|
+
if __debug__:
|
|
1599
|
+
type_hints = typing.get_type_hints(_typecheckingstub__e64bdaac8096e1f570bf3bdd34320a336689a41b7fadad148bbe26533f682a36)
|
|
1600
|
+
check_type(argname="argument policy_document", value=policy_document, expected_type=type_hints["policy_document"])
|
|
1601
|
+
check_type(argname="argument workspace", value=workspace, expected_type=type_hints["workspace"])
|
|
1602
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
1603
|
+
"policy_document": policy_document,
|
|
1604
|
+
"workspace": workspace,
|
|
1605
|
+
}
|
|
1606
|
+
|
|
1607
|
+
@builtins.property
|
|
1608
|
+
def policy_document(self) -> builtins.str:
|
|
1609
|
+
'''The JSON to use as the Resource-based Policy.'''
|
|
1610
|
+
result = self._values.get("policy_document")
|
|
1611
|
+
assert result is not None, "Required property 'policy_document' is missing"
|
|
1612
|
+
return typing.cast(builtins.str, result)
|
|
1613
|
+
|
|
1614
|
+
@builtins.property
|
|
1615
|
+
def workspace(self) -> "IWorkspace":
|
|
1616
|
+
'''The workspace to attach the policy to.'''
|
|
1617
|
+
result = self._values.get("workspace")
|
|
1618
|
+
assert result is not None, "Required property 'workspace' is missing"
|
|
1619
|
+
return typing.cast("IWorkspace", result)
|
|
1620
|
+
|
|
1621
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1622
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
1623
|
+
|
|
1624
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
1625
|
+
return not (rhs == self)
|
|
1626
|
+
|
|
1627
|
+
def __repr__(self) -> str:
|
|
1628
|
+
return "ResourcePolicyProps(%s)" % ", ".join(
|
|
1629
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
1630
|
+
)
|
|
1631
|
+
|
|
1632
|
+
|
|
1633
|
+
@jsii.data_type(
|
|
1634
|
+
jsii_type="@robhan-cdk-lib/aws_aps.RoleConfiguration",
|
|
1635
|
+
jsii_struct_bases=[],
|
|
1636
|
+
name_mapping={"source_role": "sourceRole", "target_role": "targetRole"},
|
|
1637
|
+
)
|
|
1638
|
+
class RoleConfiguration:
|
|
1639
|
+
def __init__(
|
|
1640
|
+
self,
|
|
1641
|
+
*,
|
|
1642
|
+
source_role: typing.Optional["_aws_cdk_aws_iam_ceddda9d.IRole"] = None,
|
|
1643
|
+
target_role: typing.Optional["_aws_cdk_aws_iam_ceddda9d.IRole"] = None,
|
|
1644
|
+
) -> None:
|
|
1645
|
+
'''The role configuration in an Amazon Managed Service for Prometheus scraper.
|
|
1646
|
+
|
|
1647
|
+
:param source_role: The source role.
|
|
1648
|
+
:param target_role: The target role.
|
|
1649
|
+
'''
|
|
1650
|
+
if __debug__:
|
|
1651
|
+
type_hints = typing.get_type_hints(_typecheckingstub__e96c135bdcece9823caf073421082af151c59b6d52a5918bb38689bbca7ab2a3)
|
|
1652
|
+
check_type(argname="argument source_role", value=source_role, expected_type=type_hints["source_role"])
|
|
1653
|
+
check_type(argname="argument target_role", value=target_role, expected_type=type_hints["target_role"])
|
|
1654
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
1655
|
+
if source_role is not None:
|
|
1656
|
+
self._values["source_role"] = source_role
|
|
1657
|
+
if target_role is not None:
|
|
1658
|
+
self._values["target_role"] = target_role
|
|
1659
|
+
|
|
1660
|
+
@builtins.property
|
|
1661
|
+
def source_role(self) -> typing.Optional["_aws_cdk_aws_iam_ceddda9d.IRole"]:
|
|
1662
|
+
'''The source role.'''
|
|
1663
|
+
result = self._values.get("source_role")
|
|
1664
|
+
return typing.cast(typing.Optional["_aws_cdk_aws_iam_ceddda9d.IRole"], result)
|
|
1665
|
+
|
|
1666
|
+
@builtins.property
|
|
1667
|
+
def target_role(self) -> typing.Optional["_aws_cdk_aws_iam_ceddda9d.IRole"]:
|
|
1668
|
+
'''The target role.'''
|
|
1669
|
+
result = self._values.get("target_role")
|
|
1670
|
+
return typing.cast(typing.Optional["_aws_cdk_aws_iam_ceddda9d.IRole"], result)
|
|
1671
|
+
|
|
1672
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1673
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
1674
|
+
|
|
1675
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
1014
1676
|
return not (rhs == self)
|
|
1015
1677
|
|
|
1016
1678
|
def __repr__(self) -> str:
|
|
@@ -1036,7 +1698,7 @@ class RuleGroupsNamespaceAttributes:
|
|
|
1036
1698
|
data: builtins.str,
|
|
1037
1699
|
name: builtins.str,
|
|
1038
1700
|
rule_groups_namespace_arn: builtins.str,
|
|
1039
|
-
workspace: IWorkspace,
|
|
1701
|
+
workspace: "IWorkspace",
|
|
1040
1702
|
) -> None:
|
|
1041
1703
|
'''Properties for importing a rule groups namespace in an Amazon Managed Service for Prometheus workspace from attributes.
|
|
1042
1704
|
|
|
@@ -1083,11 +1745,11 @@ class RuleGroupsNamespaceAttributes:
|
|
|
1083
1745
|
return typing.cast(builtins.str, result)
|
|
1084
1746
|
|
|
1085
1747
|
@builtins.property
|
|
1086
|
-
def workspace(self) -> IWorkspace:
|
|
1748
|
+
def workspace(self) -> "IWorkspace":
|
|
1087
1749
|
'''The workspace to add the rule groups namespace.'''
|
|
1088
1750
|
result = self._values.get("workspace")
|
|
1089
1751
|
assert result is not None, "Required property 'workspace' is missing"
|
|
1090
|
-
return typing.cast(IWorkspace, result)
|
|
1752
|
+
return typing.cast("IWorkspace", result)
|
|
1091
1753
|
|
|
1092
1754
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1093
1755
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -1109,7 +1771,7 @@ class RuleGroupsNamespaceBase(
|
|
|
1109
1771
|
):
|
|
1110
1772
|
def __init__(
|
|
1111
1773
|
self,
|
|
1112
|
-
scope: _constructs_77d1e7e8.Construct,
|
|
1774
|
+
scope: "_constructs_77d1e7e8.Construct",
|
|
1113
1775
|
id: builtins.str,
|
|
1114
1776
|
*,
|
|
1115
1777
|
account: typing.Optional[builtins.str] = None,
|
|
@@ -1162,7 +1824,7 @@ class RuleGroupsNamespaceBase(
|
|
|
1162
1824
|
@builtins.property
|
|
1163
1825
|
@jsii.member(jsii_name="workspace")
|
|
1164
1826
|
@abc.abstractmethod
|
|
1165
|
-
def workspace(self) -> IWorkspace:
|
|
1827
|
+
def workspace(self) -> "IWorkspace":
|
|
1166
1828
|
'''The workspace to add the rule groups namespace.'''
|
|
1167
1829
|
...
|
|
1168
1830
|
|
|
@@ -1191,9 +1853,9 @@ class _RuleGroupsNamespaceBaseProxy(
|
|
|
1191
1853
|
|
|
1192
1854
|
@builtins.property
|
|
1193
1855
|
@jsii.member(jsii_name="workspace")
|
|
1194
|
-
def workspace(self) -> IWorkspace:
|
|
1856
|
+
def workspace(self) -> "IWorkspace":
|
|
1195
1857
|
'''The workspace to add the rule groups namespace.'''
|
|
1196
|
-
return typing.cast(IWorkspace, jsii.get(self, "workspace"))
|
|
1858
|
+
return typing.cast("IWorkspace", jsii.get(self, "workspace"))
|
|
1197
1859
|
|
|
1198
1860
|
# Adding a "__jsii_proxy_class__(): typing.Type" function to the abstract class
|
|
1199
1861
|
typing.cast(typing.Any, RuleGroupsNamespaceBase).__jsii_proxy_class__ = lambda : _RuleGroupsNamespaceBaseProxy
|
|
@@ -1210,7 +1872,7 @@ class RuleGroupsNamespaceProps:
|
|
|
1210
1872
|
*,
|
|
1211
1873
|
data: builtins.str,
|
|
1212
1874
|
name: builtins.str,
|
|
1213
|
-
workspace: IWorkspace,
|
|
1875
|
+
workspace: "IWorkspace",
|
|
1214
1876
|
) -> None:
|
|
1215
1877
|
'''Properties for creating a rule groups namespace in an Amazon Managed Service for Prometheus workspace.
|
|
1216
1878
|
|
|
@@ -1247,11 +1909,11 @@ class RuleGroupsNamespaceProps:
|
|
|
1247
1909
|
return typing.cast(builtins.str, result)
|
|
1248
1910
|
|
|
1249
1911
|
@builtins.property
|
|
1250
|
-
def workspace(self) -> IWorkspace:
|
|
1912
|
+
def workspace(self) -> "IWorkspace":
|
|
1251
1913
|
'''The workspace to add the rule groups namespace.'''
|
|
1252
1914
|
result = self._values.get("workspace")
|
|
1253
1915
|
assert result is not None, "Required property 'workspace' is missing"
|
|
1254
|
-
return typing.cast(IWorkspace, result)
|
|
1916
|
+
return typing.cast("IWorkspace", result)
|
|
1255
1917
|
|
|
1256
1918
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1257
1919
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -1318,12 +1980,12 @@ class ScraperAttributes:
|
|
|
1318
1980
|
def __init__(
|
|
1319
1981
|
self,
|
|
1320
1982
|
*,
|
|
1321
|
-
destination: typing.Union[Destination, typing.Dict[builtins.str, typing.Any]],
|
|
1322
|
-
scrape_configuration: typing.Union[ScrapeConfiguration, typing.Dict[builtins.str, typing.Any]],
|
|
1983
|
+
destination: typing.Union["Destination", typing.Dict[builtins.str, typing.Any]],
|
|
1984
|
+
scrape_configuration: typing.Union["ScrapeConfiguration", typing.Dict[builtins.str, typing.Any]],
|
|
1323
1985
|
scraper_arn: builtins.str,
|
|
1324
1986
|
source: typing.Union["Source", typing.Dict[builtins.str, typing.Any]],
|
|
1325
1987
|
alias: typing.Optional[builtins.str] = None,
|
|
1326
|
-
role_configuration: typing.Optional[typing.Union[RoleConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
1988
|
+
role_configuration: typing.Optional[typing.Union["RoleConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
1327
1989
|
) -> None:
|
|
1328
1990
|
'''Properties for importing an Amazon Managed Service for Prometheus Scraper from attributes.
|
|
1329
1991
|
|
|
@@ -1362,18 +2024,18 @@ class ScraperAttributes:
|
|
|
1362
2024
|
self._values["role_configuration"] = role_configuration
|
|
1363
2025
|
|
|
1364
2026
|
@builtins.property
|
|
1365
|
-
def destination(self) -> Destination:
|
|
2027
|
+
def destination(self) -> "Destination":
|
|
1366
2028
|
'''The Amazon Managed Service for Prometheus workspace the scraper sends metrics to.'''
|
|
1367
2029
|
result = self._values.get("destination")
|
|
1368
2030
|
assert result is not None, "Required property 'destination' is missing"
|
|
1369
|
-
return typing.cast(Destination, result)
|
|
2031
|
+
return typing.cast("Destination", result)
|
|
1370
2032
|
|
|
1371
2033
|
@builtins.property
|
|
1372
|
-
def scrape_configuration(self) -> ScrapeConfiguration:
|
|
2034
|
+
def scrape_configuration(self) -> "ScrapeConfiguration":
|
|
1373
2035
|
'''The configuration in use by the scraper.'''
|
|
1374
2036
|
result = self._values.get("scrape_configuration")
|
|
1375
2037
|
assert result is not None, "Required property 'scrape_configuration' is missing"
|
|
1376
|
-
return typing.cast(ScrapeConfiguration, result)
|
|
2038
|
+
return typing.cast("ScrapeConfiguration", result)
|
|
1377
2039
|
|
|
1378
2040
|
@builtins.property
|
|
1379
2041
|
def scraper_arn(self) -> builtins.str:
|
|
@@ -1401,10 +2063,10 @@ class ScraperAttributes:
|
|
|
1401
2063
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
1402
2064
|
|
|
1403
2065
|
@builtins.property
|
|
1404
|
-
def role_configuration(self) -> typing.Optional[RoleConfiguration]:
|
|
2066
|
+
def role_configuration(self) -> typing.Optional["RoleConfiguration"]:
|
|
1405
2067
|
'''The role configuration in an Amazon Managed Service for Prometheus scraper.'''
|
|
1406
2068
|
result = self._values.get("role_configuration")
|
|
1407
|
-
return typing.cast(typing.Optional[RoleConfiguration], result)
|
|
2069
|
+
return typing.cast(typing.Optional["RoleConfiguration"], result)
|
|
1408
2070
|
|
|
1409
2071
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1410
2072
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -1426,7 +2088,7 @@ class ScraperBase(
|
|
|
1426
2088
|
):
|
|
1427
2089
|
def __init__(
|
|
1428
2090
|
self,
|
|
1429
|
-
scope: _constructs_77d1e7e8.Construct,
|
|
2091
|
+
scope: "_constructs_77d1e7e8.Construct",
|
|
1430
2092
|
id: builtins.str,
|
|
1431
2093
|
*,
|
|
1432
2094
|
account: typing.Optional[builtins.str] = None,
|
|
@@ -1468,14 +2130,14 @@ class ScraperBase(
|
|
|
1468
2130
|
@builtins.property
|
|
1469
2131
|
@jsii.member(jsii_name="destination")
|
|
1470
2132
|
@abc.abstractmethod
|
|
1471
|
-
def destination(self) -> Destination:
|
|
2133
|
+
def destination(self) -> "Destination":
|
|
1472
2134
|
'''The Amazon Managed Service for Prometheus workspace the scraper sends metrics to.'''
|
|
1473
2135
|
...
|
|
1474
2136
|
|
|
1475
2137
|
@builtins.property
|
|
1476
2138
|
@jsii.member(jsii_name="scrapeConfiguration")
|
|
1477
2139
|
@abc.abstractmethod
|
|
1478
|
-
def scrape_configuration(self) -> ScrapeConfiguration:
|
|
2140
|
+
def scrape_configuration(self) -> "ScrapeConfiguration":
|
|
1479
2141
|
'''The configuration in use by the scraper.'''
|
|
1480
2142
|
...
|
|
1481
2143
|
|
|
@@ -1515,7 +2177,7 @@ class ScraperBase(
|
|
|
1515
2177
|
@builtins.property
|
|
1516
2178
|
@jsii.member(jsii_name="roleConfiguration")
|
|
1517
2179
|
@abc.abstractmethod
|
|
1518
|
-
def role_configuration(self) -> typing.Optional[RoleConfiguration]:
|
|
2180
|
+
def role_configuration(self) -> typing.Optional["RoleConfiguration"]:
|
|
1519
2181
|
'''The role configuration in an Amazon Managed Service for Prometheus scraper.'''
|
|
1520
2182
|
...
|
|
1521
2183
|
|
|
@@ -1526,15 +2188,15 @@ class _ScraperBaseProxy(
|
|
|
1526
2188
|
):
|
|
1527
2189
|
@builtins.property
|
|
1528
2190
|
@jsii.member(jsii_name="destination")
|
|
1529
|
-
def destination(self) -> Destination:
|
|
2191
|
+
def destination(self) -> "Destination":
|
|
1530
2192
|
'''The Amazon Managed Service for Prometheus workspace the scraper sends metrics to.'''
|
|
1531
|
-
return typing.cast(Destination, jsii.get(self, "destination"))
|
|
2193
|
+
return typing.cast("Destination", jsii.get(self, "destination"))
|
|
1532
2194
|
|
|
1533
2195
|
@builtins.property
|
|
1534
2196
|
@jsii.member(jsii_name="scrapeConfiguration")
|
|
1535
|
-
def scrape_configuration(self) -> ScrapeConfiguration:
|
|
2197
|
+
def scrape_configuration(self) -> "ScrapeConfiguration":
|
|
1536
2198
|
'''The configuration in use by the scraper.'''
|
|
1537
|
-
return typing.cast(ScrapeConfiguration, jsii.get(self, "scrapeConfiguration"))
|
|
2199
|
+
return typing.cast("ScrapeConfiguration", jsii.get(self, "scrapeConfiguration"))
|
|
1538
2200
|
|
|
1539
2201
|
@builtins.property
|
|
1540
2202
|
@jsii.member(jsii_name="scraperArn")
|
|
@@ -1567,9 +2229,9 @@ class _ScraperBaseProxy(
|
|
|
1567
2229
|
|
|
1568
2230
|
@builtins.property
|
|
1569
2231
|
@jsii.member(jsii_name="roleConfiguration")
|
|
1570
|
-
def role_configuration(self) -> typing.Optional[RoleConfiguration]:
|
|
2232
|
+
def role_configuration(self) -> typing.Optional["RoleConfiguration"]:
|
|
1571
2233
|
'''The role configuration in an Amazon Managed Service for Prometheus scraper.'''
|
|
1572
|
-
return typing.cast(typing.Optional[RoleConfiguration], jsii.get(self, "roleConfiguration"))
|
|
2234
|
+
return typing.cast(typing.Optional["RoleConfiguration"], jsii.get(self, "roleConfiguration"))
|
|
1573
2235
|
|
|
1574
2236
|
# Adding a "__jsii_proxy_class__(): typing.Type" function to the abstract class
|
|
1575
2237
|
typing.cast(typing.Any, ScraperBase).__jsii_proxy_class__ = lambda : _ScraperBaseProxy
|
|
@@ -1590,11 +2252,11 @@ class ScraperProps:
|
|
|
1590
2252
|
def __init__(
|
|
1591
2253
|
self,
|
|
1592
2254
|
*,
|
|
1593
|
-
destination: typing.Union[Destination, typing.Dict[builtins.str, typing.Any]],
|
|
1594
|
-
scrape_configuration: typing.Union[ScrapeConfiguration, typing.Dict[builtins.str, typing.Any]],
|
|
2255
|
+
destination: typing.Union["Destination", typing.Dict[builtins.str, typing.Any]],
|
|
2256
|
+
scrape_configuration: typing.Union["ScrapeConfiguration", typing.Dict[builtins.str, typing.Any]],
|
|
1595
2257
|
source: typing.Union["Source", typing.Dict[builtins.str, typing.Any]],
|
|
1596
2258
|
alias: typing.Optional[builtins.str] = None,
|
|
1597
|
-
role_configuration: typing.Optional[typing.Union[RoleConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2259
|
+
role_configuration: typing.Optional[typing.Union["RoleConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
1598
2260
|
) -> None:
|
|
1599
2261
|
'''Properties for creating an Amazon Managed Service for Prometheus Scraper.
|
|
1600
2262
|
|
|
@@ -1630,18 +2292,18 @@ class ScraperProps:
|
|
|
1630
2292
|
self._values["role_configuration"] = role_configuration
|
|
1631
2293
|
|
|
1632
2294
|
@builtins.property
|
|
1633
|
-
def destination(self) -> Destination:
|
|
2295
|
+
def destination(self) -> "Destination":
|
|
1634
2296
|
'''The Amazon Managed Service for Prometheus workspace the scraper sends metrics to.'''
|
|
1635
2297
|
result = self._values.get("destination")
|
|
1636
2298
|
assert result is not None, "Required property 'destination' is missing"
|
|
1637
|
-
return typing.cast(Destination, result)
|
|
2299
|
+
return typing.cast("Destination", result)
|
|
1638
2300
|
|
|
1639
2301
|
@builtins.property
|
|
1640
|
-
def scrape_configuration(self) -> ScrapeConfiguration:
|
|
2302
|
+
def scrape_configuration(self) -> "ScrapeConfiguration":
|
|
1641
2303
|
'''The configuration in use by the scraper.'''
|
|
1642
2304
|
result = self._values.get("scrape_configuration")
|
|
1643
2305
|
assert result is not None, "Required property 'scrape_configuration' is missing"
|
|
1644
|
-
return typing.cast(ScrapeConfiguration, result)
|
|
2306
|
+
return typing.cast("ScrapeConfiguration", result)
|
|
1645
2307
|
|
|
1646
2308
|
@builtins.property
|
|
1647
2309
|
def source(self) -> "Source":
|
|
@@ -1662,10 +2324,10 @@ class ScraperProps:
|
|
|
1662
2324
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
1663
2325
|
|
|
1664
2326
|
@builtins.property
|
|
1665
|
-
def role_configuration(self) -> typing.Optional[RoleConfiguration]:
|
|
2327
|
+
def role_configuration(self) -> typing.Optional["RoleConfiguration"]:
|
|
1666
2328
|
'''The role configuration in an Amazon Managed Service for Prometheus scraper.'''
|
|
1667
2329
|
result = self._values.get("role_configuration")
|
|
1668
|
-
return typing.cast(typing.Optional[RoleConfiguration], result)
|
|
2330
|
+
return typing.cast(typing.Optional["RoleConfiguration"], result)
|
|
1669
2331
|
|
|
1670
2332
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1671
2333
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -1688,7 +2350,7 @@ class Source:
|
|
|
1688
2350
|
def __init__(
|
|
1689
2351
|
self,
|
|
1690
2352
|
*,
|
|
1691
|
-
eks_configuration: typing.Union[EksConfiguration, typing.Dict[builtins.str, typing.Any]],
|
|
2353
|
+
eks_configuration: typing.Union["EksConfiguration", typing.Dict[builtins.str, typing.Any]],
|
|
1692
2354
|
) -> None:
|
|
1693
2355
|
'''The source of collected metrics for a scraper.
|
|
1694
2356
|
|
|
@@ -1704,11 +2366,11 @@ class Source:
|
|
|
1704
2366
|
}
|
|
1705
2367
|
|
|
1706
2368
|
@builtins.property
|
|
1707
|
-
def eks_configuration(self) -> EksConfiguration:
|
|
2369
|
+
def eks_configuration(self) -> "EksConfiguration":
|
|
1708
2370
|
'''The Amazon EKS cluster from which a scraper collects metrics.'''
|
|
1709
2371
|
result = self._values.get("eks_configuration")
|
|
1710
2372
|
assert result is not None, "Required property 'eks_configuration' is missing"
|
|
1711
|
-
return typing.cast(EksConfiguration, result)
|
|
2373
|
+
return typing.cast("EksConfiguration", result)
|
|
1712
2374
|
|
|
1713
2375
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1714
2376
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -1742,9 +2404,9 @@ class WorkspaceAttributes:
|
|
|
1742
2404
|
workspace_arn: builtins.str,
|
|
1743
2405
|
alert_manager_definition: typing.Optional[builtins.str] = None,
|
|
1744
2406
|
alias: typing.Optional[builtins.str] = None,
|
|
1745
|
-
kms_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey] = None,
|
|
1746
|
-
logging_configuration: typing.Optional[typing.Union[LoggingConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
1747
|
-
query_logging_configuration: typing.Optional[typing.Union[QueryLoggingConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2407
|
+
kms_key: typing.Optional["_aws_cdk_aws_kms_ceddda9d.IKey"] = None,
|
|
2408
|
+
logging_configuration: typing.Optional[typing.Union["LoggingConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2409
|
+
query_logging_configuration: typing.Optional[typing.Union["QueryLoggingConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
1748
2410
|
workspace_configuration: typing.Optional[typing.Union["WorkspaceConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
1749
2411
|
) -> None:
|
|
1750
2412
|
'''Properties for importing an Amazon Managed Service for Prometheus Workspace from attributes.
|
|
@@ -1812,25 +2474,27 @@ class WorkspaceAttributes:
|
|
|
1812
2474
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
1813
2475
|
|
|
1814
2476
|
@builtins.property
|
|
1815
|
-
def kms_key(self) -> typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey]:
|
|
2477
|
+
def kms_key(self) -> typing.Optional["_aws_cdk_aws_kms_ceddda9d.IKey"]:
|
|
1816
2478
|
'''The customer managed AWS KMS key to use for encrypting data within your workspace.'''
|
|
1817
2479
|
result = self._values.get("kms_key")
|
|
1818
|
-
return typing.cast(typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey], result)
|
|
2480
|
+
return typing.cast(typing.Optional["_aws_cdk_aws_kms_ceddda9d.IKey"], result)
|
|
1819
2481
|
|
|
1820
2482
|
@builtins.property
|
|
1821
|
-
def logging_configuration(self) -> typing.Optional[LoggingConfiguration]:
|
|
2483
|
+
def logging_configuration(self) -> typing.Optional["LoggingConfiguration"]:
|
|
1822
2484
|
'''Contains information about the current rules and alerting logging configuration for the workspace.
|
|
1823
2485
|
|
|
1824
2486
|
Note: These logging configurations are only for rules and alerting logs.
|
|
1825
2487
|
'''
|
|
1826
2488
|
result = self._values.get("logging_configuration")
|
|
1827
|
-
return typing.cast(typing.Optional[LoggingConfiguration], result)
|
|
2489
|
+
return typing.cast(typing.Optional["LoggingConfiguration"], result)
|
|
1828
2490
|
|
|
1829
2491
|
@builtins.property
|
|
1830
|
-
def query_logging_configuration(
|
|
2492
|
+
def query_logging_configuration(
|
|
2493
|
+
self,
|
|
2494
|
+
) -> typing.Optional["QueryLoggingConfiguration"]:
|
|
1831
2495
|
'''The definition of logging configuration in an Amazon Managed Service for Prometheus workspace.'''
|
|
1832
2496
|
result = self._values.get("query_logging_configuration")
|
|
1833
|
-
return typing.cast(typing.Optional[QueryLoggingConfiguration], result)
|
|
2497
|
+
return typing.cast(typing.Optional["QueryLoggingConfiguration"], result)
|
|
1834
2498
|
|
|
1835
2499
|
@builtins.property
|
|
1836
2500
|
def workspace_configuration(self) -> typing.Optional["WorkspaceConfiguration"]:
|
|
@@ -1858,7 +2522,7 @@ class WorkspaceBase(
|
|
|
1858
2522
|
):
|
|
1859
2523
|
def __init__(
|
|
1860
2524
|
self,
|
|
1861
|
-
scope: _constructs_77d1e7e8.Construct,
|
|
2525
|
+
scope: "_constructs_77d1e7e8.Construct",
|
|
1862
2526
|
id: builtins.str,
|
|
1863
2527
|
*,
|
|
1864
2528
|
account: typing.Optional[builtins.str] = None,
|
|
@@ -1932,14 +2596,14 @@ class WorkspaceBase(
|
|
|
1932
2596
|
@builtins.property
|
|
1933
2597
|
@jsii.member(jsii_name="kmsKey")
|
|
1934
2598
|
@abc.abstractmethod
|
|
1935
|
-
def kms_key(self) -> typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey]:
|
|
2599
|
+
def kms_key(self) -> typing.Optional["_aws_cdk_aws_kms_ceddda9d.IKey"]:
|
|
1936
2600
|
'''The customer managed AWS KMS key to use for encrypting data within your workspace.'''
|
|
1937
2601
|
...
|
|
1938
2602
|
|
|
1939
2603
|
@builtins.property
|
|
1940
2604
|
@jsii.member(jsii_name="loggingConfiguration")
|
|
1941
2605
|
@abc.abstractmethod
|
|
1942
|
-
def logging_configuration(self) -> typing.Optional[LoggingConfiguration]:
|
|
2606
|
+
def logging_configuration(self) -> typing.Optional["LoggingConfiguration"]:
|
|
1943
2607
|
'''Contains information about the current rules and alerting logging configuration for the workspace.
|
|
1944
2608
|
|
|
1945
2609
|
Note: These logging configurations are only for rules and alerting logs.
|
|
@@ -1949,7 +2613,9 @@ class WorkspaceBase(
|
|
|
1949
2613
|
@builtins.property
|
|
1950
2614
|
@jsii.member(jsii_name="queryLoggingConfiguration")
|
|
1951
2615
|
@abc.abstractmethod
|
|
1952
|
-
def query_logging_configuration(
|
|
2616
|
+
def query_logging_configuration(
|
|
2617
|
+
self,
|
|
2618
|
+
) -> typing.Optional["QueryLoggingConfiguration"]:
|
|
1953
2619
|
'''The definition of logging configuration in an Amazon Managed Service for Prometheus workspace.'''
|
|
1954
2620
|
...
|
|
1955
2621
|
|
|
@@ -1995,24 +2661,26 @@ class _WorkspaceBaseProxy(
|
|
|
1995
2661
|
|
|
1996
2662
|
@builtins.property
|
|
1997
2663
|
@jsii.member(jsii_name="kmsKey")
|
|
1998
|
-
def kms_key(self) -> typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey]:
|
|
2664
|
+
def kms_key(self) -> typing.Optional["_aws_cdk_aws_kms_ceddda9d.IKey"]:
|
|
1999
2665
|
'''The customer managed AWS KMS key to use for encrypting data within your workspace.'''
|
|
2000
|
-
return typing.cast(typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey], jsii.get(self, "kmsKey"))
|
|
2666
|
+
return typing.cast(typing.Optional["_aws_cdk_aws_kms_ceddda9d.IKey"], jsii.get(self, "kmsKey"))
|
|
2001
2667
|
|
|
2002
2668
|
@builtins.property
|
|
2003
2669
|
@jsii.member(jsii_name="loggingConfiguration")
|
|
2004
|
-
def logging_configuration(self) -> typing.Optional[LoggingConfiguration]:
|
|
2670
|
+
def logging_configuration(self) -> typing.Optional["LoggingConfiguration"]:
|
|
2005
2671
|
'''Contains information about the current rules and alerting logging configuration for the workspace.
|
|
2006
2672
|
|
|
2007
2673
|
Note: These logging configurations are only for rules and alerting logs.
|
|
2008
2674
|
'''
|
|
2009
|
-
return typing.cast(typing.Optional[LoggingConfiguration], jsii.get(self, "loggingConfiguration"))
|
|
2675
|
+
return typing.cast(typing.Optional["LoggingConfiguration"], jsii.get(self, "loggingConfiguration"))
|
|
2010
2676
|
|
|
2011
2677
|
@builtins.property
|
|
2012
2678
|
@jsii.member(jsii_name="queryLoggingConfiguration")
|
|
2013
|
-
def query_logging_configuration(
|
|
2679
|
+
def query_logging_configuration(
|
|
2680
|
+
self,
|
|
2681
|
+
) -> typing.Optional["QueryLoggingConfiguration"]:
|
|
2014
2682
|
'''The definition of logging configuration in an Amazon Managed Service for Prometheus workspace.'''
|
|
2015
|
-
return typing.cast(typing.Optional[QueryLoggingConfiguration], jsii.get(self, "queryLoggingConfiguration"))
|
|
2683
|
+
return typing.cast(typing.Optional["QueryLoggingConfiguration"], jsii.get(self, "queryLoggingConfiguration"))
|
|
2016
2684
|
|
|
2017
2685
|
@builtins.property
|
|
2018
2686
|
@jsii.member(jsii_name="workspaceConfiguration")
|
|
@@ -2036,7 +2704,7 @@ class WorkspaceConfiguration:
|
|
|
2036
2704
|
def __init__(
|
|
2037
2705
|
self,
|
|
2038
2706
|
*,
|
|
2039
|
-
limits_per_label_sets: typing.Optional[typing.Sequence[typing.Union[LimitsPerLabelSet, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2707
|
+
limits_per_label_sets: typing.Optional[typing.Sequence[typing.Union["LimitsPerLabelSet", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2040
2708
|
retention_period_in_days: typing.Optional[jsii.Number] = None,
|
|
2041
2709
|
) -> None:
|
|
2042
2710
|
'''Use this structure to define label sets and the ingestion limits for time series that match label sets, and to specify the retention period of the workspace.
|
|
@@ -2055,7 +2723,9 @@ class WorkspaceConfiguration:
|
|
|
2055
2723
|
self._values["retention_period_in_days"] = retention_period_in_days
|
|
2056
2724
|
|
|
2057
2725
|
@builtins.property
|
|
2058
|
-
def limits_per_label_sets(
|
|
2726
|
+
def limits_per_label_sets(
|
|
2727
|
+
self,
|
|
2728
|
+
) -> typing.Optional[typing.List["LimitsPerLabelSet"]]:
|
|
2059
2729
|
'''This is an array of structures, where each structure defines a label set for the workspace, and defines the ingestion limit for active time series for each of those label sets.
|
|
2060
2730
|
|
|
2061
2731
|
Each
|
|
@@ -2064,7 +2734,7 @@ class WorkspaceConfiguration:
|
|
|
2064
2734
|
Minimum 0
|
|
2065
2735
|
'''
|
|
2066
2736
|
result = self._values.get("limits_per_label_sets")
|
|
2067
|
-
return typing.cast(typing.Optional[typing.List[LimitsPerLabelSet]], result)
|
|
2737
|
+
return typing.cast(typing.Optional[typing.List["LimitsPerLabelSet"]], result)
|
|
2068
2738
|
|
|
2069
2739
|
@builtins.property
|
|
2070
2740
|
def retention_period_in_days(self) -> typing.Optional[jsii.Number]:
|
|
@@ -2105,10 +2775,10 @@ class WorkspaceProps:
|
|
|
2105
2775
|
*,
|
|
2106
2776
|
alert_manager_definition: typing.Optional[builtins.str] = None,
|
|
2107
2777
|
alias: typing.Optional[builtins.str] = None,
|
|
2108
|
-
kms_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey] = None,
|
|
2109
|
-
logging_configuration: typing.Optional[typing.Union[LoggingConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2110
|
-
query_logging_configuration: typing.Optional[typing.Union[QueryLoggingConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2111
|
-
workspace_configuration: typing.Optional[typing.Union[WorkspaceConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2778
|
+
kms_key: typing.Optional["_aws_cdk_aws_kms_ceddda9d.IKey"] = None,
|
|
2779
|
+
logging_configuration: typing.Optional[typing.Union["LoggingConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2780
|
+
query_logging_configuration: typing.Optional[typing.Union["QueryLoggingConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2781
|
+
workspace_configuration: typing.Optional[typing.Union["WorkspaceConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2112
2782
|
) -> None:
|
|
2113
2783
|
'''Properties for creating an Amazon Managed Service for Prometheus Workspace.
|
|
2114
2784
|
|
|
@@ -2163,31 +2833,33 @@ class WorkspaceProps:
|
|
|
2163
2833
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
2164
2834
|
|
|
2165
2835
|
@builtins.property
|
|
2166
|
-
def kms_key(self) -> typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey]:
|
|
2836
|
+
def kms_key(self) -> typing.Optional["_aws_cdk_aws_kms_ceddda9d.IKey"]:
|
|
2167
2837
|
'''The customer managed AWS KMS key to use for encrypting data within your workspace.'''
|
|
2168
2838
|
result = self._values.get("kms_key")
|
|
2169
|
-
return typing.cast(typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey], result)
|
|
2839
|
+
return typing.cast(typing.Optional["_aws_cdk_aws_kms_ceddda9d.IKey"], result)
|
|
2170
2840
|
|
|
2171
2841
|
@builtins.property
|
|
2172
|
-
def logging_configuration(self) -> typing.Optional[LoggingConfiguration]:
|
|
2842
|
+
def logging_configuration(self) -> typing.Optional["LoggingConfiguration"]:
|
|
2173
2843
|
'''Contains information about the current rules and alerting logging configuration for the workspace.
|
|
2174
2844
|
|
|
2175
2845
|
Note: These logging configurations are only for rules and alerting logs.
|
|
2176
2846
|
'''
|
|
2177
2847
|
result = self._values.get("logging_configuration")
|
|
2178
|
-
return typing.cast(typing.Optional[LoggingConfiguration], result)
|
|
2848
|
+
return typing.cast(typing.Optional["LoggingConfiguration"], result)
|
|
2179
2849
|
|
|
2180
2850
|
@builtins.property
|
|
2181
|
-
def query_logging_configuration(
|
|
2851
|
+
def query_logging_configuration(
|
|
2852
|
+
self,
|
|
2853
|
+
) -> typing.Optional["QueryLoggingConfiguration"]:
|
|
2182
2854
|
'''The definition of logging configuration in an Amazon Managed Service for Prometheus workspace.'''
|
|
2183
2855
|
result = self._values.get("query_logging_configuration")
|
|
2184
|
-
return typing.cast(typing.Optional[QueryLoggingConfiguration], result)
|
|
2856
|
+
return typing.cast(typing.Optional["QueryLoggingConfiguration"], result)
|
|
2185
2857
|
|
|
2186
2858
|
@builtins.property
|
|
2187
|
-
def workspace_configuration(self) -> typing.Optional[WorkspaceConfiguration]:
|
|
2859
|
+
def workspace_configuration(self) -> typing.Optional["WorkspaceConfiguration"]:
|
|
2188
2860
|
'''Use this structure to define label sets and the ingestion limits for time series that match label sets, and to specify the retention period of the workspace.'''
|
|
2189
2861
|
result = self._values.get("workspace_configuration")
|
|
2190
|
-
return typing.cast(typing.Optional[WorkspaceConfiguration], result)
|
|
2862
|
+
return typing.cast(typing.Optional["WorkspaceConfiguration"], result)
|
|
2191
2863
|
|
|
2192
2864
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2193
2865
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -2201,6 +2873,228 @@ class WorkspaceProps:
|
|
|
2201
2873
|
)
|
|
2202
2874
|
|
|
2203
2875
|
|
|
2876
|
+
@jsii.implements(IAnomalyDetector)
|
|
2877
|
+
class AnomalyDetectorBase(
|
|
2878
|
+
_aws_cdk_ceddda9d.Resource,
|
|
2879
|
+
metaclass=jsii.JSIIAbstractClass,
|
|
2880
|
+
jsii_type="@robhan-cdk-lib/aws_aps.AnomalyDetectorBase",
|
|
2881
|
+
):
|
|
2882
|
+
def __init__(
|
|
2883
|
+
self,
|
|
2884
|
+
scope: "_constructs_77d1e7e8.Construct",
|
|
2885
|
+
id: builtins.str,
|
|
2886
|
+
*,
|
|
2887
|
+
account: typing.Optional[builtins.str] = None,
|
|
2888
|
+
environment_from_arn: typing.Optional[builtins.str] = None,
|
|
2889
|
+
physical_name: typing.Optional[builtins.str] = None,
|
|
2890
|
+
region: typing.Optional[builtins.str] = None,
|
|
2891
|
+
) -> None:
|
|
2892
|
+
'''
|
|
2893
|
+
:param scope: -
|
|
2894
|
+
:param id: -
|
|
2895
|
+
:param account: The AWS account ID this resource belongs to. Default: - the resource is in the same account as the stack it belongs to
|
|
2896
|
+
:param environment_from_arn: ARN to deduce region and account from. The ARN is parsed and the account and region are taken from the ARN. This should be used for imported resources. Cannot be supplied together with either ``account`` or ``region``. Default: - take environment from ``account``, ``region`` parameters, or use Stack environment.
|
|
2897
|
+
:param physical_name: The value passed in by users to the physical name prop of the resource. - ``undefined`` implies that a physical name will be allocated by CloudFormation during deployment. - a concrete value implies a specific physical name - ``PhysicalName.GENERATE_IF_NEEDED`` is a marker that indicates that a physical will only be generated by the CDK if it is needed for cross-environment references. Otherwise, it will be allocated by CloudFormation. Default: - The physical name will be allocated by CloudFormation at deployment time
|
|
2898
|
+
:param region: The AWS region this resource belongs to. Default: - the resource is in the same region as the stack it belongs to
|
|
2899
|
+
'''
|
|
2900
|
+
if __debug__:
|
|
2901
|
+
type_hints = typing.get_type_hints(_typecheckingstub__763ce8aef513d695a9ea5e157a4299be537296b8475d4cac315b4f595f7d0536)
|
|
2902
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
2903
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
2904
|
+
props = _aws_cdk_ceddda9d.ResourceProps(
|
|
2905
|
+
account=account,
|
|
2906
|
+
environment_from_arn=environment_from_arn,
|
|
2907
|
+
physical_name=physical_name,
|
|
2908
|
+
region=region,
|
|
2909
|
+
)
|
|
2910
|
+
|
|
2911
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
2912
|
+
|
|
2913
|
+
@builtins.property
|
|
2914
|
+
@jsii.member(jsii_name="alias")
|
|
2915
|
+
@abc.abstractmethod
|
|
2916
|
+
def alias(self) -> builtins.str:
|
|
2917
|
+
'''The user-friendly name of the anomaly detector. 1 to 64 characters length.
|
|
2918
|
+
|
|
2919
|
+
Minimum length of 1. Maximum length of 64.
|
|
2920
|
+
Pattern: [0-9A-Za-z][-.0-9A-Z_a-z]*
|
|
2921
|
+
'''
|
|
2922
|
+
...
|
|
2923
|
+
|
|
2924
|
+
@builtins.property
|
|
2925
|
+
@jsii.member(jsii_name="anomalyDetectorArn")
|
|
2926
|
+
@abc.abstractmethod
|
|
2927
|
+
def anomaly_detector_arn(self) -> builtins.str:
|
|
2928
|
+
'''The Amazon Resource Name (ARN) of the anomaly detector.
|
|
2929
|
+
|
|
2930
|
+
:attribute: true
|
|
2931
|
+
'''
|
|
2932
|
+
...
|
|
2933
|
+
|
|
2934
|
+
@builtins.property
|
|
2935
|
+
@jsii.member(jsii_name="configuration")
|
|
2936
|
+
@abc.abstractmethod
|
|
2937
|
+
def configuration(self) -> "AnomalyDetectorConfiguration":
|
|
2938
|
+
'''The algorithm configuration of the anomaly detector.'''
|
|
2939
|
+
...
|
|
2940
|
+
|
|
2941
|
+
@builtins.property
|
|
2942
|
+
@jsii.member(jsii_name="workspace")
|
|
2943
|
+
@abc.abstractmethod
|
|
2944
|
+
def workspace(self) -> "IWorkspace":
|
|
2945
|
+
'''An Amazon Managed Service for Prometheus workspace is a logical and isolated Prometheus server dedicated to ingesting, storing, and querying your Prometheus-compatible metrics.'''
|
|
2946
|
+
...
|
|
2947
|
+
|
|
2948
|
+
@builtins.property
|
|
2949
|
+
@jsii.member(jsii_name="evaluationIntervalInSeconds")
|
|
2950
|
+
@abc.abstractmethod
|
|
2951
|
+
def evaluation_interval_in_seconds(self) -> typing.Optional[jsii.Number]:
|
|
2952
|
+
'''The frequency, in seconds, at which the anomaly detector evaluates metrics.
|
|
2953
|
+
|
|
2954
|
+
Minimum value of 30. Maximum value of 86400.
|
|
2955
|
+
'''
|
|
2956
|
+
...
|
|
2957
|
+
|
|
2958
|
+
@builtins.property
|
|
2959
|
+
@jsii.member(jsii_name="labels")
|
|
2960
|
+
@abc.abstractmethod
|
|
2961
|
+
def labels(self) -> typing.Optional[typing.List["Label"]]:
|
|
2962
|
+
'''The Amazon Managed Service for Prometheus metric labels associated with the anomaly detector.
|
|
2963
|
+
|
|
2964
|
+
Map Entries: Minimum number of 0 items. Maximum number of 140 items.
|
|
2965
|
+
Key Length Constraints: Minimum length of 1. Maximum length of 7168.
|
|
2966
|
+
Key Pattern: (?!__)[a-zA-Z_][a-zA-Z0-9_]*
|
|
2967
|
+
Value Length Constraints: Minimum length of 1. Maximum length of 7168.
|
|
2968
|
+
'''
|
|
2969
|
+
...
|
|
2970
|
+
|
|
2971
|
+
@builtins.property
|
|
2972
|
+
@jsii.member(jsii_name="missingDataAction")
|
|
2973
|
+
@abc.abstractmethod
|
|
2974
|
+
def missing_data_action(self) -> typing.Optional["MissingDataAction"]:
|
|
2975
|
+
'''The action taken when data is missing during evaluation.'''
|
|
2976
|
+
...
|
|
2977
|
+
|
|
2978
|
+
|
|
2979
|
+
class _AnomalyDetectorBaseProxy(
|
|
2980
|
+
AnomalyDetectorBase,
|
|
2981
|
+
jsii.proxy_for(_aws_cdk_ceddda9d.Resource), # type: ignore[misc]
|
|
2982
|
+
):
|
|
2983
|
+
@builtins.property
|
|
2984
|
+
@jsii.member(jsii_name="alias")
|
|
2985
|
+
def alias(self) -> builtins.str:
|
|
2986
|
+
'''The user-friendly name of the anomaly detector. 1 to 64 characters length.
|
|
2987
|
+
|
|
2988
|
+
Minimum length of 1. Maximum length of 64.
|
|
2989
|
+
Pattern: [0-9A-Za-z][-.0-9A-Z_a-z]*
|
|
2990
|
+
'''
|
|
2991
|
+
return typing.cast(builtins.str, jsii.get(self, "alias"))
|
|
2992
|
+
|
|
2993
|
+
@builtins.property
|
|
2994
|
+
@jsii.member(jsii_name="anomalyDetectorArn")
|
|
2995
|
+
def anomaly_detector_arn(self) -> builtins.str:
|
|
2996
|
+
'''The Amazon Resource Name (ARN) of the anomaly detector.
|
|
2997
|
+
|
|
2998
|
+
:attribute: true
|
|
2999
|
+
'''
|
|
3000
|
+
return typing.cast(builtins.str, jsii.get(self, "anomalyDetectorArn"))
|
|
3001
|
+
|
|
3002
|
+
@builtins.property
|
|
3003
|
+
@jsii.member(jsii_name="configuration")
|
|
3004
|
+
def configuration(self) -> "AnomalyDetectorConfiguration":
|
|
3005
|
+
'''The algorithm configuration of the anomaly detector.'''
|
|
3006
|
+
return typing.cast("AnomalyDetectorConfiguration", jsii.get(self, "configuration"))
|
|
3007
|
+
|
|
3008
|
+
@builtins.property
|
|
3009
|
+
@jsii.member(jsii_name="workspace")
|
|
3010
|
+
def workspace(self) -> "IWorkspace":
|
|
3011
|
+
'''An Amazon Managed Service for Prometheus workspace is a logical and isolated Prometheus server dedicated to ingesting, storing, and querying your Prometheus-compatible metrics.'''
|
|
3012
|
+
return typing.cast("IWorkspace", jsii.get(self, "workspace"))
|
|
3013
|
+
|
|
3014
|
+
@builtins.property
|
|
3015
|
+
@jsii.member(jsii_name="evaluationIntervalInSeconds")
|
|
3016
|
+
def evaluation_interval_in_seconds(self) -> typing.Optional[jsii.Number]:
|
|
3017
|
+
'''The frequency, in seconds, at which the anomaly detector evaluates metrics.
|
|
3018
|
+
|
|
3019
|
+
Minimum value of 30. Maximum value of 86400.
|
|
3020
|
+
'''
|
|
3021
|
+
return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "evaluationIntervalInSeconds"))
|
|
3022
|
+
|
|
3023
|
+
@builtins.property
|
|
3024
|
+
@jsii.member(jsii_name="labels")
|
|
3025
|
+
def labels(self) -> typing.Optional[typing.List["Label"]]:
|
|
3026
|
+
'''The Amazon Managed Service for Prometheus metric labels associated with the anomaly detector.
|
|
3027
|
+
|
|
3028
|
+
Map Entries: Minimum number of 0 items. Maximum number of 140 items.
|
|
3029
|
+
Key Length Constraints: Minimum length of 1. Maximum length of 7168.
|
|
3030
|
+
Key Pattern: (?!__)[a-zA-Z_][a-zA-Z0-9_]*
|
|
3031
|
+
Value Length Constraints: Minimum length of 1. Maximum length of 7168.
|
|
3032
|
+
'''
|
|
3033
|
+
return typing.cast(typing.Optional[typing.List["Label"]], jsii.get(self, "labels"))
|
|
3034
|
+
|
|
3035
|
+
@builtins.property
|
|
3036
|
+
@jsii.member(jsii_name="missingDataAction")
|
|
3037
|
+
def missing_data_action(self) -> typing.Optional["MissingDataAction"]:
|
|
3038
|
+
'''The action taken when data is missing during evaluation.'''
|
|
3039
|
+
return typing.cast(typing.Optional["MissingDataAction"], jsii.get(self, "missingDataAction"))
|
|
3040
|
+
|
|
3041
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the abstract class
|
|
3042
|
+
typing.cast(typing.Any, AnomalyDetectorBase).__jsii_proxy_class__ = lambda : _AnomalyDetectorBaseProxy
|
|
3043
|
+
|
|
3044
|
+
|
|
3045
|
+
class ResourcePolicy(
|
|
3046
|
+
ResourcePolicyBase,
|
|
3047
|
+
metaclass=jsii.JSIIMeta,
|
|
3048
|
+
jsii_type="@robhan-cdk-lib/aws_aps.ResourcePolicy",
|
|
3049
|
+
):
|
|
3050
|
+
def __init__(
|
|
3051
|
+
self,
|
|
3052
|
+
scope: "_constructs_77d1e7e8.Construct",
|
|
3053
|
+
id: builtins.str,
|
|
3054
|
+
*,
|
|
3055
|
+
policy_document: builtins.str,
|
|
3056
|
+
workspace: "IWorkspace",
|
|
3057
|
+
) -> None:
|
|
3058
|
+
'''
|
|
3059
|
+
:param scope: -
|
|
3060
|
+
:param id: -
|
|
3061
|
+
:param policy_document: The JSON to use as the Resource-based Policy.
|
|
3062
|
+
:param workspace: The workspace to attach the policy to.
|
|
3063
|
+
'''
|
|
3064
|
+
if __debug__:
|
|
3065
|
+
type_hints = typing.get_type_hints(_typecheckingstub__152018d2f86ee27c3ac817bf409dc2fae4034315290b87fd5d6c906625b633d3)
|
|
3066
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
3067
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
3068
|
+
props = ResourcePolicyProps(
|
|
3069
|
+
policy_document=policy_document, workspace=workspace
|
|
3070
|
+
)
|
|
3071
|
+
|
|
3072
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
3073
|
+
|
|
3074
|
+
@jsii.member(jsii_name="isResourcePolicy")
|
|
3075
|
+
@builtins.classmethod
|
|
3076
|
+
def is_resource_policy(cls, x: typing.Any) -> builtins.bool:
|
|
3077
|
+
'''
|
|
3078
|
+
:param x: -
|
|
3079
|
+
'''
|
|
3080
|
+
if __debug__:
|
|
3081
|
+
type_hints = typing.get_type_hints(_typecheckingstub__b7b7c7ca19cd491541f3243572cf47da8425bab13c98330c2653c2302cfa6b53)
|
|
3082
|
+
check_type(argname="argument x", value=x, expected_type=type_hints["x"])
|
|
3083
|
+
return typing.cast(builtins.bool, jsii.sinvoke(cls, "isResourcePolicy", [x]))
|
|
3084
|
+
|
|
3085
|
+
@builtins.property
|
|
3086
|
+
@jsii.member(jsii_name="policyDocument")
|
|
3087
|
+
def policy_document(self) -> builtins.str:
|
|
3088
|
+
'''The JSON to use as the Resource-based Policy.'''
|
|
3089
|
+
return typing.cast(builtins.str, jsii.get(self, "policyDocument"))
|
|
3090
|
+
|
|
3091
|
+
@builtins.property
|
|
3092
|
+
@jsii.member(jsii_name="workspace")
|
|
3093
|
+
def workspace(self) -> "IWorkspace":
|
|
3094
|
+
'''The workspace to attach the policy to.'''
|
|
3095
|
+
return typing.cast("IWorkspace", jsii.get(self, "workspace"))
|
|
3096
|
+
|
|
3097
|
+
|
|
2204
3098
|
class RuleGroupsNamespace(
|
|
2205
3099
|
RuleGroupsNamespaceBase,
|
|
2206
3100
|
metaclass=jsii.JSIIMeta,
|
|
@@ -2214,12 +3108,12 @@ class RuleGroupsNamespace(
|
|
|
2214
3108
|
|
|
2215
3109
|
def __init__(
|
|
2216
3110
|
self,
|
|
2217
|
-
scope: _constructs_77d1e7e8.Construct,
|
|
3111
|
+
scope: "_constructs_77d1e7e8.Construct",
|
|
2218
3112
|
id: builtins.str,
|
|
2219
3113
|
*,
|
|
2220
3114
|
data: builtins.str,
|
|
2221
3115
|
name: builtins.str,
|
|
2222
|
-
workspace: IWorkspace,
|
|
3116
|
+
workspace: "IWorkspace",
|
|
2223
3117
|
) -> None:
|
|
2224
3118
|
'''
|
|
2225
3119
|
:param scope: -
|
|
@@ -2240,14 +3134,14 @@ class RuleGroupsNamespace(
|
|
|
2240
3134
|
@builtins.classmethod
|
|
2241
3135
|
def from_rule_groups_namespace_attributes(
|
|
2242
3136
|
cls,
|
|
2243
|
-
scope: _constructs_77d1e7e8.Construct,
|
|
3137
|
+
scope: "_constructs_77d1e7e8.Construct",
|
|
2244
3138
|
id: builtins.str,
|
|
2245
3139
|
*,
|
|
2246
3140
|
data: builtins.str,
|
|
2247
3141
|
name: builtins.str,
|
|
2248
3142
|
rule_groups_namespace_arn: builtins.str,
|
|
2249
|
-
workspace: IWorkspace,
|
|
2250
|
-
) -> IRuleGroupsNamespace:
|
|
3143
|
+
workspace: "IWorkspace",
|
|
3144
|
+
) -> "IRuleGroupsNamespace":
|
|
2251
3145
|
'''
|
|
2252
3146
|
:param scope: -
|
|
2253
3147
|
:param id: -
|
|
@@ -2267,7 +3161,7 @@ class RuleGroupsNamespace(
|
|
|
2267
3161
|
workspace=workspace,
|
|
2268
3162
|
)
|
|
2269
3163
|
|
|
2270
|
-
return typing.cast(IRuleGroupsNamespace, jsii.sinvoke(cls, "fromRuleGroupsNamespaceAttributes", [scope, id, attrs]))
|
|
3164
|
+
return typing.cast("IRuleGroupsNamespace", jsii.sinvoke(cls, "fromRuleGroupsNamespaceAttributes", [scope, id, attrs]))
|
|
2271
3165
|
|
|
2272
3166
|
@jsii.member(jsii_name="isRuleGroupsNamespace")
|
|
2273
3167
|
@builtins.classmethod
|
|
@@ -2300,9 +3194,9 @@ class RuleGroupsNamespace(
|
|
|
2300
3194
|
|
|
2301
3195
|
@builtins.property
|
|
2302
3196
|
@jsii.member(jsii_name="workspace")
|
|
2303
|
-
def workspace(self) -> IWorkspace:
|
|
3197
|
+
def workspace(self) -> "IWorkspace":
|
|
2304
3198
|
'''The workspace to add the rule groups namespace.'''
|
|
2305
|
-
return typing.cast(IWorkspace, jsii.get(self, "workspace"))
|
|
3199
|
+
return typing.cast("IWorkspace", jsii.get(self, "workspace"))
|
|
2306
3200
|
|
|
2307
3201
|
|
|
2308
3202
|
class Scraper(
|
|
@@ -2312,14 +3206,14 @@ class Scraper(
|
|
|
2312
3206
|
):
|
|
2313
3207
|
def __init__(
|
|
2314
3208
|
self,
|
|
2315
|
-
scope: _constructs_77d1e7e8.Construct,
|
|
3209
|
+
scope: "_constructs_77d1e7e8.Construct",
|
|
2316
3210
|
id: builtins.str,
|
|
2317
3211
|
*,
|
|
2318
|
-
destination: typing.Union[Destination, typing.Dict[builtins.str, typing.Any]],
|
|
2319
|
-
scrape_configuration: typing.Union[ScrapeConfiguration, typing.Dict[builtins.str, typing.Any]],
|
|
2320
|
-
source: typing.Union[Source, typing.Dict[builtins.str, typing.Any]],
|
|
3212
|
+
destination: typing.Union["Destination", typing.Dict[builtins.str, typing.Any]],
|
|
3213
|
+
scrape_configuration: typing.Union["ScrapeConfiguration", typing.Dict[builtins.str, typing.Any]],
|
|
3214
|
+
source: typing.Union["Source", typing.Dict[builtins.str, typing.Any]],
|
|
2321
3215
|
alias: typing.Optional[builtins.str] = None,
|
|
2322
|
-
role_configuration: typing.Optional[typing.Union[RoleConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3216
|
+
role_configuration: typing.Optional[typing.Union["RoleConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2323
3217
|
) -> None:
|
|
2324
3218
|
'''
|
|
2325
3219
|
:param scope: -
|
|
@@ -2348,16 +3242,16 @@ class Scraper(
|
|
|
2348
3242
|
@builtins.classmethod
|
|
2349
3243
|
def from_scraper_attributes(
|
|
2350
3244
|
cls,
|
|
2351
|
-
scope: _constructs_77d1e7e8.Construct,
|
|
3245
|
+
scope: "_constructs_77d1e7e8.Construct",
|
|
2352
3246
|
id: builtins.str,
|
|
2353
3247
|
*,
|
|
2354
|
-
destination: typing.Union[Destination, typing.Dict[builtins.str, typing.Any]],
|
|
2355
|
-
scrape_configuration: typing.Union[ScrapeConfiguration, typing.Dict[builtins.str, typing.Any]],
|
|
3248
|
+
destination: typing.Union["Destination", typing.Dict[builtins.str, typing.Any]],
|
|
3249
|
+
scrape_configuration: typing.Union["ScrapeConfiguration", typing.Dict[builtins.str, typing.Any]],
|
|
2356
3250
|
scraper_arn: builtins.str,
|
|
2357
|
-
source: typing.Union[Source, typing.Dict[builtins.str, typing.Any]],
|
|
3251
|
+
source: typing.Union["Source", typing.Dict[builtins.str, typing.Any]],
|
|
2358
3252
|
alias: typing.Optional[builtins.str] = None,
|
|
2359
|
-
role_configuration: typing.Optional[typing.Union[RoleConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2360
|
-
) -> IScraper:
|
|
3253
|
+
role_configuration: typing.Optional[typing.Union["RoleConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3254
|
+
) -> "IScraper":
|
|
2361
3255
|
'''
|
|
2362
3256
|
:param scope: -
|
|
2363
3257
|
:param id: -
|
|
@@ -2381,7 +3275,7 @@ class Scraper(
|
|
|
2381
3275
|
role_configuration=role_configuration,
|
|
2382
3276
|
)
|
|
2383
3277
|
|
|
2384
|
-
return typing.cast(IScraper, jsii.sinvoke(cls, "fromScraperAttributes", [scope, id, attrs]))
|
|
3278
|
+
return typing.cast("IScraper", jsii.sinvoke(cls, "fromScraperAttributes", [scope, id, attrs]))
|
|
2385
3279
|
|
|
2386
3280
|
@jsii.member(jsii_name="isScraper")
|
|
2387
3281
|
@builtins.classmethod
|
|
@@ -2396,15 +3290,15 @@ class Scraper(
|
|
|
2396
3290
|
|
|
2397
3291
|
@builtins.property
|
|
2398
3292
|
@jsii.member(jsii_name="destination")
|
|
2399
|
-
def destination(self) -> Destination:
|
|
3293
|
+
def destination(self) -> "Destination":
|
|
2400
3294
|
'''The Amazon Managed Service for Prometheus workspace the scraper sends metrics to.'''
|
|
2401
|
-
return typing.cast(Destination, jsii.get(self, "destination"))
|
|
3295
|
+
return typing.cast("Destination", jsii.get(self, "destination"))
|
|
2402
3296
|
|
|
2403
3297
|
@builtins.property
|
|
2404
3298
|
@jsii.member(jsii_name="scrapeConfiguration")
|
|
2405
|
-
def scrape_configuration(self) -> ScrapeConfiguration:
|
|
3299
|
+
def scrape_configuration(self) -> "ScrapeConfiguration":
|
|
2406
3300
|
'''The configuration in use by the scraper.'''
|
|
2407
|
-
return typing.cast(ScrapeConfiguration, jsii.get(self, "scrapeConfiguration"))
|
|
3301
|
+
return typing.cast("ScrapeConfiguration", jsii.get(self, "scrapeConfiguration"))
|
|
2408
3302
|
|
|
2409
3303
|
@builtins.property
|
|
2410
3304
|
@jsii.member(jsii_name="scraperArn")
|
|
@@ -2420,9 +3314,9 @@ class Scraper(
|
|
|
2420
3314
|
|
|
2421
3315
|
@builtins.property
|
|
2422
3316
|
@jsii.member(jsii_name="source")
|
|
2423
|
-
def source(self) -> Source:
|
|
3317
|
+
def source(self) -> "Source":
|
|
2424
3318
|
'''The Amazon EKS cluster from which the scraper collects metrics.'''
|
|
2425
|
-
return typing.cast(Source, jsii.get(self, "source"))
|
|
3319
|
+
return typing.cast("Source", jsii.get(self, "source"))
|
|
2426
3320
|
|
|
2427
3321
|
@builtins.property
|
|
2428
3322
|
@jsii.member(jsii_name="alias")
|
|
@@ -2432,9 +3326,9 @@ class Scraper(
|
|
|
2432
3326
|
|
|
2433
3327
|
@builtins.property
|
|
2434
3328
|
@jsii.member(jsii_name="roleConfiguration")
|
|
2435
|
-
def role_configuration(self) -> typing.Optional[RoleConfiguration]:
|
|
3329
|
+
def role_configuration(self) -> typing.Optional["RoleConfiguration"]:
|
|
2436
3330
|
'''The role configuration in an Amazon Managed Service for Prometheus scraper.'''
|
|
2437
|
-
return typing.cast(typing.Optional[RoleConfiguration], jsii.get(self, "roleConfiguration"))
|
|
3331
|
+
return typing.cast(typing.Optional["RoleConfiguration"], jsii.get(self, "roleConfiguration"))
|
|
2438
3332
|
|
|
2439
3333
|
|
|
2440
3334
|
class Workspace(
|
|
@@ -2444,15 +3338,15 @@ class Workspace(
|
|
|
2444
3338
|
):
|
|
2445
3339
|
def __init__(
|
|
2446
3340
|
self,
|
|
2447
|
-
scope: _constructs_77d1e7e8.Construct,
|
|
3341
|
+
scope: "_constructs_77d1e7e8.Construct",
|
|
2448
3342
|
id: builtins.str,
|
|
2449
3343
|
*,
|
|
2450
3344
|
alert_manager_definition: typing.Optional[builtins.str] = None,
|
|
2451
3345
|
alias: typing.Optional[builtins.str] = None,
|
|
2452
|
-
kms_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey] = None,
|
|
2453
|
-
logging_configuration: typing.Optional[typing.Union[LoggingConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2454
|
-
query_logging_configuration: typing.Optional[typing.Union[QueryLoggingConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2455
|
-
workspace_configuration: typing.Optional[typing.Union[WorkspaceConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3346
|
+
kms_key: typing.Optional["_aws_cdk_aws_kms_ceddda9d.IKey"] = None,
|
|
3347
|
+
logging_configuration: typing.Optional[typing.Union["LoggingConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3348
|
+
query_logging_configuration: typing.Optional[typing.Union["QueryLoggingConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3349
|
+
workspace_configuration: typing.Optional[typing.Union["WorkspaceConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2456
3350
|
) -> None:
|
|
2457
3351
|
'''
|
|
2458
3352
|
:param scope: -
|
|
@@ -2483,17 +3377,17 @@ class Workspace(
|
|
|
2483
3377
|
@builtins.classmethod
|
|
2484
3378
|
def from_workspace_attributes(
|
|
2485
3379
|
cls,
|
|
2486
|
-
scope: _constructs_77d1e7e8.Construct,
|
|
3380
|
+
scope: "_constructs_77d1e7e8.Construct",
|
|
2487
3381
|
id: builtins.str,
|
|
2488
3382
|
*,
|
|
2489
3383
|
workspace_arn: builtins.str,
|
|
2490
3384
|
alert_manager_definition: typing.Optional[builtins.str] = None,
|
|
2491
3385
|
alias: typing.Optional[builtins.str] = None,
|
|
2492
|
-
kms_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey] = None,
|
|
2493
|
-
logging_configuration: typing.Optional[typing.Union[LoggingConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2494
|
-
query_logging_configuration: typing.Optional[typing.Union[QueryLoggingConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2495
|
-
workspace_configuration: typing.Optional[typing.Union[WorkspaceConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2496
|
-
) -> IWorkspace:
|
|
3386
|
+
kms_key: typing.Optional["_aws_cdk_aws_kms_ceddda9d.IKey"] = None,
|
|
3387
|
+
logging_configuration: typing.Optional[typing.Union["LoggingConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3388
|
+
query_logging_configuration: typing.Optional[typing.Union["QueryLoggingConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3389
|
+
workspace_configuration: typing.Optional[typing.Union["WorkspaceConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3390
|
+
) -> "IWorkspace":
|
|
2497
3391
|
'''
|
|
2498
3392
|
:param scope: -
|
|
2499
3393
|
:param id: -
|
|
@@ -2519,7 +3413,7 @@ class Workspace(
|
|
|
2519
3413
|
workspace_configuration=workspace_configuration,
|
|
2520
3414
|
)
|
|
2521
3415
|
|
|
2522
|
-
return typing.cast(IWorkspace, jsii.sinvoke(cls, "fromWorkspaceAttributes", [scope, id, attrs]))
|
|
3416
|
+
return typing.cast("IWorkspace", jsii.sinvoke(cls, "fromWorkspaceAttributes", [scope, id, attrs]))
|
|
2523
3417
|
|
|
2524
3418
|
@jsii.member(jsii_name="isWorkspace")
|
|
2525
3419
|
@builtins.classmethod
|
|
@@ -2568,47 +3462,170 @@ class Workspace(
|
|
|
2568
3462
|
|
|
2569
3463
|
@builtins.property
|
|
2570
3464
|
@jsii.member(jsii_name="kmsKey")
|
|
2571
|
-
def kms_key(self) -> typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey]:
|
|
3465
|
+
def kms_key(self) -> typing.Optional["_aws_cdk_aws_kms_ceddda9d.IKey"]:
|
|
2572
3466
|
'''The customer managed AWS KMS key to use for encrypting data within your workspace.'''
|
|
2573
|
-
return typing.cast(typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey], jsii.get(self, "kmsKey"))
|
|
3467
|
+
return typing.cast(typing.Optional["_aws_cdk_aws_kms_ceddda9d.IKey"], jsii.get(self, "kmsKey"))
|
|
2574
3468
|
|
|
2575
3469
|
@builtins.property
|
|
2576
3470
|
@jsii.member(jsii_name="loggingConfiguration")
|
|
2577
|
-
def logging_configuration(self) -> typing.Optional[LoggingConfiguration]:
|
|
3471
|
+
def logging_configuration(self) -> typing.Optional["LoggingConfiguration"]:
|
|
2578
3472
|
'''Contains information about the current rules and alerting logging configuration for the workspace.
|
|
2579
3473
|
|
|
2580
3474
|
Note: These logging configurations are only for rules and alerting logs.
|
|
2581
3475
|
'''
|
|
2582
|
-
return typing.cast(typing.Optional[LoggingConfiguration], jsii.get(self, "loggingConfiguration"))
|
|
3476
|
+
return typing.cast(typing.Optional["LoggingConfiguration"], jsii.get(self, "loggingConfiguration"))
|
|
2583
3477
|
|
|
2584
3478
|
@builtins.property
|
|
2585
3479
|
@jsii.member(jsii_name="queryLoggingConfiguration")
|
|
2586
|
-
def query_logging_configuration(
|
|
3480
|
+
def query_logging_configuration(
|
|
3481
|
+
self,
|
|
3482
|
+
) -> typing.Optional["QueryLoggingConfiguration"]:
|
|
2587
3483
|
'''The definition of logging configuration in an Amazon Managed Service for Prometheus workspace.'''
|
|
2588
|
-
return typing.cast(typing.Optional[QueryLoggingConfiguration], jsii.get(self, "queryLoggingConfiguration"))
|
|
3484
|
+
return typing.cast(typing.Optional["QueryLoggingConfiguration"], jsii.get(self, "queryLoggingConfiguration"))
|
|
2589
3485
|
|
|
2590
3486
|
@builtins.property
|
|
2591
3487
|
@jsii.member(jsii_name="workspaceConfiguration")
|
|
2592
|
-
def workspace_configuration(self) -> typing.Optional[WorkspaceConfiguration]:
|
|
3488
|
+
def workspace_configuration(self) -> typing.Optional["WorkspaceConfiguration"]:
|
|
2593
3489
|
'''Use this structure to define label sets and the ingestion limits for time series that match label sets, and to specify the retention period of the workspace.'''
|
|
2594
|
-
return typing.cast(typing.Optional[WorkspaceConfiguration], jsii.get(self, "workspaceConfiguration"))
|
|
3490
|
+
return typing.cast(typing.Optional["WorkspaceConfiguration"], jsii.get(self, "workspaceConfiguration"))
|
|
3491
|
+
|
|
3492
|
+
|
|
3493
|
+
class AnomalyDetector(
|
|
3494
|
+
AnomalyDetectorBase,
|
|
3495
|
+
metaclass=jsii.JSIIMeta,
|
|
3496
|
+
jsii_type="@robhan-cdk-lib/aws_aps.AnomalyDetector",
|
|
3497
|
+
):
|
|
3498
|
+
def __init__(
|
|
3499
|
+
self,
|
|
3500
|
+
scope: "_constructs_77d1e7e8.Construct",
|
|
3501
|
+
id: builtins.str,
|
|
3502
|
+
*,
|
|
3503
|
+
alias: builtins.str,
|
|
3504
|
+
configuration: typing.Union["AnomalyDetectorConfiguration", typing.Dict[builtins.str, typing.Any]],
|
|
3505
|
+
workspace: "IWorkspace",
|
|
3506
|
+
evaluation_interval_in_seconds: typing.Optional[jsii.Number] = None,
|
|
3507
|
+
labels: typing.Optional[typing.Sequence[typing.Union["Label", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3508
|
+
missing_data_action: typing.Optional[typing.Union["MissingDataAction", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3509
|
+
) -> None:
|
|
3510
|
+
'''
|
|
3511
|
+
:param scope: -
|
|
3512
|
+
:param id: -
|
|
3513
|
+
:param alias: The user-friendly name of the anomaly detector. 1 to 128 characters length.
|
|
3514
|
+
:param configuration: The algorithm configuration of the anomaly detector.
|
|
3515
|
+
:param workspace: An Amazon Managed Service for Prometheus workspace is a logical and isolated Prometheus server dedicated to ingesting, storing, and querying your Prometheus-compatible metrics.
|
|
3516
|
+
:param evaluation_interval_in_seconds: The frequency, in seconds, at which the anomaly detector evaluates metrics. Minimum value of 30. Maximum value of 86400.
|
|
3517
|
+
:param labels: The Amazon Managed Service for Prometheus metric labels associated with the anomaly detector. Map Entries: Minimum number of 0 items. Maximum number of 140 items. Key Length Constraints: Minimum length of 1. Maximum length of 7168. Key Pattern: (?!__)[a-zA-Z_][a-zA-Z0-9_]* Value Length Constraints: Minimum length of 1. Maximum length of 7168.
|
|
3518
|
+
:param missing_data_action: The action taken when data is missing during evaluation.
|
|
3519
|
+
'''
|
|
3520
|
+
if __debug__:
|
|
3521
|
+
type_hints = typing.get_type_hints(_typecheckingstub__8e9cf951baecb48090e806ba79cfa6dec111ec6ec0305bb1c72f18f7e5a6cc4f)
|
|
3522
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
3523
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
3524
|
+
props = AnomalyDetectorProps(
|
|
3525
|
+
alias=alias,
|
|
3526
|
+
configuration=configuration,
|
|
3527
|
+
workspace=workspace,
|
|
3528
|
+
evaluation_interval_in_seconds=evaluation_interval_in_seconds,
|
|
3529
|
+
labels=labels,
|
|
3530
|
+
missing_data_action=missing_data_action,
|
|
3531
|
+
)
|
|
3532
|
+
|
|
3533
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
3534
|
+
|
|
3535
|
+
@jsii.member(jsii_name="isAnomalyDetector")
|
|
3536
|
+
@builtins.classmethod
|
|
3537
|
+
def is_anomaly_detector(cls, x: typing.Any) -> builtins.bool:
|
|
3538
|
+
'''
|
|
3539
|
+
:param x: -
|
|
3540
|
+
'''
|
|
3541
|
+
if __debug__:
|
|
3542
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c5a92d8e3a483a119470088f310c1ea46fcbcafd285ccfeed903da2461af3188)
|
|
3543
|
+
check_type(argname="argument x", value=x, expected_type=type_hints["x"])
|
|
3544
|
+
return typing.cast(builtins.bool, jsii.sinvoke(cls, "isAnomalyDetector", [x]))
|
|
3545
|
+
|
|
3546
|
+
@builtins.property
|
|
3547
|
+
@jsii.member(jsii_name="alias")
|
|
3548
|
+
def alias(self) -> builtins.str:
|
|
3549
|
+
'''The user-friendly name of the anomaly detector. 1 to 64 characters length.
|
|
3550
|
+
|
|
3551
|
+
Minimum length of 1. Maximum length of 64.
|
|
3552
|
+
Pattern: [0-9A-Za-z][-.0-9A-Z_a-z]*
|
|
3553
|
+
'''
|
|
3554
|
+
return typing.cast(builtins.str, jsii.get(self, "alias"))
|
|
3555
|
+
|
|
3556
|
+
@builtins.property
|
|
3557
|
+
@jsii.member(jsii_name="anomalyDetectorArn")
|
|
3558
|
+
def anomaly_detector_arn(self) -> builtins.str:
|
|
3559
|
+
'''The Amazon Resource Name (ARN) of the anomaly detector.'''
|
|
3560
|
+
return typing.cast(builtins.str, jsii.get(self, "anomalyDetectorArn"))
|
|
3561
|
+
|
|
3562
|
+
@builtins.property
|
|
3563
|
+
@jsii.member(jsii_name="configuration")
|
|
3564
|
+
def configuration(self) -> "AnomalyDetectorConfiguration":
|
|
3565
|
+
'''The algorithm configuration of the anomaly detector.'''
|
|
3566
|
+
return typing.cast("AnomalyDetectorConfiguration", jsii.get(self, "configuration"))
|
|
3567
|
+
|
|
3568
|
+
@builtins.property
|
|
3569
|
+
@jsii.member(jsii_name="workspace")
|
|
3570
|
+
def workspace(self) -> "IWorkspace":
|
|
3571
|
+
'''An Amazon Managed Service for Prometheus workspace is a logical and isolated Prometheus server dedicated to ingesting, storing, and querying your Prometheus-compatible metrics.'''
|
|
3572
|
+
return typing.cast("IWorkspace", jsii.get(self, "workspace"))
|
|
3573
|
+
|
|
3574
|
+
@builtins.property
|
|
3575
|
+
@jsii.member(jsii_name="evaluationIntervalInSeconds")
|
|
3576
|
+
def evaluation_interval_in_seconds(self) -> typing.Optional[jsii.Number]:
|
|
3577
|
+
'''The frequency, in seconds, at which the anomaly detector evaluates metrics.
|
|
3578
|
+
|
|
3579
|
+
Minimum value of 30. Maximum value of 86400.
|
|
3580
|
+
'''
|
|
3581
|
+
return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "evaluationIntervalInSeconds"))
|
|
3582
|
+
|
|
3583
|
+
@builtins.property
|
|
3584
|
+
@jsii.member(jsii_name="labels")
|
|
3585
|
+
def labels(self) -> typing.Optional[typing.List["Label"]]:
|
|
3586
|
+
'''The Amazon Managed Service for Prometheus metric labels associated with the anomaly detector.
|
|
3587
|
+
|
|
3588
|
+
Map Entries: Minimum number of 0 items. Maximum number of 140 items.
|
|
3589
|
+
Key Length Constraints: Minimum length of 1. Maximum length of 7168.
|
|
3590
|
+
Key Pattern: (?!__)[a-zA-Z_][a-zA-Z0-9_]*
|
|
3591
|
+
Value Length Constraints: Minimum length of 1. Maximum length of 7168.
|
|
3592
|
+
'''
|
|
3593
|
+
return typing.cast(typing.Optional[typing.List["Label"]], jsii.get(self, "labels"))
|
|
3594
|
+
|
|
3595
|
+
@builtins.property
|
|
3596
|
+
@jsii.member(jsii_name="missingDataAction")
|
|
3597
|
+
def missing_data_action(self) -> typing.Optional["MissingDataAction"]:
|
|
3598
|
+
'''The action taken when data is missing during evaluation.'''
|
|
3599
|
+
return typing.cast(typing.Optional["MissingDataAction"], jsii.get(self, "missingDataAction"))
|
|
2595
3600
|
|
|
2596
3601
|
|
|
2597
3602
|
__all__ = [
|
|
2598
3603
|
"AmpConfiguration",
|
|
3604
|
+
"AnomalyDetector",
|
|
3605
|
+
"AnomalyDetectorBase",
|
|
3606
|
+
"AnomalyDetectorConfiguration",
|
|
3607
|
+
"AnomalyDetectorProps",
|
|
2599
3608
|
"CloudWatchLogDestination",
|
|
2600
3609
|
"Destination",
|
|
2601
3610
|
"EksConfiguration",
|
|
3611
|
+
"IAnomalyDetector",
|
|
3612
|
+
"IResourcePolicy",
|
|
2602
3613
|
"IRuleGroupsNamespace",
|
|
2603
3614
|
"IScraper",
|
|
2604
3615
|
"IWorkspace",
|
|
3616
|
+
"IgnoreNearExpected",
|
|
2605
3617
|
"Label",
|
|
2606
3618
|
"LimitsPerLabelSet",
|
|
2607
3619
|
"LimitsPerLabelSetEntry",
|
|
2608
3620
|
"LoggingConfiguration",
|
|
2609
3621
|
"LoggingDestination",
|
|
2610
3622
|
"LoggingFilter",
|
|
3623
|
+
"MissingDataAction",
|
|
2611
3624
|
"QueryLoggingConfiguration",
|
|
3625
|
+
"RandomCutForestConfiguration",
|
|
3626
|
+
"ResourcePolicy",
|
|
3627
|
+
"ResourcePolicyBase",
|
|
3628
|
+
"ResourcePolicyProps",
|
|
2612
3629
|
"RoleConfiguration",
|
|
2613
3630
|
"RuleGroupsNamespace",
|
|
2614
3631
|
"RuleGroupsNamespaceAttributes",
|
|
@@ -2636,6 +3653,25 @@ def _typecheckingstub__9b57f1ed441699407024d3a67f6d0ecf1fd33175a38d466e4e90e1909
|
|
|
2636
3653
|
"""Type checking stubs"""
|
|
2637
3654
|
pass
|
|
2638
3655
|
|
|
3656
|
+
def _typecheckingstub__488e50421526d1e316a7bd2f186eccb1fc4bf1daba066e779c147e9e9dbc747a(
|
|
3657
|
+
*,
|
|
3658
|
+
random_cut_forest: typing.Union[RandomCutForestConfiguration, typing.Dict[builtins.str, typing.Any]],
|
|
3659
|
+
) -> None:
|
|
3660
|
+
"""Type checking stubs"""
|
|
3661
|
+
pass
|
|
3662
|
+
|
|
3663
|
+
def _typecheckingstub__d73bc4f90dcbc90f45d5d011fc423d2638eb9cfe65810e23594184c620ce38aa(
|
|
3664
|
+
*,
|
|
3665
|
+
alias: builtins.str,
|
|
3666
|
+
configuration: typing.Union[AnomalyDetectorConfiguration, typing.Dict[builtins.str, typing.Any]],
|
|
3667
|
+
workspace: IWorkspace,
|
|
3668
|
+
evaluation_interval_in_seconds: typing.Optional[jsii.Number] = None,
|
|
3669
|
+
labels: typing.Optional[typing.Sequence[typing.Union[Label, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3670
|
+
missing_data_action: typing.Optional[typing.Union[MissingDataAction, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3671
|
+
) -> None:
|
|
3672
|
+
"""Type checking stubs"""
|
|
3673
|
+
pass
|
|
3674
|
+
|
|
2639
3675
|
def _typecheckingstub__f4c8d116f44cd0ce0c010e39612b1f9f3d190e82d3f5f4c0372ae03517a31a79(
|
|
2640
3676
|
*,
|
|
2641
3677
|
log_group: _aws_cdk_aws_logs_ceddda9d.ILogGroup,
|
|
@@ -2659,6 +3695,14 @@ def _typecheckingstub__9e3526038ce65e3714e7b69cac8f1dac03b300f7ee7b6eb0a81f578bb
|
|
|
2659
3695
|
"""Type checking stubs"""
|
|
2660
3696
|
pass
|
|
2661
3697
|
|
|
3698
|
+
def _typecheckingstub__fa12ec68028f74d5d8f1d96a0b99090659c404c86bd0ec936014ab264467ca22(
|
|
3699
|
+
*,
|
|
3700
|
+
amount: typing.Optional[jsii.Number] = None,
|
|
3701
|
+
ratio: typing.Optional[jsii.Number] = None,
|
|
3702
|
+
) -> None:
|
|
3703
|
+
"""Type checking stubs"""
|
|
3704
|
+
pass
|
|
3705
|
+
|
|
2662
3706
|
def _typecheckingstub__5c797aa51820ba19e3974b523e246d357e3b44ff0bc743b0f1171b5ae9bebdea(
|
|
2663
3707
|
*,
|
|
2664
3708
|
name: builtins.str,
|
|
@@ -2704,6 +3748,14 @@ def _typecheckingstub__c7beea1121128e5f35f0720b90b21713abba4beef8755e891bbf87c2a
|
|
|
2704
3748
|
"""Type checking stubs"""
|
|
2705
3749
|
pass
|
|
2706
3750
|
|
|
3751
|
+
def _typecheckingstub__4de31fdb80b9646037b68b88ae1dae6b46be704ab84a3c61100b29e91fc959c2(
|
|
3752
|
+
*,
|
|
3753
|
+
mark_as_anomaly: typing.Optional[builtins.bool] = None,
|
|
3754
|
+
skip: typing.Optional[builtins.bool] = None,
|
|
3755
|
+
) -> None:
|
|
3756
|
+
"""Type checking stubs"""
|
|
3757
|
+
pass
|
|
3758
|
+
|
|
2707
3759
|
def _typecheckingstub__092820c29e1435155b193e5488fd2841dcea5141110ab984fa14a237e2f4a4ae(
|
|
2708
3760
|
*,
|
|
2709
3761
|
destinations: typing.Sequence[typing.Union[LoggingDestination, typing.Dict[builtins.str, typing.Any]]],
|
|
@@ -2711,6 +3763,37 @@ def _typecheckingstub__092820c29e1435155b193e5488fd2841dcea5141110ab984fa14a237e
|
|
|
2711
3763
|
"""Type checking stubs"""
|
|
2712
3764
|
pass
|
|
2713
3765
|
|
|
3766
|
+
def _typecheckingstub__c44dedd708a153df90c20f2738e66c34f510bb7ed036637ccb7a1bde1f3394b8(
|
|
3767
|
+
*,
|
|
3768
|
+
query: builtins.str,
|
|
3769
|
+
ignore_near_expected_from_above: typing.Optional[typing.Union[IgnoreNearExpected, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3770
|
+
ignore_near_expected_from_below: typing.Optional[typing.Union[IgnoreNearExpected, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3771
|
+
sample_size: typing.Optional[jsii.Number] = None,
|
|
3772
|
+
shingle_size: typing.Optional[jsii.Number] = None,
|
|
3773
|
+
) -> None:
|
|
3774
|
+
"""Type checking stubs"""
|
|
3775
|
+
pass
|
|
3776
|
+
|
|
3777
|
+
def _typecheckingstub__1705a6716ddb826f74670d4b351789ae363cbbc6a4fda6389f3fe972e4ad37e8(
|
|
3778
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
3779
|
+
id: builtins.str,
|
|
3780
|
+
*,
|
|
3781
|
+
account: typing.Optional[builtins.str] = None,
|
|
3782
|
+
environment_from_arn: typing.Optional[builtins.str] = None,
|
|
3783
|
+
physical_name: typing.Optional[builtins.str] = None,
|
|
3784
|
+
region: typing.Optional[builtins.str] = None,
|
|
3785
|
+
) -> None:
|
|
3786
|
+
"""Type checking stubs"""
|
|
3787
|
+
pass
|
|
3788
|
+
|
|
3789
|
+
def _typecheckingstub__e64bdaac8096e1f570bf3bdd34320a336689a41b7fadad148bbe26533f682a36(
|
|
3790
|
+
*,
|
|
3791
|
+
policy_document: builtins.str,
|
|
3792
|
+
workspace: IWorkspace,
|
|
3793
|
+
) -> None:
|
|
3794
|
+
"""Type checking stubs"""
|
|
3795
|
+
pass
|
|
3796
|
+
|
|
2714
3797
|
def _typecheckingstub__e96c135bdcece9823caf073421082af151c59b6d52a5918bb38689bbca7ab2a3(
|
|
2715
3798
|
*,
|
|
2716
3799
|
source_role: typing.Optional[_aws_cdk_aws_iam_ceddda9d.IRole] = None,
|
|
@@ -2856,6 +3939,34 @@ def _typecheckingstub__204cf0cc18e2fd2c643a33020d11a1d61cbfe8a2abd5cd5bda6a222e0
|
|
|
2856
3939
|
"""Type checking stubs"""
|
|
2857
3940
|
pass
|
|
2858
3941
|
|
|
3942
|
+
def _typecheckingstub__763ce8aef513d695a9ea5e157a4299be537296b8475d4cac315b4f595f7d0536(
|
|
3943
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
3944
|
+
id: builtins.str,
|
|
3945
|
+
*,
|
|
3946
|
+
account: typing.Optional[builtins.str] = None,
|
|
3947
|
+
environment_from_arn: typing.Optional[builtins.str] = None,
|
|
3948
|
+
physical_name: typing.Optional[builtins.str] = None,
|
|
3949
|
+
region: typing.Optional[builtins.str] = None,
|
|
3950
|
+
) -> None:
|
|
3951
|
+
"""Type checking stubs"""
|
|
3952
|
+
pass
|
|
3953
|
+
|
|
3954
|
+
def _typecheckingstub__152018d2f86ee27c3ac817bf409dc2fae4034315290b87fd5d6c906625b633d3(
|
|
3955
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
3956
|
+
id: builtins.str,
|
|
3957
|
+
*,
|
|
3958
|
+
policy_document: builtins.str,
|
|
3959
|
+
workspace: IWorkspace,
|
|
3960
|
+
) -> None:
|
|
3961
|
+
"""Type checking stubs"""
|
|
3962
|
+
pass
|
|
3963
|
+
|
|
3964
|
+
def _typecheckingstub__b7b7c7ca19cd491541f3243572cf47da8425bab13c98330c2653c2302cfa6b53(
|
|
3965
|
+
x: typing.Any,
|
|
3966
|
+
) -> None:
|
|
3967
|
+
"""Type checking stubs"""
|
|
3968
|
+
pass
|
|
3969
|
+
|
|
2859
3970
|
def _typecheckingstub__6d20ad42e4be3f2ea717b0a2a018087c9c8a4437ea677e47f420ba1b0b9d445d(
|
|
2860
3971
|
scope: _constructs_77d1e7e8.Construct,
|
|
2861
3972
|
id: builtins.str,
|
|
@@ -2952,3 +4063,26 @@ def _typecheckingstub__fe05f7c3509dfbf0a171e57ba19ea445d159aeb564d5e5a1ee5815df7
|
|
|
2952
4063
|
) -> None:
|
|
2953
4064
|
"""Type checking stubs"""
|
|
2954
4065
|
pass
|
|
4066
|
+
|
|
4067
|
+
def _typecheckingstub__8e9cf951baecb48090e806ba79cfa6dec111ec6ec0305bb1c72f18f7e5a6cc4f(
|
|
4068
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
4069
|
+
id: builtins.str,
|
|
4070
|
+
*,
|
|
4071
|
+
alias: builtins.str,
|
|
4072
|
+
configuration: typing.Union[AnomalyDetectorConfiguration, typing.Dict[builtins.str, typing.Any]],
|
|
4073
|
+
workspace: IWorkspace,
|
|
4074
|
+
evaluation_interval_in_seconds: typing.Optional[jsii.Number] = None,
|
|
4075
|
+
labels: typing.Optional[typing.Sequence[typing.Union[Label, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4076
|
+
missing_data_action: typing.Optional[typing.Union[MissingDataAction, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4077
|
+
) -> None:
|
|
4078
|
+
"""Type checking stubs"""
|
|
4079
|
+
pass
|
|
4080
|
+
|
|
4081
|
+
def _typecheckingstub__c5a92d8e3a483a119470088f310c1ea46fcbcafd285ccfeed903da2461af3188(
|
|
4082
|
+
x: typing.Any,
|
|
4083
|
+
) -> None:
|
|
4084
|
+
"""Type checking stubs"""
|
|
4085
|
+
pass
|
|
4086
|
+
|
|
4087
|
+
for cls in [IAnomalyDetector, IResourcePolicy, IRuleGroupsNamespace, IScraper, IWorkspace]:
|
|
4088
|
+
typing.cast(typing.Any, cls).__protocol_attrs__ = typing.cast(typing.Any, cls).__protocol_attrs__ - set(['__jsii_proxy_class__', '__jsii_type__'])
|