cdk-monitoring-constructs
Version:
[](https://badge.fury.io/js/cdk-monitoring-constructs) [](https://m
1 lines • 82.9 kB
JSON
{"version":"2","toolVersion":"5.9.55","snippets":{"2681c3f053dd4193424df7e60e09865506adf1b5f51483ec7075285889aa6b32":{"translations":{"python":{"source":"# This could be in the same stack as your resources, as a nested stack, or a separate stack as you see fit\nclass MonitoringStack(DeploymentStack):\n def __init__(self, parent, name, *):\n super().__init__(parent, name)\n\n monitoring = MonitoringFacade(self, \"Monitoring\",\n # Defaults are provided for these, but they can be customized as desired\n metric_factory_defaults={...},\n alarm_factory_defaults={...},\n dashboard_factory={...}\n )\n\n # Monitor your resources\n monitoring.add_large_header(\"Storage\").monitor_dynamo_table().monitor_dynamo_table().monitor_lambda_function().monitor_custom()","version":"2"},"csharp":{"source":"class MonitoringStackProps : DeploymentStackProps\n{\n}\n\n// This could be in the same stack as your resources, as a nested stack, or a separate stack as you see fit\nclass MonitoringStack : DeploymentStack\n{\n public MonitoringStack(App parent, string name, MonitoringStackProps props) : base(parent, name, props)\n {\n\n var monitoring = new MonitoringFacade(this, \"Monitoring\", new Struct {\n // Defaults are provided for these, but they can be customized as desired\n MetricFactoryDefaults = new Struct { ... },\n AlarmFactoryDefaults = new Struct { ... },\n DashboardFactory = new Struct { ... }\n });\n\n // Monitor your resources\n monitoring.AddLargeHeader(\"Storage\").MonitorDynamoTable(new Struct { }).MonitorDynamoTable(new Struct { }).MonitorLambdaFunction(new Struct { }).MonitorCustom(new Struct { });\n }\n}","version":"1"},"java":{"source":"public class MonitoringStackProps extends DeploymentStackProps {\n}\n\n// This could be in the same stack as your resources, as a nested stack, or a separate stack as you see fit\npublic class MonitoringStack extends DeploymentStack {\n public MonitoringStack(App parent, String name, MonitoringStackProps props) {\n super(parent, name, props);\n\n Object monitoring = MonitoringFacade.Builder.create(this, \"Monitoring\")\n // Defaults are provided for these, but they can be customized as desired\n .metricFactoryDefaults(Map.of(...))\n .alarmFactoryDefaults(Map.of(...))\n .dashboardFactory(Map.of(...))\n .build();\n\n // Monitor your resources\n monitoring.addLargeHeader(\"Storage\").monitorDynamoTable(Map.of()).monitorDynamoTable(Map.of()).monitorLambdaFunction(Map.of()).monitorCustom(Map.of());\n }\n}","version":"1"},"go":{"source":"type MonitoringStackProps struct {\n\tDeploymentStackProps\n}\n\n// This could be in the same stack as your resources, as a nested stack, or a separate stack as you see fit\ntype MonitoringStack struct {\n\tDeploymentStack\n}\n\nfunc NewMonitoringStack(parent App, name *string, props MonitoringStackProps) *MonitoringStack {\n\tthis := &MonitoringStack{}\n\tnewDeploymentStack_Override(this, parent, name, props)\n\n\tmonitoring := NewMonitoringFacade(this, jsii.String(\"Monitoring\"), map[string]interface{}{\n\t\t// Defaults are provided for these, but they can be customized as desired\n\t\t\"metricFactoryDefaults\": map[string]interface{}{\n\t\t\t...,\n\t\t},\n\t\t\"alarmFactoryDefaults\": map[string]interface{}{\n\t\t\t...,\n\t\t},\n\t\t\"dashboardFactory\": map[string]interface{}{\n\t\t\t...,\n\t\t},\n\t})\n\n\t// Monitor your resources\n\tmonitoring.addLargeHeader(jsii.String(\"Storage\")).monitorDynamoTable(map[string]interface{}{\n\t}).monitorDynamoTable(map[string]interface{}{\n\t}).monitorLambdaFunction(map[string]interface{}{\n\t}).monitorCustom(map[string]interface{}{\n\t})\n\treturn this\n}","version":"1"},"$":{"source":"export interface MonitoringStackProps extends DeploymentStackProps {\n // ...\n}\n\n// This could be in the same stack as your resources, as a nested stack, or a separate stack as you see fit\nexport class MonitoringStack extends DeploymentStack {\n constructor(parent: App, name: string, props: MonitoringStackProps) {\n super(parent, name, props);\n\n const monitoring = new MonitoringFacade(this, \"Monitoring\", {\n // Defaults are provided for these, but they can be customized as desired\n metricFactoryDefaults: { ... },\n alarmFactoryDefaults: { ... },\n dashboardFactory: { ... },\n });\n\n // Monitor your resources\n monitoring\n .addLargeHeader(\"Storage\")\n .monitorDynamoTable({ /* Monitor a DynamoDB table */ })\n .monitorDynamoTable({ /* and a different table */ })\n .monitorLambdaFunction({ /* and a Lambda function */ })\n .monitorCustom({ /* and some arbitrary metrics in CloudWatch */ })\n // ... etc.\n }\n}","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"cdk-monitoring-constructs"},"field":{"field":"markdown","line":116}},"didCompile":false,"fqnsReferenced":[],"fullSource":"export interface MonitoringStackProps extends DeploymentStackProps {\n // ...\n}\n\n// This could be in the same stack as your resources, as a nested stack, or a separate stack as you see fit\nexport class MonitoringStack extends DeploymentStack {\n constructor(parent: App, name: string, props: MonitoringStackProps) {\n super(parent, name, props);\n\n const monitoring = new MonitoringFacade(this, \"Monitoring\", {\n // Defaults are provided for these, but they can be customized as desired\n metricFactoryDefaults: { ... },\n alarmFactoryDefaults: { ... },\n dashboardFactory: { ... },\n });\n\n // Monitor your resources\n monitoring\n .addLargeHeader(\"Storage\")\n .monitorDynamoTable({ /* Monitor a DynamoDB table */ })\n .monitorDynamoTable({ /* and a different table */ })\n .monitorLambdaFunction({ /* and a Lambda function */ })\n .monitorCustom({ /* and some arbitrary metrics in CloudWatch */ })\n // ... etc.\n }\n}","syntaxKindCounter":{"11":2,"80":26,"95":2,"108":1,"110":1,"154":1,"170":3,"177":1,"184":2,"211":8,"212":5,"214":6,"215":1,"234":2,"242":1,"244":1,"245":2,"261":1,"262":1,"264":1,"265":1,"299":2,"304":3,"306":3,"308":1},"fqnsFingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"8c2c0a469228b162e94b3ad82bb40de4e19fff6e2f14a64a182fa027b80f395b":{"translations":{"python":{"source":"# on_alarm_topic: ITopic\n\nmonitoring = MonitoringFacade(self, \"Monitoring\",\n # ...other props\n alarm_factory_defaults={\n # ....other props\n \"action\": SnsAlarmActionStrategy(on_alarm_topic=on_alarm_topic)\n }\n)","version":"2"},"csharp":{"source":"ITopic onAlarmTopic;\n\nvar monitoring = new MonitoringFacade(this, \"Monitoring\", new Struct {\n // ...other props\n AlarmFactoryDefaults = new Struct {\n // ....other props\n Action = new SnsAlarmActionStrategy(new Struct { OnAlarmTopic = onAlarmTopic })\n }\n});","version":"1"},"java":{"source":"ITopic onAlarmTopic;\n\nObject monitoring = MonitoringFacade.Builder.create(this, \"Monitoring\")\n // ...other props\n .alarmFactoryDefaults(Map.of(\n // ....other props\n \"action\", SnsAlarmActionStrategy.Builder.create().onAlarmTopic(onAlarmTopic).build()))\n .build();","version":"1"},"go":{"source":"var onAlarmTopic ITopic\n\nmonitoring := NewMonitoringFacade(this, jsii.String(\"Monitoring\"), map[string]map[string]interface{}{\n\t// ...other props\n\t\"alarmFactoryDefaults\": map[string]interface{}{\n\t\t// ....other props\n\t\t\"action\": NewSnsAlarmActionStrategy(map[string]interface{}{\n\t\t\t\"onAlarmTopic\": onAlarmTopic,\n\t\t}),\n\t},\n})","version":"1"},"$":{"source":"declare const onAlarmTopic: ITopic;\n\nconst monitoring = new MonitoringFacade(this, \"Monitoring\", {\n // ...other props\n alarmFactoryDefaults: {\n // ....other props\n action: new SnsAlarmActionStrategy({ onAlarmTopic }),\n },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"cdk-monitoring-constructs"},"field":{"field":"markdown","line":151}},"didCompile":false,"fqnsReferenced":[],"fullSource":"declare const onAlarmTopic: ITopic;\n\nconst monitoring = new MonitoringFacade(this, \"Monitoring\", {\n // ...other props\n alarmFactoryDefaults: {\n // ....other props\n action: new SnsAlarmActionStrategy({ onAlarmTopic }),\n },\n});","syntaxKindCounter":{"11":1,"80":8,"110":1,"138":1,"184":1,"211":3,"215":2,"244":2,"261":2,"262":2,"304":2,"305":1,"308":1},"fqnsFingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"0d2e63b483ba65828d8dbb6317ba45010de00ac954f787c9c4af32c049a1e408":{"translations":{"python":{"source":"monitoring.monitor_something(something,\n add_some_alarm={\n \"Warning\": {\n # ...other props\n \"threshold\": 42,\n \"action_override\": SnsAlarmActionStrategy(on_alarm_topic=on_alarm_topic)\n }\n }\n)","version":"2"},"csharp":{"source":"monitoring.MonitorSomething(something, new Struct {\n AddSomeAlarm = new Struct {\n Warning = new Struct {\n // ...other props\n Threshold = 42,\n ActionOverride = new SnsAlarmActionStrategy(new Struct { OnAlarmTopic = onAlarmTopic })\n }\n }\n});","version":"1"},"java":{"source":"monitoring.monitorSomething(something, Map.of(\n \"addSomeAlarm\", Map.of(\n \"Warning\", Map.of(\n // ...other props\n \"threshold\", 42,\n \"actionOverride\", SnsAlarmActionStrategy.Builder.create().onAlarmTopic(onAlarmTopic).build()))));","version":"1"},"go":{"source":"monitoring.monitorSomething(something, map[string]map[string]map[string]interface{}{\n\t\"addSomeAlarm\": map[string]map[string]interface{}{\n\t\t\"Warning\": map[string]interface{}{\n\t\t\t// ...other props\n\t\t\t\"threshold\": jsii.Number(42),\n\t\t\t\"actionOverride\": NewSnsAlarmActionStrategy(map[string]interface{}{\n\t\t\t\t\"onAlarmTopic\": onAlarmTopic,\n\t\t\t}),\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"monitoring.monitorSomething(something, {\n addSomeAlarm: {\n Warning: {\n // ...other props\n threshold: 42,\n actionOverride: new SnsAlarmActionStrategy({ onAlarmTopic }),\n },\n },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"cdk-monitoring-constructs"},"field":{"field":"markdown","line":165}},"didCompile":false,"fqnsReferenced":[],"fullSource":"monitoring.monitorSomething(something, {\n addSomeAlarm: {\n Warning: {\n // ...other props\n threshold: 42,\n actionOverride: new SnsAlarmActionStrategy({ onAlarmTopic }),\n },\n },\n});","syntaxKindCounter":{"9":1,"80":9,"211":4,"212":1,"214":1,"215":1,"245":1,"304":4,"305":1,"308":1},"fqnsFingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"96bf4eddfeb5e08b74aa44c59c71514805cae942745752696d9c7275f10b9b9c":{"translations":{"python":{"source":"# on_alarm_topic: ITopic\n# on_alarm_function: IFunction\n\naction = multiple_actions(\n notify_sns(on_alarm_topic),\n trigger_lambda(on_alarm_function))","version":"2"},"csharp":{"source":"ITopic onAlarmTopic;\nIFunction onAlarmFunction;\n\nvar action = MultipleActions(NotifySns(onAlarmTopic), TriggerLambda(onAlarmFunction));","version":"1"},"java":{"source":"ITopic onAlarmTopic;\nIFunction onAlarmFunction;\n\nIAlarmActionStrategy action = multipleActions(notifySns(onAlarmTopic), triggerLambda(onAlarmFunction));","version":"1"},"go":{"source":"var onAlarmTopic ITopic\nvar onAlarmFunction IFunction\n\naction := multipleActions(notifySns(onAlarmTopic), triggerLambda(onAlarmFunction))","version":"1"},"$":{"source":"declare const onAlarmTopic: ITopic;\ndeclare const onAlarmFunction: IFunction;\n\nconst action: IAlarmActionStrategy = multipleActions(\n notifySns(onAlarmTopic),\n triggerLambda(onAlarmFunction),\n);","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"cdk-monitoring-constructs"},"field":{"field":"markdown","line":181}},"didCompile":false,"fqnsReferenced":[],"fullSource":"declare const onAlarmTopic: ITopic;\ndeclare const onAlarmFunction: IFunction;\n\nconst action: IAlarmActionStrategy = multipleActions(\n notifySns(onAlarmTopic),\n triggerLambda(onAlarmFunction),\n);","syntaxKindCounter":{"80":11,"138":2,"184":3,"214":3,"244":3,"261":3,"262":3,"308":1},"fqnsFingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"961f9ff099abc0ba48e02926fe99705f970bffa7eab50845cf48503739f6f4ab":{"translations":{"python":{"source":"# create metrics manually\nm1 = Metric()","version":"2"},"csharp":{"source":"// create metrics manually\nvar m1 = new Metric();","version":"1"},"java":{"source":"// create metrics manually\nObject m1 = new Metric();","version":"1"},"go":{"source":"// create metrics manually\nm1 := NewMetric()","version":"1"},"$":{"source":"// create metrics manually\nconst m1 = new Metric(/* ... */);","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"cdk-monitoring-constructs"},"field":{"field":"markdown","line":204}},"didCompile":false,"fqnsReferenced":[],"fullSource":"// create metrics manually\nconst m1 = new Metric(/* ... */);","syntaxKindCounter":{"80":2,"215":1,"244":1,"261":1,"262":1,"308":1},"fqnsFingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"ccf9cd6a5e03629a3aca064b4c85ef14e669fa614566f041df5db65533e53f50":{"translations":{"python":{"source":"metric_factory = monitoring_facade.create_metric_factory()\n\n# create metrics using metric factory\nm1 = metric_factory.create_metric()","version":"2"},"csharp":{"source":"var metricFactory = monitoringFacade.CreateMetricFactory();\n\n// create metrics using metric factory\nvar m1 = metricFactory.CreateMetric();","version":"1"},"java":{"source":"Object metricFactory = monitoringFacade.createMetricFactory();\n\n// create metrics using metric factory\nObject m1 = metricFactory.createMetric();","version":"1"},"go":{"source":"metricFactory := monitoringFacade.createMetricFactory()\n\n// create metrics using metric factory\nm1 := metricFactory.createMetric()","version":"1"},"$":{"source":"const metricFactory = monitoringFacade.createMetricFactory();\n\n// create metrics using metric factory\nconst m1 = metricFactory.createMetric(/* ... */);","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"cdk-monitoring-constructs"},"field":{"field":"markdown","line":209}},"didCompile":false,"fqnsReferenced":[],"fullSource":"const metricFactory = monitoringFacade.createMetricFactory();\n\n// create metrics using metric factory\nconst m1 = metricFactory.createMetric(/* ... */);","syntaxKindCounter":{"80":6,"212":2,"214":2,"244":2,"261":2,"262":2,"308":1},"fqnsFingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"3c5b6db17390d03cd3c9499ce22f9c9d6bed4c1afc64c69d4aababc2138b067b":{"translations":{"python":{"source":"monitor_custom({\n \"title\": \"Metric with anomaly detection\",\n \"metric_groups\": [{\n \"metric\": m1,\n \"anomaly_detection_standard_deviation_to_render\": 3\n }\n ]\n})","version":"2"},"csharp":{"source":"MonitorCustom(new Dictionary<string, object> {\n { \"title\", \"Metric with anomaly detection\" },\n { \"metricGroups\", new [] { new Struct {\n Metric = m1,\n AnomalyDetectionStandardDeviationToRender = 3\n } } }\n});","version":"1"},"java":{"source":"monitorCustom(Map.of(\n \"title\", \"Metric with anomaly detection\",\n \"metricGroups\", List.of(Map.of(\n \"metric\", m1,\n \"anomalyDetectionStandardDeviationToRender\", 3))));","version":"1"},"go":{"source":"monitorCustom(map[string]interface{}{\n\t\"title\": jsii.String(\"Metric with anomaly detection\"),\n\t\"metricGroups\": []map[string]interface{}{\n\t\tmap[string]interface{}{\n\t\t\t\"metric\": m1,\n\t\t\t\"anomalyDetectionStandardDeviationToRender\": jsii.Number(3),\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"monitorCustom({\n title: \"Metric with anomaly detection\",\n metricGroups: [\n {\n metric: m1,\n anomalyDetectionStandardDeviationToRender: 3,\n },\n ],\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"cdk-monitoring-constructs"},"field":{"field":"markdown","line":221}},"didCompile":true,"fqnsReferenced":["aws-cdk-lib.aws_cloudwatch.Metric"],"fullSource":"// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n App,\n Duration,\n Stack,\n} from 'aws-cdk-lib';\nimport { IWidget, Metric, PeriodOverride, TextWidget } from 'aws-cdk-lib/aws-cloudwatch';\nimport { Table } from 'aws-cdk-lib/aws-dynamodb';\nimport { IFunction } from 'aws-cdk-lib/aws-lambda';\nimport { CfnHealthCheck } from 'aws-cdk-lib/aws-route53';\nimport { ITopic } from 'aws-cdk-lib/aws-sns';\nimport {\n DashboardRenderingPreference,\n DynamicDashboardFactory,\n IAlarmActionStrategy,\n IDynamicDashboardSegment,\n LambdaFunctionMonitoring,\n MetricStatistic,\n MonitoringFacade,\n Route53HealthCheckMetricAdjuster,\n ScaleAlarms,\n SnsAlarmActionStrategy,\n multipleActions,\n notifySns,\n triggerLambda,\n} from 'cdk-monitoring-constructs';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n const monitoring: any = new MonitoringFacade(this, \"FixtureMonitoring\");\n const monitoringFacade: any = monitoring;\n const onAlarmTopic: ITopic = undefined as any;\n const something: any = undefined;\n const m1 = new Metric({ namespace: \"Fixture\", metricName: \"Fixture\" });\n\n function monitorCustom(props: any): any {\n return monitoring.monitorCustom(props);\n }\n\n // Code snippet begins after !show marker below\n/// !show\nmonitorCustom({\n title: \"Metric with anomaly detection\",\n metricGroups: [\n {\n metric: m1,\n anomalyDetectionStandardDeviationToRender: 3,\n },\n ],\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n","syntaxKindCounter":{"9":1,"11":1,"80":6,"210":1,"211":2,"214":1,"245":1,"304":4},"fqnsFingerprint":"268e74a9640483cea26363d15f61353c34f4de72b8c7ef305b0840247ed2058a"},"64232f1186a795a032c9b849a84a907c71be16eb7895a6848e23fa966724bf17":{"translations":{"python":{"source":"monitor_custom({\n \"title\": \"Metric with anomaly detection and alarm\",\n \"metric_groups\": [{\n \"metric\": m1,\n \"alarm_friendly_name\": \"MetricWithAnomalyDetectionAlarm\",\n \"anomaly_detection_standard_deviation_to_render\": 3,\n \"add_alarm_on_anomaly\": {\n \"Warning\": {\n \"standard_deviation_for_alarm\": 4,\n \"alarm_when_above_the_band\": True,\n \"alarm_when_below_the_band\": True\n }\n }\n }\n ]\n})","version":"2"},"csharp":{"source":"MonitorCustom(new Dictionary<string, object> {\n { \"title\", \"Metric with anomaly detection and alarm\" },\n { \"metricGroups\", new [] { new Struct {\n Metric = m1,\n AlarmFriendlyName = \"MetricWithAnomalyDetectionAlarm\",\n AnomalyDetectionStandardDeviationToRender = 3,\n AddAlarmOnAnomaly = new Struct {\n Warning = new Struct {\n StandardDeviationForAlarm = 4,\n AlarmWhenAboveTheBand = true,\n AlarmWhenBelowTheBand = true\n }\n }\n } } }\n});","version":"1"},"java":{"source":"monitorCustom(Map.of(\n \"title\", \"Metric with anomaly detection and alarm\",\n \"metricGroups\", List.of(Map.of(\n \"metric\", m1,\n \"alarmFriendlyName\", \"MetricWithAnomalyDetectionAlarm\",\n \"anomalyDetectionStandardDeviationToRender\", 3,\n \"addAlarmOnAnomaly\", Map.of(\n \"Warning\", Map.of(\n \"standardDeviationForAlarm\", 4,\n \"alarmWhenAboveTheBand\", true,\n \"alarmWhenBelowTheBand\", true))))));","version":"1"},"go":{"source":"monitorCustom(map[string]interface{}{\n\t\"title\": jsii.String(\"Metric with anomaly detection and alarm\"),\n\t\"metricGroups\": []map[string]interface{}{\n\t\tmap[string]interface{}{\n\t\t\t\"metric\": m1,\n\t\t\t\"alarmFriendlyName\": jsii.String(\"MetricWithAnomalyDetectionAlarm\"),\n\t\t\t\"anomalyDetectionStandardDeviationToRender\": jsii.Number(3),\n\t\t\t\"addAlarmOnAnomaly\": map[string]map[string]interface{}{\n\t\t\t\t\"Warning\": map[string]interface{}{\n\t\t\t\t\t\"standardDeviationForAlarm\": jsii.Number(4),\n\t\t\t\t\t\"alarmWhenAboveTheBand\": jsii.Boolean(true),\n\t\t\t\t\t\"alarmWhenBelowTheBand\": jsii.Boolean(true),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"monitorCustom({\n title: \"Metric with anomaly detection and alarm\",\n metricGroups: [\n {\n metric: m1,\n alarmFriendlyName: \"MetricWithAnomalyDetectionAlarm\",\n anomalyDetectionStandardDeviationToRender: 3,\n addAlarmOnAnomaly: {\n Warning: {\n standardDeviationForAlarm: 4,\n alarmWhenAboveTheBand: true,\n alarmWhenBelowTheBand: true,\n },\n },\n },\n ],\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"cdk-monitoring-constructs"},"field":{"field":"markdown","line":235}},"didCompile":true,"fqnsReferenced":["aws-cdk-lib.aws_cloudwatch.Metric"],"fullSource":"// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n App,\n Duration,\n Stack,\n} from 'aws-cdk-lib';\nimport { IWidget, Metric, PeriodOverride, TextWidget } from 'aws-cdk-lib/aws-cloudwatch';\nimport { Table } from 'aws-cdk-lib/aws-dynamodb';\nimport { IFunction } from 'aws-cdk-lib/aws-lambda';\nimport { CfnHealthCheck } from 'aws-cdk-lib/aws-route53';\nimport { ITopic } from 'aws-cdk-lib/aws-sns';\nimport {\n DashboardRenderingPreference,\n DynamicDashboardFactory,\n IAlarmActionStrategy,\n IDynamicDashboardSegment,\n LambdaFunctionMonitoring,\n MetricStatistic,\n MonitoringFacade,\n Route53HealthCheckMetricAdjuster,\n ScaleAlarms,\n SnsAlarmActionStrategy,\n multipleActions,\n notifySns,\n triggerLambda,\n} from 'cdk-monitoring-constructs';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n const monitoring: any = new MonitoringFacade(this, \"FixtureMonitoring\");\n const monitoringFacade: any = monitoring;\n const onAlarmTopic: ITopic = undefined as any;\n const something: any = undefined;\n const m1 = new Metric({ namespace: \"Fixture\", metricName: \"Fixture\" });\n\n function monitorCustom(props: any): any {\n return monitoring.monitorCustom(props);\n }\n\n // Code snippet begins after !show marker below\n/// !show\nmonitorCustom({\n title: \"Metric with anomaly detection and alarm\",\n metricGroups: [\n {\n metric: m1,\n alarmFriendlyName: \"MetricWithAnomalyDetectionAlarm\",\n anomalyDetectionStandardDeviationToRender: 3,\n addAlarmOnAnomaly: {\n Warning: {\n standardDeviationForAlarm: 4,\n alarmWhenAboveTheBand: true,\n alarmWhenBelowTheBand: true,\n },\n },\n },\n ],\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n","syntaxKindCounter":{"9":2,"11":2,"80":12,"112":2,"210":1,"211":4,"214":1,"245":1,"304":10},"fqnsFingerprint":"268e74a9640483cea26363d15f61353c34f4de72b8c7ef305b0840247ed2058a"},"0932f17d4e809321591e0b126c5f6c9f4b18a80e7ae50566ca038faea327ef0c":{"translations":{"python":{"source":"monitor_custom({\n \"title\": \"Metric search\",\n \"metric_groups\": [{\n \"search_query\": \"My.Prefix.\",\n \"dimensions_map\": {\n \"FirstDimension\": \"FirstDimensionValue\",\n # Allow any value for the given dimension (pardon the weird typing to satisfy DimensionsMap)\n \"SecondDimension\": undefined\n },\n \"statistic\": MetricStatistic.SUM\n }\n ]\n})","version":"2"},"csharp":{"source":"MonitorCustom(new Dictionary<string, object> {\n { \"title\", \"Metric search\" },\n { \"metricGroups\", new [] { new Struct {\n SearchQuery = \"My.Prefix.\",\n DimensionsMap = new Struct {\n FirstDimension = \"FirstDimensionValue\",\n // Allow any value for the given dimension (pardon the weird typing to satisfy DimensionsMap)\n SecondDimension = (string)(object)undefined\n },\n Statistic = MetricStatistic.SUM\n } } }\n});","version":"1"},"java":{"source":"monitorCustom(Map.of(\n \"title\", \"Metric search\",\n \"metricGroups\", List.of(Map.of(\n \"searchQuery\", \"My.Prefix.\",\n \"dimensionsMap\", Map.of(\n \"FirstDimension\", \"FirstDimensionValue\",\n // Allow any value for the given dimension (pardon the weird typing to satisfy DimensionsMap)\n \"SecondDimension\", (String)(Object)undefined),\n \"statistic\", MetricStatistic.SUM))));","version":"1"},"go":{"source":"monitorCustom(map[string]interface{}{\n\t\"title\": jsii.String(\"Metric search\"),\n\t\"metricGroups\": []map[string]interface{}{\n\t\tmap[string]interface{}{\n\t\t\t\"searchQuery\": jsii.String(\"My.Prefix.\"),\n\t\t\t\"dimensionsMap\": map[string]interface{}{\n\t\t\t\t\"FirstDimension\": jsii.String(\"FirstDimensionValue\"),\n\t\t\t\t// Allow any value for the given dimension (pardon the weird typing to satisfy DimensionsMap)\n\t\t\t\t\"SecondDimension\": string(undefined),\n\t\t\t},\n\t\t\t\"statistic\": cdkmonitoringconstructs.MetricStatistic_SUM,\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"monitorCustom({\n title: \"Metric search\",\n metricGroups: [\n {\n searchQuery: \"My.Prefix.\",\n dimensionsMap: {\n FirstDimension: \"FirstDimensionValue\",\n // Allow any value for the given dimension (pardon the weird typing to satisfy DimensionsMap)\n SecondDimension: undefined as unknown as string,\n },\n statistic: MetricStatistic.SUM,\n },\n ],\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"cdk-monitoring-constructs"},"field":{"field":"markdown","line":257}},"didCompile":true,"fqnsReferenced":["cdk-monitoring-constructs.MetricStatistic","cdk-monitoring-constructs.MetricStatistic#SUM"],"fullSource":"// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n App,\n Duration,\n Stack,\n} from 'aws-cdk-lib';\nimport { IWidget, Metric, PeriodOverride, TextWidget } from 'aws-cdk-lib/aws-cloudwatch';\nimport { Table } from 'aws-cdk-lib/aws-dynamodb';\nimport { IFunction } from 'aws-cdk-lib/aws-lambda';\nimport { CfnHealthCheck } from 'aws-cdk-lib/aws-route53';\nimport { ITopic } from 'aws-cdk-lib/aws-sns';\nimport {\n DashboardRenderingPreference,\n DynamicDashboardFactory,\n IAlarmActionStrategy,\n IDynamicDashboardSegment,\n LambdaFunctionMonitoring,\n MetricStatistic,\n MonitoringFacade,\n Route53HealthCheckMetricAdjuster,\n ScaleAlarms,\n SnsAlarmActionStrategy,\n multipleActions,\n notifySns,\n triggerLambda,\n} from 'cdk-monitoring-constructs';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n const monitoring: any = new MonitoringFacade(this, \"FixtureMonitoring\");\n const monitoringFacade: any = monitoring;\n const onAlarmTopic: ITopic = undefined as any;\n const something: any = undefined;\n const m1 = new Metric({ namespace: \"Fixture\", metricName: \"Fixture\" });\n\n function monitorCustom(props: any): any {\n return monitoring.monitorCustom(props);\n }\n\n // Code snippet begins after !show marker below\n/// !show\nmonitorCustom({\n title: \"Metric search\",\n metricGroups: [\n {\n searchQuery: \"My.Prefix.\",\n dimensionsMap: {\n FirstDimension: \"FirstDimensionValue\",\n // Allow any value for the given dimension (pardon the weird typing to satisfy DimensionsMap)\n SecondDimension: undefined as unknown as string,\n },\n statistic: MetricStatistic.SUM,\n },\n ],\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n","syntaxKindCounter":{"11":3,"80":11,"154":1,"159":1,"210":1,"211":3,"212":1,"214":1,"235":2,"245":1,"304":7},"fqnsFingerprint":"6a9dafd7baca1aa489a8fb852aee38946a261cd656c593ac2e67234da30b2bc9"},"25838cdaab4d174af25f02e1130da9660ed0f70b42e9c17f8142d347168a8eec":{"translations":{"python":{"source":"monitoring.monitor_something(something,\n add_some_alarm={\n \"Warning\": {\n # ...other props\n \"metric_adjuster\": Route53HealthCheckMetricAdjuster.INSTANCE\n }\n }\n)","version":"2"},"csharp":{"source":"monitoring.MonitorSomething(something, new Struct {\n AddSomeAlarm = new Struct {\n Warning = new Struct {\n // ...other props\n MetricAdjuster = Route53HealthCheckMetricAdjuster.INSTANCE\n }\n }\n});","version":"1"},"java":{"source":"monitoring.monitorSomething(something, Map.of(\n \"addSomeAlarm\", Map.of(\n \"Warning\", Map.of(\n // ...other props\n \"metricAdjuster\", Route53HealthCheckMetricAdjuster.INSTANCE))));","version":"1"},"go":{"source":"monitoring.monitorSomething(something, map[string]map[string]map[string]Route53HealthCheckMetricAdjuster{\n\t\"addSomeAlarm\": map[string]map[string]Route53HealthCheckMetricAdjuster{\n\t\t\"Warning\": map[string]Route53HealthCheckMetricAdjuster{\n\t\t\t// ...other props\n\t\t\t\"metricAdjuster\": cdkmonitoringconstructs.Route53HealthCheckMetricAdjuster_INSTANCE(),\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"monitoring.monitorSomething(something, {\n addSomeAlarm: {\n Warning: {\n // ...other props\n metricAdjuster: Route53HealthCheckMetricAdjuster.INSTANCE,\n },\n },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"cdk-monitoring-constructs"},"field":{"field":"markdown","line":281}},"didCompile":true,"fqnsReferenced":["cdk-monitoring-constructs.Route53HealthCheckMetricAdjuster","cdk-monitoring-constructs.Route53HealthCheckMetricAdjuster#INSTANCE"],"fullSource":"// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n App,\n Duration,\n Stack,\n} from 'aws-cdk-lib';\nimport { IWidget, Metric, PeriodOverride, TextWidget } from 'aws-cdk-lib/aws-cloudwatch';\nimport { Table } from 'aws-cdk-lib/aws-dynamodb';\nimport { IFunction } from 'aws-cdk-lib/aws-lambda';\nimport { CfnHealthCheck } from 'aws-cdk-lib/aws-route53';\nimport { ITopic } from 'aws-cdk-lib/aws-sns';\nimport {\n DashboardRenderingPreference,\n DynamicDashboardFactory,\n IAlarmActionStrategy,\n IDynamicDashboardSegment,\n LambdaFunctionMonitoring,\n MetricStatistic,\n MonitoringFacade,\n Route53HealthCheckMetricAdjuster,\n ScaleAlarms,\n SnsAlarmActionStrategy,\n multipleActions,\n notifySns,\n triggerLambda,\n} from 'cdk-monitoring-constructs';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n const monitoring: any = new MonitoringFacade(this, \"FixtureMonitoring\");\n const monitoringFacade: any = monitoring;\n const onAlarmTopic: ITopic = undefined as any;\n const something: any = undefined;\n const m1 = new Metric({ namespace: \"Fixture\", metricName: \"Fixture\" });\n\n function monitorCustom(props: any): any {\n return monitoring.monitorCustom(props);\n }\n\n // Code snippet begins after !show marker below\n/// !show\nmonitoring.monitorSomething(something, {\n addSomeAlarm: {\n Warning: {\n // ...other props\n metricAdjuster: Route53HealthCheckMetricAdjuster.INSTANCE,\n },\n },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n","syntaxKindCounter":{"80":8,"211":3,"212":2,"214":1,"245":1,"304":3},"fqnsFingerprint":"561e71cf6cbe270a0d58e2a11828ee49ed319d4c0f07dcc47b10b5a251eef25b"},"41b94f2946ee979601d574dda4e575cf3e1a6432976babf8b208712422c01a99":{"translations":{"python":{"source":"from aws_cdk.aws_route53 import CfnHealthCheck\n\nmonitoring.monitor_something(something,\n add_some_alarm={\n \"Warning\": {\n # ...other props\n \"custom_tags\": [\"route53-health-check\"],\n \"metric_adjuster\": Route53HealthCheckMetricAdjuster.INSTANCE\n }\n }\n)\n\nalarms = monitoring.created_alarms_with_tag(\"route53-health-check\")\n\nhealth_checks = alarms.map(({ alarm }) => {\n const id = getHealthCheckConstructId(alarm);\n\n return new CfnHealthCheck(scope, id, {\n healthCheckConfig: {\n // ...other props\n type: \"CLOUDWATCH_METRIC\",\n alarmIdentifier: {\n name: alarm.alarmName,\n region: alarm.stack.region,\n },\n },\n });\n })","version":"2"},"csharp":{"source":"using Amazon.CDK.AWS.Route53;\n\nmonitoring.MonitorSomething(something, new Struct {\n AddSomeAlarm = new Struct {\n Warning = new Struct {\n // ...other props\n CustomTags = new [] { \"route53-health-check\" },\n MetricAdjuster = Route53HealthCheckMetricAdjuster.INSTANCE\n }\n }\n});\n\nvar alarms = monitoring.CreatedAlarmsWithTag(\"route53-health-check\");\n\nvar healthChecks = alarms.Map(({ alarm }) => {\n const id = getHealthCheckConstructId(alarm);\n\n return new CfnHealthCheck(scope, id, {\n healthCheckConfig: {\n // ...other props\n type: \"CLOUDWATCH_METRIC\",\n alarmIdentifier: {\n name: alarm.alarmName,\n region: alarm.stack.region,\n },\n },\n });\n});","version":"1"},"java":{"source":"import software.amazon.awscdk.services.route53.CfnHealthCheck;\n\nmonitoring.monitorSomething(something, Map.of(\n \"addSomeAlarm\", Map.of(\n \"Warning\", Map.of(\n // ...other props\n \"customTags\", List.of(\"route53-health-check\"),\n \"metricAdjuster\", Route53HealthCheckMetricAdjuster.getINSTANCE()))));\n\nObject alarms = monitoring.createdAlarmsWithTag(\"route53-health-check\");\n\nObject healthChecks = alarms.map(({ alarm }) => {\n const id = getHealthCheckConstructId(alarm);\n\n return new CfnHealthCheck(scope, id, {\n healthCheckConfig: {\n // ...other props\n type: \"CLOUDWATCH_METRIC\",\n alarmIdentifier: {\n name: alarm.alarmName,\n region: alarm.stack.region,\n },\n },\n });\n});","version":"1"},"go":{"source":"import \"github.com/aws/aws-cdk-go/awscdk\"\n\nmonitoring.monitorSomething(something, map[string]map[string]map[string]interface{}{\n\t\"addSomeAlarm\": map[string]map[string]interface{}{\n\t\t\"Warning\": map[string]interface{}{\n\t\t\t// ...other props\n\t\t\t\"customTags\": []*string{\n\t\t\t\tjsii.String(\"route53-health-check\"),\n\t\t\t},\n\t\t\t\"metricAdjuster\": Route53HealthCheckMetricAdjuster_INSTANCE,\n\t\t},\n\t},\n})\n\nalarms := monitoring.createdAlarmsWithTag(jsii.String(\"route53-health-check\"))\n\nhealthChecks := alarms.map(({ alarm }) => {\n const id = getHealthCheckConstructId(alarm);\n\n return new CfnHealthCheck(scope, id, {\n healthCheckConfig: {\n // ...other props\n type: \"CLOUDWATCH_METRIC\",\n alarmIdentifier: {\n name: alarm.alarmName,\n region: alarm.stack.region,\n },\n },\n });\n})","version":"1"},"$":{"source":"import { CfnHealthCheck } from \"aws-cdk-lib/aws-route53\";\n\nmonitoring.monitorSomething(something, {\n addSomeAlarm: {\n Warning: {\n // ...other props\n customTags: [\"route53-health-check\"],\n metricAdjuster: Route53HealthCheckMetricAdjuster.INSTANCE,\n },\n },\n});\n\nconst alarms = monitoring.createdAlarmsWithTag(\"route53-health-check\");\n\nconst healthChecks = alarms.map(({ alarm }) => {\n const id = getHealthCheckConstructId(alarm);\n\n return new CfnHealthCheck(scope, id, {\n healthCheckConfig: {\n // ...other props\n type: \"CLOUDWATCH_METRIC\",\n alarmIdentifier: {\n name: alarm.alarmName,\n region: alarm.stack.region,\n },\n },\n });\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"cdk-monitoring-constructs"},"field":{"field":"markdown","line":295}},"didCompile":false,"fqnsReferenced":[],"fullSource":"import { CfnHealthCheck } from \"aws-cdk-lib/aws-route53\";\n\nmonitoring.monitorSomething(something, {\n addSomeAlarm: {\n Warning: {\n // ...other props\n customTags: [\"route53-health-check\"],\n metricAdjuster: Route53HealthCheckMetricAdjuster.INSTANCE,\n },\n },\n});\n\nconst alarms = monitoring.createdAlarmsWithTag(\"route53-health-check\");\n\nconst healthChecks = alarms.map(({ alarm }) => {\n const id = getHealthCheckConstructId(alarm);\n\n return new CfnHealthCheck(scope, id, {\n healthCheckConfig: {\n // ...other props\n type: \"CLOUDWATCH_METRIC\",\n alarmIdentifier: {\n name: alarm.alarmName,\n region: alarm.stack.region,\n },\n },\n });\n});","syntaxKindCounter":{"11":4,"39":1,"80":33,"170":1,"207":1,"209":1,"210":1,"211":6,"212":7,"214":4,"215":1,"220":1,"242":1,"244":3,"245":1,"254":1,"261":3,"262":3,"273":1,"274":1,"276":1,"277":1,"304":9,"308":1},"fqnsFingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"a80733010f9c5bcb21584bc6221bcd944ae52add3b1bdb40b5334cae039653a5":{"translations":{"python":{"source":"class MyCustomizedLambdaFunctionMonitoring(LambdaFunctionMonitoring):\n def widgets(self):\n return []","version":"2"},"csharp":{"source":"class MyCustomizedLambdaFunctionMonitoring : LambdaFunctionMonitoring\n{\n public void[] Widgets()\n {\n return new [] { };\n }\n}","version":"1"},"java":{"source":"public class MyCustomizedLambdaFunctionMonitoring extends LambdaFunctionMonitoring {\n public void[] widgets() {\n return List.of();\n }\n}","version":"1"},"go":{"source":"type MyCustomizedLambdaFunctionMonitoring struct {\n\tLambdaFunctionMonitoring\n}\n\nfunc (this *MyCustomizedLambdaFunctionMonitoring) widgets() []interface{} {\n\treturn []interface{}{\n\t}\n}","version":"1"},"$":{"source":"export class MyCustomizedLambdaFunctionMonitoring extends LambdaFunctionMonitoring {\n widgets(): IWidget[] {\n return [\n // Whatever widgets you want instead of what LambdaFunctionMonitoring has\n ];\n }\n}","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"cdk-monitoring-constructs"},"field":{"field":"markdown","line":347}},"didCompile":false,"fqnsReferenced":[],"fullSource":"export class MyCustomizedLambdaFunctionMonitoring extends LambdaFunctionMonitoring {\n widgets(): IWidget[] {\n return [\n // Whatever widgets you want instead of what LambdaFunctionMonitoring has\n ];\n }\n}","syntaxKindCounter":{"80":4,"95":1,"175":1,"184":1,"189":1,"210":1,"234":1,"242":1,"254":1,"264":1,"299":1,"308":1},"fqnsFingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"86fa5d52b2cd87107a55fd30eb1ee1c9c78b7044d96e7986fa80906c4718e949":{"translations":{"python":{"source":"# facade: MonitoringFacade\n\nfacade.add_segment(\n MyCustomizedLambdaFunctionMonitoring(facade))","version":"2"},"csharp":{"source":"MonitoringFacade facade;\n\nfacade.AddSegment(\nnew MyCustomizedLambdaFunctionMonitoring(facade, new Struct { }));","version":"1"},"java":{"source":"MonitoringFacade facade;\n\nfacade.addSegment(\nMyCustomizedLambdaFunctionMonitoring.Builder.create(facade).build());","version":"1"},"go":{"source":"var facade MonitoringFacade\n\nfacade.addSegment(\nNewMyCustomizedLambdaFunctionMonitoring(facade, map[string]interface{}{\n}))","version":"1"},"$":{"source":"declare const facade: MonitoringFacade;\n\nfacade.addSegment(\n new MyCustomizedLambdaFunctionMonitoring(facade, {\n // Props for LambdaFunctionMonitoring\n }),\n);","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"cdk-monitoring-constructs"},"field":{"field":"markdown","line":359}},"didCompile":false,"fqnsReferenced":[],"fullSource":"declare const facade: MonitoringFacade;\n\nfacade.addSegment(\n new MyCustomizedLambdaFunctionMonitoring(facade, {\n // Props for LambdaFunctionMonitoring\n }),\n);","syntaxKindCounter":{"80":6,"138":1,"184":1,"211":1,"212":1,"214":1,"215":1,"244":1,"245":1,"261":1,"262":1,"308":1},"fqnsFingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"84c52091e4a9ec5fb9dead91a6b8b7a697b1d688414594a669e96ed83602d46f":{"translations":{"python":{"source":"# create the dynamic dashboard factory.\nfactory = DynamicDashboardFactory(stack, \"DynamicDashboards\",\n dashboard_name_prefix=\"ExampleDashboards\",\n dashboard_configs=[{\"name\": \"HostedService\"}, {\n \"name\": \"Infrastructure\",\n \"range\": Duration.hours(3),\n \"period_override\": PeriodOverride.AUTO,\n \"rendering_preference\": DashboardRenderingPreference.BITMAP_ONLY\n }\n ]\n)","version":"2"},"csharp":{"source":"// create the dynamic dashboard factory.\nvar factory = new DynamicDashboardFactory(stack, \"DynamicDashboards\", new Struct {\n DashboardNamePrefix = \"ExampleDashboards\",\n DashboardConfigs = new [] { new Struct { Name = \"HostedService\" }, new Struct {\n Name = \"Infrastructure\",\n Range = Duration.Hours(3),\n PeriodOverride = PeriodOverride.AUTO,\n RenderingPreference = DashboardRenderingPreference.BITMAP_ONLY\n } }\n});","version":"1"},"java":{"source":"// create the dynamic dashboard factory.\nObject factory = DynamicDashboardFactory.Builder.create(stack, \"DynamicDashboards\")\n .dashboardNamePrefix(\"ExampleDashboards\")\n .dashboardConfigs(List.of(Map.of(\"name\", \"HostedService\"), Map.of(\n \"name\", \"Infrastructure\",\n \"range\", Duration.hours(3),\n \"periodOverride\", PeriodOverride.getAUTO(),\n \"renderingPreference\", DashboardRenderingPreference.getBITMAP_ONLY())))\n .build();","version":"1"},"go":{"source":"// create the dynamic dashboard factory.\nfactory := NewDynamicDashboardFactory(stack, jsii.String(\"DynamicDashboards\"), map[string]interface{}{\n\t\"dashboardNamePrefix\": jsii.String(\"ExampleDashboards\"),\n\t\"dashboardConfigs\": []interface{}{\n\t\tmap[string]*string{\n\t\t\t\"name\": jsii.String(\"HostedService\"),\n\t\t},\n\t\tmap[string]interface{}{\n\t\t\t\"name\": jsii.String(\"Infrastructure\"),\n\t\t\t\"range\": Duration_hours(jsii.Number(3)),\n\t\t\t\"periodOverride\": PeriodOverride_AUTO,\n\t\t\t\"renderingPreference\": DashboardRenderingPreference_BITMAP_ONLY,\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"// create the dynamic dashboard factory.\nconst factory = new DynamicDashboardFactory(stack, \"DynamicDashboards\", {\n dashboardNamePrefix: \"ExampleDashboards\",\n dashboardConfigs: [\n // 'name' is the minimum required configuration\n { name: \"HostedService\" },\n // below is an example of additional dashboard-specific config options\n {\n name: \"Infrastructure\",\n range: Duration.hours(3),\n periodOverride: PeriodOverride.AUTO,\n renderingPreference: DashboardRenderingPreference.BITMAP_ONLY,\n },\n ],\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"cdk-monitoring-constructs"},"field":{"field":"markdown","line":384}},"didCompile":false,"fqnsReferenced":[],"fullSource":"// create the dynamic dashboard factory.\nconst factory = new DynamicDashboardFactory(stack, \"DynamicDashboards\", {\n dashboardNamePrefix: \"ExampleDashboards\",\n dashboardConfigs: [\n // 'name' is the minimum required configuration\n { name: \"HostedService\" },\n // below is an example of additional dashboard-specific config options\n {\n name: \"Infrastructure\",\n range: Duration.hours(3),\n periodOverride: PeriodOverride.AUTO,\n renderingPreference: DashboardRenderingPreference.BITMAP_ONLY,\n },\n ],\n});","syntaxKindCounter":{"9":1,"11":4,"80":16,"210":1,"211":3,"212":3,"214":1,"215":1,"244":1,"261":1,"262":1,"304":7,"308":1},"fqnsFingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"dc70d20c9f64708a9802170192b483bb639d6a342fea1318d3538d2e563e0e57":{"translations":{"python":{"source":"export enum DashboardTypes {\n HostedService = \"HostedService\",\n Infrastructure = \"Infrastructure\",\n}\n\nclass ExampleSegment(IDynamicDashboardSegment):\n def widgets_for_dashboard(self, name): switch (name) {\n case DashboardTypes.HostedService:\n return [\n new TextWidget({\n markdown:\n \"This shows metrics for your service hosted on AWS Infrastructure\",\n }),\n ];\n case DashboardTypes.Infrastructure:\n return [\n new TextWidget({\n markdown:\n \"This shows metrics for the AWS Infrastructure supporting your hosted service\",\n }),\n ];\n default:\n throw new Error(\"Unexpected dashboard name!\");\n }","version":"2"},"csharp":{"source":"export enum DashboardTypes {\n HostedService = \"HostedService\",\n Infrastructure = \"Infrastructure\",\n}\n\nclass ExampleSegment : IDynamicDashboardSegment\n{\n public void[] WidgetsForDashboard(string name)\n {switch (name) {\n case DashboardTypes.HostedService:\n return [\n new TextWidget({\n markdown:\n \"This shows metrics for your service hosted on AWS Infrastructure\",\n }),\n ];\n case DashboardTypes.Infrastructure:\n return [\n new TextWidget({\n markdown:\n \"This shows metrics for the AWS Infrastructure supporting your hosted service\",\n }),\n ];\n default:\n throw new Error(\"Unexpected dashboard name!\");\n }\n }\n}","version":"1"},"java":{"source":"export enum DashboardTypes {\n HostedService = \"HostedService\",\n Infrastructure = \"Infrastructure\",\n}\n\npublic class ExampleSegment implements IDynamicDashboardSegment {\n public void[] widgetsForDashboard(String name) {switch (name) {\n case DashboardTypes.HostedService:\n return [\n new TextWidget({\n markdown:\n \"This shows metrics for your service hosted on AWS Infrastructure\",\n }),\n ];\n case DashboardTypes.Infrastructure:\n return [\n new TextWidget({\n markdown:\n \"This shows metrics for the AWS Infrastructure supporting your hosted service\",\n }),\n ];\n default:\n throw new Error(\"Unexpected dashboard name!\");\n }\n }\n}","version":"1"},"go":{"source":"export enum DashboardTypes {\n HostedService = \"HostedService\",\n Infrastructure = \"Infrastructure\",\n}\n\ntype exampleSegment struct {\n}\n\nfunc (this *exampleSegment) widgetsForDashboard(name *string) []interface{} {switch (name) {\n\t case DashboardTypes.HostedService:\n\t return [\n\t new TextWidget({\n\t markdown:\n\t \"This shows metrics for your service hosted on AWS Infrastructure\",\n\t }),\n\t ];\n\t case DashboardTypes.Infrastructure:\n\t return [\n\t new TextWidget({\n\t markdown:\n\t \"This shows metrics for the AWS Infrastructure supporting your hosted service\",\n\t }),\n\t ];\n\t default:\n\t throw new Error(\"Unexpected dashboard name!\");\n\t }\n}","version":"1"},"$":{"source":"export enum DashboardTypes {\n HostedService = \"HostedService\",\n Infrastructure = \"Infrastructure\",\n}\n\nclass ExampleSegment implements IDynamicDashboardSegment {\n widgetsForDashboard(name: string): IWidget[] {\n // this logic is what's responsible for allowing your dynamic segment to return\n // different widgets for different dashboards\n switch (name) {\n case DashboardTypes.HostedService:\n return [\n new TextWidget({\n markdown:\n \"This shows metrics for your service hosted on AWS Infrastructure\",\n }),\n ];\n case DashboardTypes.Infrastructure:\n return [\n new TextWidget({\n markdown:\n \"This shows metrics for the AWS Infrastructure supporting your hosted service\",\n }),\n ];\n default:\n throw new Error(\"Unexpected dashboard name!\");\n }\n }\n}","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"cdk-monitoring-constructs"},"field":{"field":"markdown","line":406}},"didCompile":false,"fqnsReferenced":[],"fullSource":"export enum DashboardTypes {\n HostedService = \"HostedService\",\n Infrastructure = \"Infrastructure\",\n}\n\nclass ExampleSegment implements IDynamicDashboardSegment {\n widgetsForDashboard(name: string): IWidget[] {\n // this logic is what's responsible for allowing your dynamic segment to return\n // different widgets for different dashboards\n switch (name) {\n case DashboardTypes.HostedService:\n return [\n new TextWidget({\n markdown:\n \"This shows metrics for your service hosted on AWS Infrastructure\",\n }),\n ];\n case DashboardTypes.Infrastructure:\n return [\n new TextWidget({\n markdown:\n \"This shows metrics for the AWS Infrastructure supporting your hosted service\",\n }),\n ];\n default:\n throw new Error(\"Unexpected dashboard name!\");\n }\n }\n}","syntaxKindCounter":{"11":5,"80":18,"95":1,"154":1,"170":1,"175":1,"184":1,"189":1,"210":2,"211":2,"212":2,"215":3,"234":1,"242":1,"254":2,"256":1,"258":1,"264":1,"267":1,"270":1,"297":2,"298":1,"299":1,"304":2,"307":2,"308":1},"fqnsFingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"c869b05a62fb61aa1a5ffa4074088395124483048aa30e8519c8aaa73edb3399":{"translations":{"python":{"source":"monitoring.add_dynamic_segment(ExampleSegment())","version":"2"},"csharp":{"source":"monitoring.AddDynamicSegment(new ExampleSegment());","version":"1"},"java":{"source":"monitoring.addDynamicSegment(new ExampleSegment());","version":"1"},"go":{"source":"monitoring.addDynamicSegment(NewExampleSegment())","version":"1"},"$":{"source":"monitoring.addDynamicSegment(new ExampleSegment());","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"cdk-monitoring-constructs"},"field":{"field":"markdown","line":442}},"didCompile":false,"fqnsReferenced":[],"fullSource":"monitoring.addDynamicSegment(new ExampleSegment());","syntaxKindCounter":{"80":3,"212":1,"214":1,"215":1,"245":1,"308":1},"fqnsFingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"b7bd4dad2d009bcdc9f72338d060d125b2b4de232d9553bfe736a8ad32999318":{"translations":{"python":{"source":"from cdk_monitoring_constructs import MetricFactoryDefaults\nMonitoringFacade(stack, \"Monitoring\",\n metric_factory_defaults=MetricFactoryDefaults(\n # Different region/account than what you're deploying to\n region=\"us-west-2\",\n account=\"01234567890\"\n )\n)","version":"2"},"csharp":{"source":"new MonitoringFacade(stack, \"Monitoring\", new MonitoringFacadeProps {\n MetricFactoryDefaults = new MetricFactoryDefaults {\n // Different region/account than what you're deploying to\n Region = \"us-west-2\",\n Account = \"01234567890\"\n }\n});","version":"1"},"java":{"source":"MonitoringFacade.Builder.create(stack, \"Monitoring\")\n .metricFactoryDefaults(MetricFactoryDefaults.builder()\n // Different region/account than what you're deploying to\n .region(\"us-west-2\")\n .account(\"01234567890\")\n .build())\n .build();","version":"1"},"go":{"source":"cdkmonitoringconstructs.NewMonitoringFacade(stack, jsii.String(\"Monitoring\"), &MonitoringFacadeProps{\n\tMetricFactoryDefaults: &MetricFactoryDefaults{\n\t\t// Different region/account than what you're deploying to\n\t\tRegion: jsii.String(\"us-west-2\"),\n\t\tAccount: jsii.String(\"01234567890\"),\n\t},\n})","version":"1"},"$":{"source":"new MonitoringFacade(stack, \"Monitoring\", {\n metricFactoryDefaults: {\n // Different region/account than what you're deploying to\n region: \"us-west-2\",\n account: \"01234567890\",\n },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"cdk-monitoring-constructs"},"field":{"field":"markdown","line":457}},"didCompile":true,"fqnsReferenced":["cdk-monitoring-constructs.MetricFactoryDefaults","cdk-monitoring-constructs.MonitoringFacade","cdk-monitoring-constructs.MonitoringFacadeProps"],"fullSource":"// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n App,\n Duration,\n Stack,\n} from 'aws-cdk-lib';\nimport { IWidget, Metric, PeriodOverride, TextWidget } from 'aws-cdk-lib/aws-cloudwatch';\nimport { Table } from 'aws-cdk-lib/aws-dynamodb';\nimport { IFunction } from 'aws-cdk-lib/aws-lambda';\nimport { CfnHealthCheck } from 'aws-cdk-lib/aws-route53';\nimport { ITopic } from 'aws-cdk-lib/aws-sns';\nimport {\n DashboardRenderingPreference,\n DynamicDashboardFactory,\n IAlarmActionStrategy,\n IDynamicDashboardSegment,\n LambdaFunctionMonitoring,\n MetricStatistic,\n MonitoringFacade,\n Route53HealthCheckMetricAdjuster,\n ScaleAlarms,\n SnsAlarmActionStrategy,\n multipleActions,\n notifySns,\n triggerLambda,\n} from 'cdk-monitoring-constructs';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n const monitoring: any = new MonitoringFacade(this, \"FixtureMonitoring\");\n const monitoringFacade: any = monitoring;\n const onAlarmTopic: ITopic = undefined as any;\n const something: any = undefined;\n const m1 = new Metric({ namespace: \"Fixture\", metricName: \"Fixture\" });\n\n function monitorCustom(props: any): any {\n return monitoring.monitorCustom(props);\n }\n\n // Code snippet begins after !show marker below\n/// !show\nnew MonitoringFacade(stack, \"Monitoring\", {\n metricFactoryDefaults: {\n // Different region/account than what you're deploying to\n region: \"us-west-2\",\n account: \"01234567890\",\n },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n","syntaxKindCounter":{"11":3,"80":5,"211":2,"215":1,"245":1,"304":3},"fqnsFingerprint":"67a53da33a7a255c6e17a01193ee17713848adc235e6cff32b6e7b8bd035be70"},"53c84f98de03602c52516f4262addcc0c09e641c78ef15543c619c88b19a9886":{"translations":{"python":{"source":"monitoring.monitor_dynamo_table(\n # Table from the same account/region\n table=Table.from_table_name(stack, \"ImportedTable\", \"MyTableName\")\n).monitor_dynamo_table(\n # Table from another account/region\n table=Table.from_table_arn(stack, \"XaXrImportedTable\", \"arn:aws:dynamodb:us-west-2:01234567890:table/my-other-table\"),\n region=\"us-west-2\",\n account=\"01234567890\"\n)","version":"2"},"csharp":{"source":"monitoring.MonitorDynamoTable(new Struct {\n // Table from the same account/region\n Table = Table.FromTableName(stack, \"ImportedTable\", \"MyTableName\")\n}).MonitorDynamoTable(new Struct {\n // Table from another account/region\n Table = Table.FromTableArn(stack, \"XaXrImportedTable\", \"arn:aws:dynamodb:us-west-2:01234567890:table/my-other-table\"),\n Region = \"us-west-2\",\n Account = \"01234567890\"\n});","version":"1"},"java":{"source":"monitoring.monitorDynamoTable(Map.of(\n // Table from the same account/region\n \"table\", Table.fromTableName(stack, \"ImportedTable\", \"MyTableName\"))).monitorDynamoTable(Map.of(\n // Table from another account/region\n \"table\", Table.fromTableArn(stack, \"XaXrImportedTable\", \"arn:aws:dynamodb:us-west-2:01234567890:table/my-other-table\"),\n \"region\", \"us-west-2\",\n \"account\", \"01234567890\"));","version":"1"},"go":{"source":"monitoring.monitorDynamoTable(map[string]ITable{\n\t// Table from the same account/region\n\t\"table\": awscdk.Table_fromTableName(stack, jsii.String(\"ImportedTable\"), jsii.String(\"MyTableName\")),\n}).monitorDynamoTable(map[string]interface{}{\n\t// Table from another account/region\n\t\"table\": awscdk.Table_fromTableArn(stack, jsii.String(\"XaXrImportedTable\"), jsii.String(\"arn:aws:dynamodb:us-west-2:01234567890:table/my-other-table\")),\n\t\"region\": jsii.String(\"us-west-2\"),\n\t\"account\": jsii.String(\"01234567890\"),\n})","version":"1"},"$":{"source":"monitoring\n .monitorDynamoTable({\n // Table from the same account/region\n table: Table.fromTableName(stack, \"ImportedTable\", \"MyTableName\"),\n })\n .monitorDynamoTable({\n // Table from another account/region\n table: Table.fromTableArn(\n stack,\n \"XaXrImportedTable\",\n \"arn:aws:dynamodb:us-west-2:01234567890:table/my-other-table\",\n ),\n region: \"us-west-2\",\n account: \"01234567890\",\n });","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"cdk-monitoring-constructs"},"field":{"field":"markdown","line":469}},"didCompile":true,"fqnsReferenced":["aws-cdk-lib.aws_dynamodb.ITable","aws-cdk-lib.aws_dynamodb.Table#fromTableArn","aws-cdk-lib.aws_dynamodb.Table#fromTableName"],"fullSource":"// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n App,\n Duration,\n Stack,\n} from 'aws-cdk-lib';\nimport { IWidget, Metric, PeriodOverride, TextWidget } from 'aws-cdk-lib/aws-cloudwatch';\nimport { Table } from 'aws-cdk-lib/aws-dynamodb';\nimport { IFunction } from 'aws-cdk-lib/aws-lambda';\nimport { CfnHealthCheck } from 'aws-cdk-lib/aws-route53';\nimport { ITopic } from 'aws-cdk-lib/aws-sns';\nimport {\n DashboardRenderingPreference,\n DynamicDashboardFactory,\n IAlarmActionStrategy,\n IDynamicDashboardSegment,\n LambdaFunctionMonitoring,\n MetricStatistic,\n MonitoringFacade,\n Route53HealthCheckMetricAdjuster,\n ScaleAlarms,\n SnsAlarmActionStrategy,\n multipleActions,\n notifySns,\n triggerLambda,\n} from 'cdk-monitoring-constructs';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n const monitoring: any = new MonitoringFacade(this, \"FixtureMonitoring\");\n const monitoringFacade: any = monitoring;\n const onAlarmTopic: ITopic = undefined as any;\n const something: any = undefined;\n const m1 = new Metric({ namespace: \"Fixture\", metricName: \"Fixture\" });\n\n function monitorCustom(props: any): any {\n return monitoring.monitorCustom(props);\n }\n\n // Code snippet begins after !show marker below\n/// !show\nmonitoring\n .monitorDynamoTable({\n // Table from the same account/region\n table: Table.fromTableName(stack, \"ImportedTable\", \"MyTableName\"),\n })\n .monitorDynamoTable({\n // Table from another account/region\n table: Table.fromTableArn(\n stack,\n \"XaXrImportedTable\",\n \"arn:aws:dynamodb:us-west-2:01234567890:table/my-other-table\",\n ),\n region: \"us-west-2\",\n account: \"01234567890\",\n });\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n","syntaxKindCounter":{"11":6,"80":13,"211":2,"212":4,"214":4,"245":1,"304":4},"fqnsFingerprint":"386ddc383c632491fd50b1c873ab6683b12bcfe2725b96016f10f103a40f5b20"},"32560a7deb762e12b050d0049de05f288123646579ae9a40efefad48bc7fb370":{"translations":{"python":{"source":"monitoring.monitor_scope(stack,\n # With optional configuration\n lambda_={\n \"props\": {\n \"add_latency_p50_alarm\": {\n \"Critical\": {\"max_latency\": Duration.seconds(10)}\n }\n }\n },\n\n # Some resources that aren't dependent on nodes (e.g. general metrics across instances/account) may be included\n # by default, which can be explicitly disabled.\n billing={\"enabled\": False},\n ec2={\"enabled\": False},\n elastic_cache={\"enabled\": False}\n)","version":"2"},"csharp":{"source":"monitoring.MonitorScope(stack, new Struct {\n // With optional configuration\n Lambda = new Struct {\n Props = new Struct {\n AddLatencyP50Alarm = new Struct {\n Critical = new Struct { MaxLatency = Duration.Seconds(10) }\n }\n }\n },\n\n // Some resources that aren't dependent on nodes (e.g. general metrics across instances/account) may be included\n // by default, which can be explicitly disabled.\n Billing = new Struct { Enabled = false },\n Ec2 = new Struct { Enabled = false },\n ElasticCache = new Struct { Enabled = false }\n});","version":"1"},"java":{"source":"monitoring.monitorScope(stack, Map.of(\n // With optional configuration\n \"lambda\", Map.of(\n \"props\", Map.of(\n \"addLatencyP50Alarm\", Map.of(\n \"Critical\", Map.of(\"maxLatency\", Duration.seconds(10))))),\n\n // Some resources that aren't dependent on nodes (e.g. general metrics across instances/account) may be included\n // by default, which can be explicitly disabled.\n \"billing\", Map.of(\"enabled\", false),\n \"ec2\", Map.of(\"enabled\", false),\n \"elasticCache\", Map.of(\"enabled\", false)));","version":"1"},"go":{"source":"monitoring.monitorScope(stack, map[string]map[string]map[string]map[string]map[string]Duration{\n\t// With optional configuration\n\t\"lambda\": map[string]map[string]map[string]map[string]Duration{\n\t\t\"props\": map[string]map[string]map[string]Duration{\n\t\t\t\"addLatencyP50Alarm\": map[string]map[string]Duration{\n\t\t\t\t\"Critical\": map[string]Duration{\n\t\t\t\t\t\"maxLatency\": awscdk.Duration_seconds(jsii.Number(10)),\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\n\t// Some resources that aren't dependent on nodes (e.g. general metrics across instances/account) may be included\n\t// by default, which can be explicitly disabled.\n\t\"billing\": map[string]*bool{\n\t\t\"enabled\": jsii.Boolean(false),\n\t},\n\t\"ec2\": map[string]*bool{\n\t\t\"enabled\": jsii.Boolean(false),\n\t},\n\t\"elasticCache\": map[string]*bool{\n\t\t\"enabled\": jsii.Boolean(false),\n\t},\n})","version":"1"},"$":{"source":"monitoring.monitorScope(stack, {\n // With optional configuration\n lambda: {\n props: {\n addLatencyP50Alarm: {\n Critical: { maxLatency: Duration.seconds(10) },\n },\n },\n },\n\n // Some resources that aren't dependent on nodes (e.g. general metrics across instances/account) may be included\n // by default, which can be explicitly disabled.\n billing: { enabled: false },\n ec2: { enabled: false },\n elasticCache: { enabled: false },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"cdk-monitoring-constructs"},"field":{"field":"markdown","line":499}},"didCompile":true,"fqnsReferenced":["aws-cdk-lib.Duration","aws-cdk-lib.Duration#seconds"],"fullSource":"// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n App,\n Duration,\n Stack,\n} from 'aws-cdk-lib';\nimport { IWidget, Metric, PeriodOverride, TextWidget } from 'aws-cdk-lib/aws-cloudwatch';\nimport { Table } from 'aws-cdk-lib/aws-dynamodb';\nimport { IFunction } from 'aws-cdk-lib/aws-lambda';\nimport { CfnHealthCheck } from 'aws-cdk-lib/aws-route53';\nimport { ITopic } from 'aws-cdk-lib/aws-sns';\nimport {\n DashboardRenderingPreference,\n DynamicDashboardFactory,\n IAlarmActionStrategy,\n IDynamicDashboardSegment,\n LambdaFunctionMonitoring,\n MetricStatistic,\n MonitoringFacade,\n Route53HealthCheckMetricAdjuster,\n ScaleAlarms,\n SnsAlarmActionStrategy,\n multipleActions,\n notifySns,\n triggerLambda,\n} from 'cdk-monitoring-constructs';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n const monitoring: any = new MonitoringFacade(this, \"FixtureMonitoring\");\n const monitoringFacade: any = monitoring;\n const onAlarmTopic: ITopic = undefined as any;\n const something: any = undefined;\n const m1 = new Metric({ namespace: \"Fixture\", metricName: \"Fixture\" });\n\n function monitorCustom(props: any): any {\n return monitoring.monitorCustom(props);\n }\n\n // Code snippet begins after !show marker below\n/// !show\nmonitoring.monitorScope(stack, {\n // With optional configuration\n lambda: {\n props: {\n addLatencyP50Alarm: {\n Critical: { maxLatency: Duration.seconds(10) },\n },\n },\n },\n\n // Some resources that aren't dependent on nodes (e.g. general metrics across instances/account) may be included\n // by default, which can be explicitly disabled.\n billing: { enabled: false },\n ec2: { enabled: false },\n elasticCache: { enabled: false },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n","syntaxKindCounter":{"9":1,"80":16,"97":3,"211":8,"212":2,"214":2,"245":1,"304":11},"fqnsFingerprint":"bd6d981eb841a0f8be28d61d0bda1c1098a61b249fd10959fa5e24156b318703"},"bad8667b53073ee5b6a5e1c113794601e2513c3e7cdfb9be26d24cbf62a12fe3":{"translations":{"python":{"source":"# Clone alarms using a cloning-function\ncritical_alarms = monitoring.created_alarms_with_disambiguator(\"Critical\")\nclones = monitoring.clone_alarms(critical_alarms, (a) => {\n // Define a new alarm that has values inspired by the original alarm\n // Adjust some of those values using arbitrary, user-provided logic\n return {\n ...a.alarmDefinition.addAlarmProps,\n actionsEnabled: false,\n disambiguator: \"ClonedCritical\",\n alarmDescription: \"Cloned alarm of \" + a.alarmDescription,\n // Bump the threshold a bit\n threshold: a.alarmDefinition.addAlarmProps.threshold * 1.1,\n // Tighten the number of datapoints a bit\n datapointsToAlarm: a.alarmDefinition.datapointsToAlarm - 1,\n // Keep the same number of evaluation periods\n evaluationPeriods: a.alarmDefinition.evaluationPeriods,\n };\n })","version":"2"},"csharp":{"source":"// Clone alarms using a cloning-function\nvar criticalAlarms = monitoring.CreatedAlarmsWithDisambiguator(\"Critical\");\nvar clones = monitoring.CloneAlarms(criticalAlarms, (a) => {\n // Define a new alarm that has values inspired by the original alarm\n // Adjust some of those values using arbitrary, user-provided logic\n return {\n ...a.alarmDefinition.addAlarmProps,\n actionsEnabled: false,\n disambiguator: \"ClonedCritical\",\n alarmDescription: \"Cloned alarm of \" + a.alarmDescription,\n // Bump the threshold a bit\n threshold: a.alarmDefinition.addAlarmProps.threshold * 1.1,\n // Tighten the number of datapoints a bit\n datapointsToAlarm: a.alarmDefinition.datapointsToAlarm - 1,\n // Keep the same number of evaluation periods\n evaluationPeriods: a.alarmDefinition.evaluationPeriods,\n };\n});","version":"1"},"java":{"source":"// Clone alarms using a cloning-function\nObject criticalAlarms = monitoring.createdAlarmsWithDisambiguator(\"Critical\");\nObject clones = monitoring.cloneAlarms(criticalAlarms, (a) => {\n // Define a new alarm that has values inspired by the original alarm\n // Adjust some of those values using arbitrary, user-provided logic\n return {\n ...a.alarmDefinition.addAlarmProps,\n actionsEnabled: false,\n disambiguator: \"ClonedCritical\",\n alarmDescription: \"Cloned alarm of \" + a.alarmDescription,\n // Bump the threshold a bit\n threshold: a.alarmDefinition.addAlarmProps.threshold * 1.1,\n // Tighten the number of datapoints a bit\n datapointsToAlarm: a.alarmDefinition.datapointsToAlarm - 1,\n // Keep the same number of evaluation periods\n evaluationPeriods: a.alarmDefinition.evaluationPeriods,\n };\n});","version":"1"},"go":{"source":"// Clone alarms using a cloning-function\ncriticalAlarms := monitoring.createdAlarmsWithDisambiguator(jsii.String(\"Critical\"))\nclones := monitoring.cloneAlarms(criticalAlarms, (a) => {\n // Define a new alarm that has values inspired by the original alarm\n // Adjust some of those values using arbitrary, user-provided logic\n return {\n ...a.alarmDefinition.addAlarmProps,\n actionsEnabled: false,\n disambiguator: \"ClonedCritical\",\n alarmDescription: \"Cloned alarm of \" + a.alarmDescription,\n // Bump the threshold a bit\n threshold: a.alarmDefinition.addAlarmProps.threshold * 1.1,\n // Tighten the number of datapoints a bit\n datapointsToAlarm: a.alarmDefinition.datapointsToAlarm - 1,\n // Keep the same number of evaluation periods\n evaluationPeriods: a.alarmDefinition.evaluationPeriods,\n };\n})","version":"1"},"$":{"source":"// Clone alarms using a cloning-function\nconst criticalAlarms = monitoring.createdAlarmsWithDisambiguator(\"Critical\");\nconst clones = monitoring.cloneAlarms(criticalAlarms, (a) => {\n // Define a new alarm that has values inspired by the original alarm\n // Adjust some of those values using arbitrary, user-provided logic\n return {\n ...a.alarmDefinition.addAlarmProps,\n actionsEnabled: false,\n disambiguator: \"ClonedCritical\",\n alarmDescription: \"Cloned alarm of \" + a.alarmDescription,\n // Bump the threshold a bit\n threshold: a.alarmDefinition.addAlarmProps.threshold * 1.1,\n // Tighten the number of datapoints a bit\n datapointsToAlarm: a.alarmDefinition.datapointsToAlarm - 1,\n // Keep the same number of evaluation periods\n evaluationPeriods: a.alarmDefinition.evaluationPeriods,\n };\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"cdk-monitoring-constructs"},"field":{"field":"markdown","line":525}},"didCompile":false,"fqnsReferenced":[],"fullSource":"// Clone alarms using a cloning-function\nconst criticalAlarms = monitoring.createdAlarmsWithDisambiguator(\"Critical\");\nconst clones = monitoring.cloneAlarms(criticalAlarms, (a) => {\n // Define a new alarm that has values inspired by the original alarm\n // Adjust some of those values using arbitrary, user-provided logic\n return {\n ...a.alarmDefinition.addAlarmProps,\n actionsEnabled: false,\n disambiguator: \"ClonedCritical\",\n alarmDescription: \"Cloned alarm of \" + a.alarmDescription,\n // Bump the threshold a bit\n threshold: a.alarmDefinition.addAlarmProps.threshold * 1.1,\n // Tighten the number of datapoints a bit\n datapointsToAlarm: a.alarmDefinition.datapointsToAlarm - 1,\n // Keep the same number of evaluation periods\n evaluationPeriods: a.alarmDefinition.evaluationPeriods,\n };\n});","syntaxKindCounter":{"9":2,"11":3,"39":1,"40":1,"41":1,"42":1,"80":29,"97":1,"170":1,"211":1,"212":12,"214":2,"220":1,"227":3,"242":1,"244":2,"254":1,"261":2,"262":2,"304":6,"306":1,"308":1},"fqnsFingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"237ae76225b4122d89d763d95eb3173d2ac48e30cb9b09ceb2b093d09d9086f4":{"translations":{"python":{"source":"# Clone critical alarms using a tighting scaling function\ncritical_alarms = monitoring.created_alarms_with_disambiguator(\"Critical\")\nrollback_alarms = monitoring.clone_alarms(critical_alarms,\n ScaleAlarms(\n disambiguator=\"Rollback\",\n threshold_multiplier=0.8,\n datapoints_to_alarm_multiplier=0.3,\n evaluation_periods_multiplier=0.5\n ))","version":"2"},"csharp":{"source":"// Clone critical alarms using a tighting scaling function\nvar criticalAlarms = monitoring.CreatedAlarmsWithDisambiguator(\"Critical\");\nvar rollbackAlarms = monitoring.CloneAlarms(criticalAlarms, ScaleAlarms(new ScaleAlarmsProps {\n Disambiguator = \"Rollback\",\n ThresholdMultiplier = 0.8,\n DatapointsToAlarmMultiplier = 0.3,\n EvaluationPeriodsMultiplier = 0.5\n}));","version":"1"},"java":{"source":"// Clone critical alarms using a tighting scaling function\nObject criticalAlarms = monitoring.createdAlarmsWithDisambiguator(\"Critical\");\nObject rollbackAlarms = monitoring.cloneAlarms(criticalAlarms, ScaleAlarms(ScaleAlarmsProps.builder()\n .disambiguator(\"Rollback\")\n .thresholdMultiplier(0.8)\n .datapointsToAlarmMultiplier(0.3)\n .evaluationPeriodsMultiplier(0.5)\n .build()));","version":"1"},"go":{"source":"// Clone critical alarms using a tighting scaling function\ncriticalAlarms := monitoring.createdAlarmsWithDisambiguator(jsii.String(\"Critical\"))\nrollbackAlarms := monitoring.cloneAlarms(criticalAlarms, cdkmonitoringconstructs.ScaleAlarms(&ScaleAlarmsProps{\n\tDisambiguator: jsii.String(\"Rollback\"),\n\tThresholdMultiplier: jsii.Number(0.8),\n\tDatapointsToAlarmMultiplier: jsii.Number(0.3),\n\tEvaluationPeriodsMultiplier: jsii.Number(0.5),\n}))","version":"1"},"$":{"source":"// Clone critical alarms using a tighting scaling function\nconst criticalAlarms = monitoring.createdAlarmsWithDisambiguator(\"Critical\");\nconst rollbackAlarms = monitoring.cloneAlarms(\n criticalAlarms,\n ScaleAlarms({\n disambiguator: \"Rollback\",\n thresholdMultiplier: 0.8,\n datapointsToAlarmMultiplier: 0.3,\n evaluationPeriodsMultiplier: 0.5,\n }),\n);","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"cdk-monitoring-constructs"},"field":{"field":"markdown","line":558}},"didCompile":true,"fqnsReferenced":["cdk-monitoring-constructs.ScaleAlarmsProps"],"fullSource":"// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n App,\n Duration,\n Stack,\n} from 'aws-cdk-lib';\nimport { IWidget, Metric, PeriodOverride, TextWidget } from 'aws-cdk-lib/aws-cloudwatch';\nimport { Table } from 'aws-cdk-lib/aws-dynamodb';\nimport { IFunction } from 'aws-cdk-lib/aws-lambda';\nimport { CfnHealthCheck } from 'aws-cdk-lib/aws-route53';\nimport { ITopic } from 'aws-cdk-lib/aws-sns';\nimport {\n DashboardRenderingPreference,\n DynamicDashboardFactory,\n IAlarmActionStrategy,\n IDynamicDashboardSegment,\n LambdaFunctionMonitoring,\n MetricStatistic,\n MonitoringFacade,\n Route53HealthCheckMetricAdjuster,\n ScaleAlarms,\n SnsAlarmActionStrategy,\n multipleActions,\n notifySns,\n triggerLambda,\n} from 'cdk-monitoring-constructs';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n const monitoring: any = new MonitoringFacade(this, \"FixtureMonitoring\");\n const monitoringFacade: any = monitoring;\n const onAlarmTopic: ITopic = undefined as any;\n const something: any = undefined;\n const m1 = new Metric({ namespace: \"Fixture\", metricName: \"Fixture\" });\n\n function monitorCustom(props: any): any {\n return monitoring.monitorCustom(props);\n }\n\n // Code snippet begins after !show marker below\n/// !show\n// Clone critical alarms using a tighting scaling function\nconst criticalAlarms = monitoring.createdAlarmsWithDisambiguator(\"Critical\");\nconst rollbackAlarms = monitoring.cloneAlarms(\n criticalAlarms,\n ScaleAlarms({\n disambiguator: \"Rollback\",\n thresholdMultiplier: 0.8,\n datapointsToAlarmMultiplier: 0.3,\n evaluationPeriodsMultiplier: 0.5,\n }),\n);\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n","syntaxKindCounter":{"9":3,"11":2,"80":12,"211":1,"212":2,"214":3,"244":2,"261":2,"262":2,"304":4},"fqnsFingerprint":"b3f671131201e26b421b41ef5a70edc44a05518ffaef2aeb2b24bf9ff48b2c5b"},"56b736a653e3a1ec4debd373991626bf25aeb089ed2584e5986986409ebc0bd4":{"translations":{"python":{"source":"exports.handler = function (event, context, callback) {\n return callback(null, \"<h1>Hello! This is a custom widget.</h1><pre>\" + JSON.stringify(event, null, 2) + \"</pre>\");\n}","version":"2"},"csharp":{"source":"exports.Handler = function (event, context, callback) {\n return callback(null, \"<h1>Hello! This is a custom widget.</h1><pre>\" + JSON.stringify(event, null, 2) + \"</pre>\");\n};","version":"1"},"java":{"source":"exports.getHandler() = function (event, context, callback) {\n return callback(null, \"<h1>Hello! This is a custom widget.</h1><pre>\" + JSON.stringify(event, null, 2) + \"</pre>\");\n};","version":"1"},"go":{"source":"exports.handler = function (event, context, callback) {\n return callback(null, \"<h1>Hello! This is a custom widget.</h1><pre>\" + JSON.stringify(event, null, 2) + \"</pre>\");\n}","version":"1"},"$":{"source":"exports.handler = function (event, context, callback) {\n return callback(null, \"<h1>Hello! This is a custom widget.</h1><pre>\" + JSON.stringify(event, null, 2) + \"</pre>\");\n};","version":"0"}},"location":{"api":{"api":"member","fqn":"cdk-monitoring-constructs.CustomWidgetProps","memberName":"handler"},"field":{"field":"markdown","line":3}},"didCompile":false,"fqnsReferenced":[],"fullSource":"// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n App,\n Duration,\n Stack,\n} from 'aws-cdk-lib';\nimport { IWidget, Metric, PeriodOverride, TextWidget } from 'aws-cdk-lib/aws-cloudwatch';\nimport { Table } from 'aws-cdk-lib/aws-dynamodb';\nimport { IFunction } from 'aws-cdk-lib/aws-lambda';\nimport { CfnHealthCheck } from 'aws-cdk-lib/aws-route53';\nimport { ITopic } from 'aws-cdk-lib/aws-sns';\nimport {\n DashboardRenderingPreference,\n DynamicDashboardFactory,\n IAlarmActionStrategy,\n IDynamicDashboardSegment,\n LambdaFunctionMonitoring,\n MetricStatistic,\n MonitoringFacade,\n Route53HealthCheckMetricAdjuster,\n ScaleAlarms,\n SnsAlarmActionStrategy,\n multipleActions,\n notifySns,\n triggerLambda,\n} from 'cdk-monitoring-constructs';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n const monitoring: any = new MonitoringFacade(this, \"FixtureMonitoring\");\n const monitoringFacade: any = monitoring;\n const onAlarmTopic: ITopic = undefined as any;\n const something: any = undefined;\n const m1 = new Metric({ namespace: \"Fixture\", metricName: \"Fixture\" });\n\n function monitorCustom(props: any): any {\n return monitoring.monitorCustom(props);\n }\n\n // Code snippet begins after !show marker below\n/// !show\nexports.handler = function (event, context, callback) {\n return callback(null, \"<h1>Hello! This is a custom widget.</h1><pre>\" + JSON.stringify(event, null, 2) + \"</pre>\");\n};\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n","syntaxKindCounter":{"9":1,"11":2,"40":2,"64":1,"80":9,"106":2,"170":3,"212":2,"214":2,"219":1,"227":3,"242":1,"245":1,"254":1},"fqnsFingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"0c86c3982fc9d1542e1dbe53cfc0912eeeefc7f4d03236649ce116b6ae86331b":{"translations":{"python":{"source":"filter_expressions = [\"level = \\\"ERROR\\\"\"] | filterlevel = \"ERROR\"","version":"2"},"csharp":{"source":"filterExpressions = new [] { \"level = \\\"ERROR\\\"\" } | filter;level = \"ERROR\";","version":"1"},"java":{"source":"filterExpressions = List.of(\"level = \\\"ERROR\\\"\") | filter;level = \"ERROR\";","version":"1"},"go":{"source":"filterExpressions = []*string{\n\t\"level = \\\"ERROR\\\"\",\n} | filterlevel = \"ERROR\"","version":"1"},"$":{"source":"filterExpressions = [`level = \"ERROR\"`]\n// will be appended to the query as\n| filter level = \"ERROR\"","version":"0"}},"location":{"api":{"api":"member","fqn":"cdk-monitoring-constructs.LogMonitoringProps","memberName":"filterExpressions"},"field":{"field":"example"}},"didCompile":false,"fqnsReferenced":[],"fullSource":"// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n App,\n Duration,\n Stack,\n} from 'aws-cdk-lib';\nimport { IWidget, Metric, PeriodOverride, TextWidget } from 'aws-cdk-lib/aws-cloudwatch';\nimport { Table } from 'aws-cdk-lib/aws-dynamodb';\nimport { IFunction } from 'aws-cdk-lib/aws-lambda';\nimport { CfnHealthCheck } from 'aws-cdk-lib/aws-route53';\nimport { ITopic } from 'aws-cdk-lib/aws-sns';\nimport {\n DashboardRenderingPreference,\n DynamicDashboardFactory,\n IAlarmActionStrategy,\n IDynamicDashboardSegment,\n LambdaFunctionMonitoring,\n MetricStatistic,\n MonitoringFacade,\n Route53HealthCheckMetricAdjuster,\n ScaleAlarms,\n SnsAlarmActionStrategy,\n multipleActions,\n notifySns,\n triggerLambda,\n} from 'cdk-monitoring-constructs';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n const monitoring: any = new MonitoringFacade(this, \"FixtureMonitoring\");\n const monitoringFacade: any = monitoring;\n const onAlarmTopic: ITopic = undefined as any;\n const something: any = undefined;\n const m1 = new Metric({ namespace: \"Fixture\", metricName: \"Fixture\" });\n\n function monitorCustom(props: any): any {\n return monitoring.monitorCustom(props);\n }\n\n // Code snippet begins after !show marker below\n/// !show\nfilterExpressions = [`level = \"ERROR\"`]\n// will be appended to the query as\n| filter level = \"ERROR\"\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n","syntaxKindCounter":{"11":1,"15":1,"52":1,"64":2,"80":3,"210":1,"227":3,"245":2},"fqnsFingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}}}